I'm sending this mail CC to the openscad mailing list.
On Wed, Dec 30, 2009 at 08:20:48PM +0100, Jonas Pfeil wrote:
> I tested with example 12, which worked and then modified the STL file to
> contain a second identical mesh next to the original one. This resulted in
> a crash. The CGAL example program for 3D Nef polyhedra also crashed on me
> when I investigated CGAL a few months ago. Is it possible to use CGAL (or
> OpenSCAD) for meshes that have multiple shells/volumes (e.g. two boxes that
> do not intersect)? There probably exists a mathematical term for this ;)
yes. this is possible.
e.g. I can render the following openscad script to an stl file:
translate([ -60, 0, 0 ]) cube(100, true);
translate([ +60, 0, 0 ]) cube(100, true);
And I can use this stl file in another design without any problems:
import_stl(filename = "demo.stl");
However, when the stl file is not 100% valid you have a good chance of
crashing CGAL. An invalid STL file would of course be everything that is not a
valid 2-manifold like (1) self intersecting structures (2) structures
where a half edge does not have extacly one matching other half edge with
the same vetrices but in the other order or (3) infinite objects.
Caffeine for mind, pizza for body, sushi for soul.