CAD in Julia?

If you are familiar with programmatic CAD like OpenSCAD and ImplicitCAD, I am working on something similar in Julia called Descartes: https://github.com/sjkelly/Descartes.jl. The project is very alpha, and I am focused on the general meshing infrastructure now (Meshing, DistMesh).

The idea for Descartes is to integrate meshing+FEA into the programmatic design process so you can do parametric studies and topology optimization, or just setup a solid model or boundary and get an optimal mesh in return. There are several benefits of a signed distance function, since we can optimize the mesh quality and even do mesh-free analysis. I’ve used Descartes to design and 3D print several models.

As for 3D Printer Gcode, this something Julia is great for. Especially more so with the recent multithreading work. We used Julia at Voxel8 to implement a full path planner, but most of that work was not open. It is perfect for experimenting with different geometric techniques for 3D printing really fast. I think the initial development cycle in Julia was about 3 months from zero to multi-material printing.

21 Likes