This week’s selection is “Programming with OpenSCAD: A Beginner’s Guide to Coding 3D-Printable Objects” by Justin Good and Marius Kintel.
If you are familiar designing 3D objects using the more popular tools like Blender, SketchUp, Fusion 360, SOLIDWORKS and similar products, you’ll be initially confused by OpenSCAD.
OpenSCAD, unlike the other design tools, is NOT a visual “what you see is what you get” tool. Instead, OpenSCAD uses a programmatic interface.
That’s right — in OpenSCAD you will literally design a step-by-step computer program that will “draw” the desired 3D shape.
This would seem to be a rather odd way to design a 3D object, because don’t you simply want to see the object? You do want to see the object, but the ability to generate it with a programming approach does offer quite a number of very interesting advantages.
Remember that a computer program can perform operations based on logic. For example, a repeated feature could be generated with a looping program structure. Or complex mathematical calculations could be performed on an input value to generate a specific set of generated shapes. Decision logic is also possible, meaning multiple outputs could be generated depending on an input value.
In addition, OpenSCAD can be used to build online “generators” of 3D models where simple inputs are put through logic to generate a useful outcome.
This is the promise of OpenSCAD: to generate different types of 3D objects using a very different creation paradigm.
While I happen to have spend considerable time in my life programming, not everyone has done so. In fact, it’s common to encounter designers who are quite expert at building 3D models who have little to no programming skills.
That’s where this book comes in.
It provides an easy to follow, step-by-step introduction to the fundamental programming concepts required to create your own OpenSCAD program.
Learning topics include:
- Programming basics like working with variables, loops, conditional statements, and parameterized modules
- Transformation operations, such as rotate, reflect, and scale, to create complex shapes
- Extrusion techniques for turning 2D shapes into elaborate 3D designs
- Computational-thinking concepts, including decomposition, abstraction, and pattern recognition
- OpenSCAD’s Boolean, Minkowski and hull operations for combining multiple 3D shapes into one
- 3D design fundamentals, like navigating the xyz-axis, orthogonal vs. perspective views, and constructive solid geometry
- Organizing bigger designs into separate files to make code more readable and collaborative
The book is built to provide everyone at any level of proficiency a great introduction to 3D design using OpenSCAD.
If you’re considering learning OpenSCAD, this book could provide the guidance necessary to get up to speed in short order.
We’re an Amazon Associate and earn a small fee from qualifying purchases. Help support our 3D print news service by checking out this book!