Cloud208 Blog

Textual parametric 3D modeling with OpenSCAD

With recent development of 3D printers, and internet based print services like i.materialise, 3DPRINTUK or Thingverse that made it available to wide public, it was getting harder and harder for me to resit temptation to try it at least a bit. It kind of reminds me of early home computer era, when they were still a tad to weak for almost anything actually useful, yet everyone wanted one.

So, I started looking for 3D modeling tool I could use as complete novice, and pretty soon SketchUp emerged as my first pick. It provides intuitive and simple modeling approach, that is easy to use. Well, at least demonstrations and tutorials on YouTube looked so. It was also easy for me to model something random, but I have to confess I struggled more than I excepted each time I tried to model some particular object I had in my mind. But I think it was much more due to my complete inexperience with 3D modeling, than with SketchUp.

But, I have started to migrate my work environment from Windows to Linux, and SketchUp does not have native Linux version, so I have started looking for alternatives. Somehow I have stumbled on OpenSCAD, and got taken away by its interesting approach. OpenSCAD defines language that is used to describe 3D models, and OpenSCAD reads file with such description, and renders the model accordingly. One could think of OpenSCAD language as HTML for 3D models.

OpenSCAD language provides set of basic objects, and operations upon them like translation, rotation, union, intersection, difference and extrusion. By using and combining them one is able to construct arbitrarily complex models.

One aspect that I find particularly interesting is that is very easy to parameterize model and use the same code to create large number of similar but customized objects. For instance two objects in following image are created with same code, just by providing different parameters:

This opens possibility for authors to easily offer and potentially sell customized 3D models ready for print. Like dog tag with name engraved, or like in above example mold for tube holders of different dimensions and magnet configurations. Possibilities are endless, here is one collection from Thingverse.

Posted by rush at 1 January 2014, 11:22 am with tags 3Dprinting, 3Dmodeling, OpenSCAD link