First Look at OpenSCAD


“Disco sphere” made with 1 line of OpenSCAD code

After my review of Meshcam, it was suggested that OpenSCAD (available on various OS versions, or here’s the Ubuntu install instructions) could be used to turn 2D DXF files into solid parts for cutting on my CNC router.  After trying it out, this solid modelling package is really like nothing I’ve ever seen.  Instead of the mouse-driven interface that you see on ProE or Solidworks, you instead have a text editor where you can enter commands that are used to form a solid part.

Oddly, it felt very intuitive to me to use it, and the fact that you can copy-and-paste text into a drawing makes an example extremely easy to follow along with. With professional 3D CAD packages, you may have to poke through 5 menus to get what you need, in OpenSCAD you just type the needed command in.

AutoCAD (or Draftsight – my review) has a text interface that can optionally be used, but it’s interesting to think about what would have happened if other professional CAD packages evolved this way.  My feeling is that it might have made things harder to use initially, but once the interface is learned it would have been incredibly fast.  Fixing a poorly-programmed design or initially visualizing what you wanted might be harder, however.

Hypothetical thoughts aside, OpenSCAD is really a lot of fun to play with.  To draw a sphere, for example, all you have to do is type in “sphere(30);” and press F5.  A 3D sphere pops up on your screen.  As shown in the video after the “read more” thing, you can modify the number of sides drawn to change the shape.  Apparently this is useful for drawing socket head screws and the like, since a circle can be represented by six sides.

As for what I actually intended to use this for, making 2D DXFs into 3D models, I’ve had mixed results. Info on this command can be found in its manual here, but I used these commands to generate what you see here:


Extruded with OpenSCAD

linear_extrude(file = “/ENTER PATH HERE/FILENAME.dxf”, layer = “0”, height = .5, center = true, convexity = 5);

OpenSCAD is extruding things one layer at a time, so I guess you could draw what you wanted for “2.5D” milling using just this if you were careful. On the other hand, I haven’t fully explored the cut=true modifier, so possibly this would allow you to extrude a DXF as a cut from the top. As in what happens when using my router.

Extrusion issues aside, if you want to get started, or just preview what it is, Jestin Stoffel has some good instructional videos on this package via his youtube page.  Here’s a good introductory video from him:

If I was more ambitious, I would make my own video, but no need to reinvent the wheel. For further reading, this manual section on the 2D subsystem seems quote useful, and here’s another text-based “intermediate” tutorial that seems pretty useful.

In conclusion, I think this is a really fun tool to use to experiment with. On the other hand, this would add an extra step to your toolpath if used for machining. It’s fun to play with, but I don’t know if I’ll be doing any real “work” with it in the future. CAM programs can take care of most of what I intended it for, and I personally doubt I’ll ever get comfortable enough with it to make assemblies.

Comments are closed.