3 ms·
This is really cool but it looks like the constraint solver [1] is not much more complex than the one shown in this web page. I really want a program-driven fun
by blt 8y ago
This is really cool but it looks like the constraint solver [1] is not much more complex than the one shown in this web page. I really want a program-driven functional CAD tool like libfive or OpenSCAD, but with powerful 3d constraint solving like, e.g. Solidworks can provide.
[1] https://github.com/libfive/libfive/blob/master/libfive/include/libfive/solve/solver.hpp https://github.com/libfive/libfive/blob/master/libfive/inclu...
- pwnna 8y agoI've always wanted this as well but I haven't gotten the time to actually look into writing this. This would solve a lot of complaints I have and have heard about traditional CAD software, as they tend to constrain you with their very complex GUI.
- blt 8y agoIt might not be that difficult to implement a high level DSL around one of the geometric modeling kernels like Parasolid, ACIS, etc. that form the computational core of GUI CAD programs. But I don't know if any equally powerful CAD kernels exist in the open source world.
- sjm-yc-acct 8y agoFreeCAD uses Open CASCADE, which is is a free software (LGPL) CAD kernel. Open CASCADE has a comprehensive modeling API which uses B-rep. For scripting, FreeCAD has a Python interface. CadQuery is another Python tool (DSL) which is a plug-in for FreeCAD. FreeCAD itself already has some constraint functionality. Libfive is layered and can be used without Studio to generate models with its extensible Guile Scheme binding. It uses F-rep modeling. Correct me if I'm wrong, but it should be possible today to add a programmatic (non-GUI) constraint solver to either FreeCAD or Libfive.
- blt 8y agoYou are probably right. I realize my previous post sounded pessimistic but I was only trying to state my ignorance :)