Cadova: Swift DSL for parametric 3D modeling

92 points35 comments7 days ago
bschwindHN

Nice! I love code-based CAD. Eventually I want to build a tool which uses a hybrid approach: a GUI for things that are hard/tedious to express in code like complicated 2D sketches, with code as the "persistence" layer so at the end you still just have code to maintain, no binary files or piles of XML.

One of the hard parts though will be synchronizing changes between UI and code. I suppose it could start as a unidirectional flow from UI to code... if you were to generate a sketch with something like a loop, it would be hard to recover that code structure from just a bunch of resulting points and line segments.

But anyway, I'm happy to see more code-based CAD approaches pop up. I think there's still a lot to explore in this space.

show comments
fainpul

I'd like to see the code for this more complex object: https://github.com/tomasf/Cadova/wiki

show comments
willtemperley

This project uses some very interesting Swift techniques. Is this the new C++ interop? Looks very clean.

ur-whale

Regarding the geometry engine, the README says:

Cadova uses Manifold-Swift, Apus and ThreeMF.

First I hear of those. Curious to see how those compare to things like OpenCascade.

show comments
snitty

I find this much more readable than KCL[0], but I also understand the ultimate goals of the two are probably a bit different.

[0]: https://zoo.dev/docs/kcl-samples/pillow-block-bearing

Mars008

Looks similar to OpenSCAD:

https://en.wikipedia.org/wiki/OpenSCAD

show comments