This looks super exciting, particularly the idea of building a new Open-source B-Rep CAD Kernel. In fact that's (for me) by far the most exciting part! Open cascade is dated, somewhat difficult to work with and nowhere near as capable as commercial Kernels such as Parasolid.<p>Its going to be a mammoth undertaking to build a new kernel, the existing ones have taken tens of thousands of man years to get to where they are now. I do believe it's possible to start afresh though, by carefully selecting features to support and getting an MVP running it would then be possible to build something very impressive. Starting with a code first cad tool is a good idea, it purposely keeps things simple, and expectations lower.<p>I do believe there is a commercial market for this to - a cheaper and easer to use kernal to build cad products on would be very welcome, I could see the potatial for commercial investment in a open source kernal. I have a Mechanical/Industrial Design background as well as Software and often get tempted to try and build various CAD tool ideas I have, having a good modern foundation to build upon would be brilliant.
Ahh, it is b-rep and intended to be language-agnostic?<p>Very cool.<p>OpenSCAD is fun but I am kind of reluctant to get too far into it when there's really only at best a difficult journey to STEP support (via the OpenSCAD workbench in FreeCAD).<p>And as for other CSG languages, Nick Lockwood's ShapeScript is fun:<p><a href="https://github.com/nicklockwood/ShapeScript" rel="nofollow">https://github.com/nicklockwood/ShapeScript</a><p><a href="https://apps.apple.com/app/shapescript/id1441135869" rel="nofollow">https://apps.apple.com/app/shapescript/id1441135869</a><p>But a path to producing STEP seems essential to me, to move beyond 3D printers.<p>CadQuery (especially v2) is fascinating and there's even a FreeCAD workbench for v2 now. Cascade Studio is very interesting indeed.<p>But I will be following this with interest. Not least because it might prod me into playing with Rust.
I have been working on a .net wrapper for opencascade (<a href="https://github.com/veggielane/EngrCAD" rel="nofollow">https://github.com/veggielane/EngrCAD</a>) but opencascade interop from .net is a pain. I also fell in and out of love with SDF, as most CAM tools need BREP.<p>I agree with people in this thread, the world needs more CAD kernels. I also think that we need a language agnostic markup language to represent the BREP.
Good luck! CAD modelling is difficult even as a user, creating software that does it well must be significantly more so. I can sympathize with the OP regarding OpenSCAD. Beyond some of its technical limitations, it's missing some absolutely critical base features. One of the most egregious ones, in my opinion, is the lack of a simple builtin measuring tool[1]. There are threads going back to 2013 asking for this feature, with no plans to implement that I can tell.<p>1: <a href="https://github.com/openscad/openscad/issues/1768" rel="nofollow">https://github.com/openscad/openscad/issues/1768</a>
```
let outer = args
.get("outer")
.unwrap_or(&"1.0".to_owned())
.parse()
.unwrap();
```<p>Is this the syntax you want users to write? I...don't find it very readable.
I think 3D modelling lends itself exceptionally well to the functional programming style. Rusts syntax is heavily influenced to solve a breadth of system level problems that don't exist in the "application" space this is solving.<p>I would argue such a system would be best implemented in a language that only has expressions. For example Elm has a wonderful geometry library [1].<p>[1] <a href="https://package.elm-lang.org/packages/ianmackenzie/elm-geometry/latest/" rel="nofollow">https://package.elm-lang.org/packages/ianmackenzie/elm-geome...</a>