As part of the RoadTest of the CEL Robox 3D Printer I proposed to look at printing some gears. This will check both the printers ability to print detailed shapes and also if there is any warping.
The geometry of gears is quite complex so I thought I’d check the Thingiverse library for examples I could use. Several of the examples I found used OpenSCAD rather than just STL files so I thought I’d investigate further.
OpenSCAD is a 3D CAD tool that is script driven rather than interactive. This means that you have to type commands to generate the end result that you require. Although this might initially appear to require more effort to create something it does seem to be advantageous when you want to make changes. In fact a lot of top end CAD tools have a log of instructions that can be used in this way.
The language does have some built in 2D and 3D primitives such as the circle and sphere along with a range of mathematical functions that can perform complex actions such as fillets and matrix manipulation. Programming constructs such as loops, variables and conditions make repeating structures easy to create.
There are also modules that allow you to create parameterised parts for reuse. These can be simple such as a countersunk or counter bored hole, or more complex such as in the gear generators.
Before getting into the gears I had a couple of practice projects.
For my first project I made a medal based on an old logo from the 1990s. I initially had difficulty with text, resorting to importing dxf files from an engraving package. However, Yann Lossouarn pointed out that this feature was added last year and if I downloaded the latest build I could use the text() function with any fonts available on my system. I did that and it worked well.
My second project was a LED housing to fit around a magnifying glass. This is basically a ring with lots of holes in it. I did consider trying to include a diffuser for the light but my white PLA is very opaque even in small thicknesses so without buying a different material a simpler design is probably better. To hold the magnifier in place I am using thin fins that will hopefully deform slightly to give a tight grip. A bolt hole allows me to attach this to am existing “helping hands” heavy base. The back is channeled to hold the wiring.
My “code” for these two is up on github.
OpenSCAD is a versatile solution and I would recommend it as a good way to create CAD models for 3D printing or other tasks. There are plenty of examples and I found it easy to get creating models. My one downside is that the documentation is a bit confusing.