MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now

Command-Line OpenSCAD - Utlilizing Geometry Caching?

Please Login to Comment

To generate 5 STL renderings for each of 60 customization options, I'm currently following this guide:


It works as advertised, which is great. However, in contrast to the OpenSCAD IDE, it doesn't utilize caching, which makes it much slower.

  • In the IDE, the first render might take 5 minutes, and the four subsequent renders of the individual components will each take half a minute only.
  • In the command-line version, each render takes 5 minutes.

Is there a way to get the command-line OpenSCAD to utilitze geometry caching like the IDE does? That would be a great help! :-)

The thing I'm trying to render is my Improved Auto Coin Sorter:


Improved Auto Coin Sorter V7.5 - Coin Roll + Classic Version

I've been using booleans to turn parts of the design on and off for generating the stl.

Thanks, that's similar to what I'm doing ... I pass the number of the desired part to OpenSCAD, which then only renders that specific part.

This is not something openscad is capable of. You should get the benefit of caching if you rendered all the parts at once instead of running openscad four separate times, but you'd need to separate the parts yourself.

Thanks, that's what I feared.

I believe not everyone on Thingiverse knows how to separate the parts from a single STL, so I like to offer them as separate files to make my design easy to use.

Admittedly, in a highly customizable design, that results in a ton of files! :-/

Blender is quite handy for things like this.

I've been reading a thread on an OpenSCAD forum where a member named "nop head" is talking about rendering times. The gist of it is that 2D operations are 'cheap', time wise, and he builds things using that and linear extrude. Then he uses union() to assemble the part from these, because union() is esentially "free". I'm not sure I understand it all (the folks on the forum are well beyond me in terms of understanding OpenSCAD and the math involved). Here's a link to the thread. It might have some relevance to your question, but better still, the forum is a great place to ask it.


Worth reading!

Really interesting.

By default it is show the messages in threaded mode... which involved a lot of clicking to read the whole thing. Try this link ( or click Classic)


Thanks for the link, there really a lot of interesting stuff being discussed on that forum!

The tips on favouring 2D over 3D are quite sensible as well, though there are limits to their application, especially when you have a complex object with interacting modules, along with features that weren't originally part of the design.