Slight aside, does anyone know of a more modern open source parametric CAD kernel than OpenCascade (which this is built on)?
When I have looked into it before it seems to be criticised for being somewhat dated and not have the power and developer ease as Parasolid (which costs big bucks). Having both a software and mechanical engineering background (I spent a lot of time in SolidWorks) I regularly get the itch to try and combine the two and create a CAD tool.
I've never tried BRL-CAD but it looks really big and complex. The only other one I'm aware of is Solvespace:
https://solvespace.com/index.pl
It uses it's own B-Rep for NURBS and can export STEP files. The basics are there for extrudes, revolves and helixes. Booleans are still a bit buggy, but we occasionally fix a bug or two.
It's definitely the smallest NURBS kernel around at about 8000 LoC and the full program comming in at ~5MB. There is no real API for geometry though, just the constraint solver.
"[there are] ASIC and Parasolid, others are not really as good"
and "[CAD] Research disconnected from reality [compared to CG research]"
One might expect a whole range of CAD kernels floating around, since these kernels are such a fundamental part of civilization in some way. Doesn't seem to be the case, tho..
That confirms the impression I had, I guess they are just so complex that building a new open source one from scratch would be Herculean effort. Guess OCCT is the only option for now.
The itch I would love to scratch is an online real-time collaborative parametric cad app using CRDTs. Current thinking is combining OpenCascade compiled to WASM [0] with Yjs[1], but frankly don’t have the time.
A kind of Figma but for 3D cad. (There is obviously onShape but I’m thinking something a little simpler)
Agree it's a big effort, so approaching as open as we can to attract cooperation. We also have a new company that has taken seed funding. I'm a systems engineer/data scientist, working with architects and 3d folks who know the state of the art well.
The architecture will tend towards platform + apps, to help address the scale problem. We're looking to partner/port the geometry kernel and focus on workflow and integration with open standards (IFC,STEP,gltf,Collada).
Initial UI is in react+three.js (soon react-three-fiber) with git for file-based versioning underneath. Also interested in recent discussions on HN about CRDTs on Matrix for collaboration. So kind of a CRDT real-time google docs capability on top of a persistent file based rep on git. This part is very fun coding :)
Just getting started! Appreciate any feedback, esp on our github/discord :)
that sounds very exciting! I also think that a physics / game engine environment would make CAD a lot more accessible. Right now, these two world are very distinct from each other..
When I have looked into it before it seems to be criticised for being somewhat dated and not have the power and developer ease as Parasolid (which costs big bucks). Having both a software and mechanical engineering background (I spent a lot of time in SolidWorks) I regularly get the itch to try and combine the two and create a CAD tool.