Comment by WillAdams
5 hours ago
The thing is, there are already some notable projects:
- FreeCAD --- exactly what it says on the tin, and making huge improvements, so that I am quite hopeful of 26.3
- SolveSpace --- surprisingly capable/nimble/lightweight
- Dune 3D --- the new kid on the block, it is quite workable, and has quite good documentation: https://docs.dune3d.org/en/latest/simple-part.html
(and for the hardcore programmers there are OpenSCAD and derivatives such as PythonSCAD)
Wouldn't the compute from the tokens for these projects be better used improving existing projects? (there are more of these new 3D CAD tools than I can count: Cadivari, Layerling, OpenSketch, &c.)
FreeCAD and Dune3D are both OpenCascade based, so they are limited by OpenCascade's architecture (For example, OpenCascade uses per-entity tolerances, which means it is more bad geometry import tolerant, but if every face and edge has its own tolerance value in the kernel representation, then it creates a great amount of hidden tolerance drift.)
SolveSpace is still fairly limited on what it can do in terms of features such as fillet/chamfers, so it's not really suitable for pro work right now
For projects like SolidCraft, the SMLib kernel they are currently porting to Rust from Nvidia is currently about a decade behind OpenCascade, nevermind Parasolid/ACIS as they are still converting all geometry to NURBS instead of preserving analytical geometry, which means that their initial development is easier but it creates a near infinite amount of edge cases once they start going heavy into booleans and fillet/chamfers.
Can't comment on the fillet/chamfers but for boolean operations I didn't find it to be a decade behind at all https://github.com/IfcOpenShell/IfcOpenShell/pull/9958
Hmmm. Have you tested the hard case, surface/surface intersections between cylinders yet?
For your application in IFC, the architecture difference between OpenCascade and SMLib doesn't matter as much, but a geometric modeling kernel for mechanical CAD has much stricter requirements in terms of geometric correctness, which is the reason that Rhino, despite being BRep and widely used in architecture, isn't used very much in mechanical CAD at all.
3 replies →