Computer-aided design


When most of us think of a CAD application for designing real physical things in two and three dimensions, we think of tools that are a little like Blender but tuned for mechanical engineering. They might include dragging and dropping objects with mathematical names, such as a torus, cylinder, sphere, and cube, dropped onto a rigidly defined grid where you can then play with their layout using properties to create a more complex object. This is the way FreeCAD works, for example, but it's not the way OpenSCAD works. OpenSCAD does the same thing, only the drag-and-drop part is replaced by a simple scripting language. This sounds intimidating at first, as if OpenSCAD could be the design equivalent of Mathematica, but it's not. The language is simple, easy to learn, and powerful enough to let you easily create complex objects. It's actually better than drag and drop in many ways.

Even though the units are never specified, most 3D printers and other software take them to mean 1=1mm.

When adding each object with code, such as cylinder(r1=33,r2=33,h=2); to create a cylinder with a radius of 33 and a height of 2, you immediately see what it looks like in the 3D view. You can then group together these functions to create a combined union structure that you could then perhaps cut from a "difference" structure. When you have objects in these structures, it becomes very easy to move them with a single translate function, or copy and paste them, in ways that just aren't possible with simple point and click. This extends to making small changes when something doesn't fit, such as increasing a radius by a single value, or moving an object to the side, which is often needed when creating models you're going to print. The next step is simply saving the model and either loading it into Blender to make more bespoke edits, or slicing the model to send to your printer.

Project Website

3D printing tool

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • GameHub

    If you regularly buy games through Steam, GOG, and Humble Bundle, GameHub can help you keep them organized by bringing them all together into a single library.

  • gbrainy

    Gbrainy can help you develop your logical thinking skills with a collection of brain teasers.

  • Lutris

    If you frequently play games on Linux, you are accustomed to dealing with many different installers and configurations. Lutris can help simplify the process of setting up all your games.

  • This Month's DVD

    Light Distro Sampler This month we give you a multilingual, multidistro DVD with six light Live Linux distributions. Try one, or try them all.

  • FOSSPicks

    This month Graham dives into LMMS, Name Generator, Heaptrack, Binaural Audio Editor, Meshroom, Palapeli, and much more!

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95