Programmer in a 3D printer world

How to program your 3D prints

By Jonathan Juursema (Own work) [CC BY-SA 3.0 (], via Wikimedia Commons

I recently realized that how I think about 3D printers has changed. I’ve owned a 3D printer for a couple years now and when I first acquired the printer, I did what most people do. I visited Thingiverse and found something neat to print.

Lego brick

Like many people with 3D printers, I’ve printed a bunch of these things. But, these are all things others have designed.

Now I’m actually using the 3D printer to help me solve problems I have. For example, I have a Roomba that gets stuck on my drying rack legs. To solve this problem, I modeled and printed little stilts to lift the rack up so the Roomba would go around.

Another problem, I have a coffee maker basket that doesn’t sit flat on my scale. To fix this, I created and printed a collar for the coffee basket to sit on.

What does all this have to do with programming? I modeled these prints using OpenSCAD . Which means I programmed my 3D prints.

Here is the drying rack stilt:

difference() {
  // create a partial pyramid shape
  rotate(45) cylinder(40,40,18,$fn=4);

  // remove a cylinder from the top
  translate([-20,0,40]) rotate([0,90,0]) cylinder(40,10.5,10.5, $fn=200);

  // remove a wider but shorter cylinder from the top
  translate([-10.5,0,38]) rotate([0,90,0]) cylinder(21,12,12, $fn=200);

Here is the coffee basket collar:

difference() {
  // create a large cylinder
  cylinder(30, r=59/2, $fn=360);

  // remove a slightly smaller cylinder from the middle
  translate([0,0,-1]) cylinder(32, r=55/2, $fn=360);

OpenSCAD cheat sheet

While these are pretty simple examples, you can do some amazing things. For instance, OpenSCAD is what powers the customizable things on Thingiverse. Things like these configurable wall plates, these gears, or this crazy digital sundial.

Now there is one more thing you can solve with programming.

Photo of David Genord II

David has been building websites since 8th grade. After working to integrate third-party automotive data with internal systems, he now brings his vast and wide knowledge to Collective Idea.