[OpenSCAD] eval( ) ???

Carsten Arnholm arnholm at arnholm.org
Thu May 14 12:58:39 EDT 2015

Hi Marius!

On 2015-05-14 16:22, Marius Kintel wrote:
> OpenSCAD aim to directly describe a 3D design hierarchy, not merely
> execute code to spit out 3D objects.

I do understand, and any language chosen would obviously have to support 
the design hierarchy. As far as I can tell, many languages should be 
able to do it. Personally, I use modules in OpenSCAD extensively, but I 
would be even happier with a class concept with both member functions 
and data members. A 3d hierarchy can be expressed also that way.

Anyway, this was just my thoughts. OpenSCAD has made decisions long ago, 
which I respect. Perhaps one could keep the OpenSCAD language limited 
and use it as an intermediate representation generated by the kind of 
object oriented language I am dreaming of :-)

> 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.

The funny thing is, I evaluated CAS.CADE (as it was known at the time) 
in about 1994-1995 for the work previously mentioned. It was marketed by 
Matra Datavision in France and I even went to see them a couple of 
times. They had what we thought was a curious idea of their own 
home-grown language (CDL) encapsulating the C++ kernel. Nowadays it 
looks like some finally agree with our thoughts at the time :

"Please note that CDL is considered as obsolete and is to be removed in 
one of future releases of OCCT."   :-)

CAS.CADE was closed source and extremely expensive back then, but we 
still struggled very hard to make use of it. The end result for us was 
that it was dropped and replaced it with ACIS. Only a few years ago, I 
discovered CAS.CADE had become quasi open source as OpenCascade (OCCT). 
I also found there is now something called OCE - Open CASCADE Community 
Edition https://github.com/tpaviot/oce/
I had the idea of trying OCE, but frankly not enough incentive and power 
to do it, and my work is different now. OCE may probably be something to 
be considered for OpenSCAD CAD kernel, I suspect OpenCascade has come a 
long way since I saw it.

Sidenote: One thing that has struck me is that the compilation in 
OpenSCAD is quite fast, but the rendering (F6) is extremely slow. I was 
wondering if the generation of triangles for STL really needs the 
graphical rendering to be completed first? If not, one could imagine a 
function to export the compiled model to STL and use an external viewer 
to speed things up when iterating on a complex design that takes forever 
to render.

Carsten Arnholm

More information about the Discuss mailing list