4 ms·
The advantage of OpenSCAD and CadQuery is that history is in your undo buffer or source control, not some impossible-to-consistently-manipulate stack. All "fea
by 15155 2y ago
The advantage of OpenSCAD and CadQuery is that history is in your undo buffer or source control, not some impossible-to-consistently-manipulate stack.
All "features" (in the physical sense) are exposed to you - no hiding, no magically forgetting a single fillet somewhere.
Oneshot rendering is a huge advantage.
- tombert 2y agoJust to play devil's advocate to my own point, there's really no reason you couldn't do source control for regular CAD programs is there? I know Git doesn't play super well with binaries from a space efficiency perspective, but it does work, and you could use something like Mercurial which does play ok with binaries I believe.
- 15155 2y agoYou could, KiCad does this (uses a text-based LISP-like format): it's not at all human-creatable and results in huge output. The difference is that OpenSCAD/CadQuery are dense logic formats (code) rather than just serialization formats. Large amounts of human intent are encoded in the order of evaluation, function calls, etc.
- throw46365 2y agoMm. It strikes me that it might be more difficult to visualise changes. e.g. in FreeCAD land: FreeCAD uses a "zip-and-manifest" file format so there are ways to unpack that and manage it in git, but one of the challenges is getting useful human-readable diffs. One offering is WebTools Git: https://wiki.freecad.org/WebTools_Git https://wiki.freecad.org/WebTools_Git This versions the binary file but there are useful tips about using a FreeCAD utility to get a text diff using fcinfo. On unpacking and re-packing the FCStd zip file: https://blog.lambda.cx/posts/freecad-and-git/ https://blog.lambda.cx/posts/freecad-and-git/ Not sure what Ondsel is doing for its online engineering suite, which does have version history.
- WillAdams 2y agoFor those features which match up positionally with parameters --- often I have to brush up on my trigonometry to work out a calculation which will provide the position of features which do not.
- throw46365 2y agoRight -- my trig is weak. Joan Horvath's "Make: Trigonometry", which teaches with OpenSCAD, is on my reading list [0] bRep environments liberate you from trig to some extent because you can build on arbitrary faces and edges, so you'd get some of those parametric, auto-updating benefits with Build123D or CadQuery. FreeCAD's sketcher tool means I've only resorted to trig a few times. [0] https://www.makershed.com/products/make-trigonometry-print https://www.makershed.com/products/make-trigonometry-print
- WillAdams 2y agoI have that and the other two books in the series in my list: https://www.goodreads.com/review/list/21394355-william-adams?ref=nav_mybooks&shelf=cnc https://www.goodreads.com/review/list/21394355-william-adams...
- throw46365 2y agoYes -- me too! Such a neat idea.
- throw46365 2y agoIt's definitely flatter. But I feel that the modelling techniques you need for successfully using these tools are no less rigorous than the design techniques you need to make 3D CAD work. They are just different. I grappled with this idea of the stack/tree hiding complexity in FreeCAD but I've come to understand that once you get more confident thinking about design, it is more or less obvious where a given driving constraint should be derived from. FreeCAD's expressions are no more complex than CadQuery paths, and they are certainly more expressive than OpenSCAD variables. I would never diss the sheer coder-accessibility of OpenSCAD, which helped change my brain for the better, but GUI CAD models real-world thinking in often a very accessible way.
- SAI_Peregrinus 2y agoWhat do you mean by a stack? Fusion360 for example doesn't use a stack, you can insert & delete operations in your history, not just push & pop off the end.