Algorithms and syntax to define CSG objects in Julia.
This module is currently a work in progress, roughly at the “proof of concept” stage. The following work at least in some cases:
- an easy-to-use syntax for defining solids and CSG operations;
- meshing of most 2d and 3d operations;
- output as an OpenSCAD file.
It is possible to use this module to define basic 3d models:
s1 = sphere(20) s2 = cube(20) mesh(s1 ∪ s2) mesh(s1 ∩ s2) mesh(s1 \ s2) mesh(hull(s1, s2))
(although the meshes were computed by the Julia module, OpenSCAD was used for rendering the image. This will change in a future release.)
It is also possible to export a model as a
.svg (for 2d shapes)
.stl (for 3d volumes) file.
The roadmap now includes at least the following:
- built-in visualization of models;
.stlfile import, and I/O to more formats;
- add more convenience constructors (e.g. for transforms);
- implement missing operators: 3d Minkowski sum; 2d/3d Minkowski;
- add an annotation system to ease the design of complex models;
- add an anchor system.
Any contributions are welcome!