| ▲ | CyLith 2 hours ago | |||||||
I love OpenSCAD and code-based CAD, but even I must admit it's really only good for simple things and is more of a toy than a tool to solve real world problems. The main issue is fundamental, which is that CSG operations change topology in unpredictable ways, and there is no reliable way to refer to the components of the result. This is already bad for a few operations, but becomes exponentially problematic for more complicated models. Even in 2D, suppose I want to make a C-shaped thing out of a box and subtracting a different box out of it. You don't know how many edges the result will have, or even how many connected components the result will have, so how do you go on to perform the next step "on that one part that I want" if it even exists? Of course for a single concrete instantiation this is not really a problem, but the whole point is to have the shape tunable based on parameters, and once you allow that all hell breaks loose. | ||||||||
| ▲ | WillAdams an hour ago | parent | next [-] | |||||||
The great thing about OpenSCAD is that it makes it easy to model objects which may be represented by positioning/stretching/adding/subtracting cubes, spheres, cylinders, and cones using mathematics. The awful thing about OpenSCAD is what one can model in it is directly limited to ones fluency and facility with using math to position, stretch, add, and subtract cubes, spheres, cylineders, and cones. There is an entire book series on using it didactically: - Geometry: https://www.goodreads.com/book/show/58059196-make - Trigonometry: https://www.goodreads.com/book/show/123127774-make - Calculus: https://www.goodreads.com/book/show/61739368-make and there is a new book on Physics: https://www.makershed.com/products/make-physics | ||||||||
| ▲ | tonyarkles an hour ago | parent | prev [-] | |||||||
Yeah, I oscillate a ton between code-based CAD (OpenSCAD, Build123d) and Fusion 360 and they require very different ways of thinking about things, with different things being easier/harder with each approach. I hesitate a bit to call code-based CAD "a toy", but there are a lot of times where what I think I actually want is some kind of, sorry for the phrasing here, fusion of Fusion 360 and OpenSCAD. The Fusion timeline is pretty phenomenal and having the ability to do something like code steps and manual "click on all of the edges you want to put a fillet on" steps interwoven seems like it has a lot of potential for my "ultimate CAD workflow". The timeline part is kind of the magic that unlocks the whole thing: - update a parameter or a piece of code, triggering a recompute - see that the fillet operation is now missing an edge - rewind the timeline, tweak the fillet edge set - fast-forward the timeline to let the rest of the code blocks re-execute Things like MakerWorld let you upload parametric OpenSCAD files and that's cool and all, but for my own uses I don't care if I need to use the "insert a manual step in the timeline" feature occasionally. OpenSCAD on its own doesn't have that and the idea of trying to do "operations as code" in Fusion (there is a scripting interface) is not super appealing as-is. Being able to use hand-created objects as function inputs seems pretty powerful too. As an example, instead of needing to manually specify all of the points to make a polygon that I'm going to do a bunch of OpenSCAD extrudes with, just referencing a sketch earlier in the timeline. My current OpenSCAD "hack" for that is to draw those in FreeCAD as DXFs and then import them, but it's not a smooth workflow at all. | ||||||||
| ||||||||