Creo 7: From Design to 3D Print

The Desk Toy design project was delivered from our order. We used McMaster Caar ordered reamers to get a good fit on the pins.

For a 0.250 pin, to get a sliding, we reamed it to 0.253, but that was still a bit tight. For press fit, we reamed to 0.250. The spring was hand made from a piece of spring wire.

All in all, a successful build!

Desk Toy Ready To Go

PP0001 is our first Creo 7 based 3D assembly which is going to be built as a physical prototype. It’s been a great exercise in learning Creo, and just simple mechanical engineering. We will have the parts 3D printed via Catalyst Services out of ABS and Nylon. Several reamers have been ordered from McMaster Carr to hopefully achieve a press fit and a slip fit for the steel pins.

Here are the final renders.

Python + OpenSCAD

I’ve been interested in automating the process of designing building structures according to a set of input parameters, and having a software application determine all of the pieces necessary to meet structural engineering principals and applicable building codes.

An ideal tool for this is OpenSCAD, which is a 3D modeling program that uses code as input.

There is a nice Python library which is a wrapper around the OpenSCAD input language:

Here is a proof of concept. It’s working well so far!

Auto Resize IFRAME Cross Origin

Browser security policies prevent frames from interacting with each other if they are not from the same origin (like domain but even more specific).

However, frames can pass messages to each other.   Here is how you can implement cross-origin iframe auto-resizing based on window.postMessage.

Lets assume we have a parent page that looks like this:

    <title>Parent Page</title>
     [iframe id="frame1" src=""]

(assume [] is <> above, sorry about over protective content escaping in

To enable auto-resizing on this page, add some script to the end of the <head></head> section (or just before </body> if that is where you put them).

This listens for a “message” event and will check to see if it has an action of “resize”.  If so it will update the specified id’s height.

    if('resize') {
      document.getElementById( ='px';

On the embedded frame source, you need an onload event to send a message:

window.onload = function() { 

Note that we need to pass “frame1” which is the ID of the frame on the parent page.

Then the frames should auto-size to their content.

[M007] Paint Thinner Filter

As we clean up wood stain from brushes and equipment it contaminates the paint thinner used in the parts washer.  The good news is that most of the stain settles to the bottom.

Here is a “funnel” that we designed and had fabricated by Anything Metal in Altoona.  It will allow the solids to flow to the bottom overnight, and then we can draw them off and properly dispose of, while dramatically reducing the amount of paint thinner we need to dispose of.



2018-10-12 - 183539.png


2018-10-12 - 183552.png

[M004] Double Edge Router Assembled!

One evening of CAD.  One evening of CAM.  One evening of CNC.  And it fit together (quite well).  This is just held together with precisely located wooden dowel pins.  We will add screws tomorrow.

The only missing piece is the actual guide for running the blocks through.  That is separate so that it can be “dialed in” to the perfect cutting depth.








[M004] Double Edge Router

Working on another machine to speed up yet another tedious workshop process.  Think of it as a special router table that takes 2 routers set to 45 degree angles.  The guide (not shown) will allow precise alignment of the work piece AND cover the cutters to prevent injury.


Barrel Sander (M002) Progress

The Barrel Sander is coming along again, after a small detour to build the (M003) Auto Loading jig.  Here is the nine sides bolted inside the barrel.  They do three things:

  1. Make the barrel stronger so the wheels that it turns on have more support than just thin metal.
  2. Provide a disrupted circle which will cause the materials to actually turn instead of sliding.
  3. Protect the inside of the barrel from the sanding action.