[OpenSCAD] eval( ) ???

Marius Kintel marius at kintel.net
Thu May 14 10:22:12 EDT 2015

Hi Carsten,

OpenSCAD aim to directly describe a 3D design hierarchy, not merely execute code to spit out 3D objects. 
The reason for not choosing an existing language for OpenSCAD is simply that we haven’t found any languages which fit our requirements.
So far, the closest conceptual match I’ve found is XSLT - and virtually everyone I’ve talked to having ever used XSLT would cringe on hearing those 4 letters :/
Once you look further however, you could probably model all of OpenSCAD’s behavior using a pure functional language. The challenge is that said languages tend to be less suitable for non-programmers to both read and write. Once we redefine some of OpenSCAD’s mistakes, we could probably define OpenSCAD as a syntactical front-end to such a pure functional evaluation engine. 

Using a faster and more powerful CAD kernel is indeed on the radar. Sadly, the world of Open Source CAD kernels is severely limited. If we manage to get sufficient contributions or funding, working towards such a kernel would be doable. If you have any spare time, this would be a good place to start: https://github.com/openscad/openscad/wiki/Project%3A-Survey-of-CSG-algorithms

..or if someone has the experience to do so: Evaluate OpenCascade as an option. Most people I’ve talked to who’ve ever used that has strongly recommended me never to touch it though. ..but FreeCAD somehow manages.


More information about the Discuss mailing list