4 ms·
Honestly openSCAD is pretty cool but you quickly run into limitations because of it's DSL. One major reason I don't like it is that it uses mesh-based modeling
by rowanG077 5y ago
Honestly openSCAD is pretty cool but you quickly run into limitations because of it's DSL. One major reason I don't like it is that it uses mesh-based modeling and not boundary representation. With the former you can never get a "perfectly" smooth sphere for example. Most CNC shops require the latter. So a few years back I moved to CadQuery[1]. CadQuery uses boundary representation and uses Python as it's host language. This essentially makes it superior in almost every way to openSCAD.
[1] https://github.com/CadQuery/cadquery https://github.com/CadQuery/cadquery
- ravenstine 5y agoOh wow, I've never heard of this and might have to check it out. I love OpenSCAD in contrast to other free CAD programs I've tried, but not being able to directly work with STEP has been a limitation.
- deleted 5y ago[deleted]
- meetups323 5y agoWorth noting that this product is able to operate on CadQuery and JSCAD in addition to OpenSCAD.
- aaaaaaaaaaab 5y agoActually, you can get a perfectly smooth sphere both with constructive solid geometry and boundary representation. Where you cannot get a perfect sphere is mesh-based modelers.
- phrz 5y agoUnfortunately CadQuery (primarily its GUI) seems like its development has fizzled out, without getting it to the point of functionality on macOS. OpenSCAD, on the other hand, works quite reliably on Mac. Also, it's clunky, but I've had success by using Python to generate OpenSCAD code. The best application of this was an SVG to OpenSCAD path converter.
- rowanG077 5y agoDoesn't https://github.com/CadQuery/CQ-editor https://github.com/CadQuery/CQ-editor work on MacOS? I don't really see how development has fizzed out. There have been quite a few commits the last couple of months.
- freeopinion 5y agoI wanted to kick the tires on CadQuery, but I had to install and understand Anaconda first. Any tool that requires me to understand a build system or a language package manager to correctly and safely build the software before I can use it is not ready for prime time. If this was important for my life, I might put in the effort. If it is for passing curiosity, I probably won't. Especially when it impacts not just this software but opens an entire universe of what exploits can now be run on my PC. When I have to set up a VM to sandbox an environment for a tool, it stretches my patience. It makes the tool extremely cumbersome.
- freeopinion 5y agoOf course, when the tool is actually a library for a particular programming language, considerations of build environment and package manager are more germane. But you still might question if it is worth it.
- dbrueck 5y agoFWIW I'm not familiar with Anaconda either and it took about 10 minutes to get it and the cadquery editor up and running. To each his own though!
- 5y ago
- dbrueck 5y agocadquery is great! I had been a Fusion 360 user for 3D printing, but then Autodesk started getting weird with hobbyist licensing. And Fusion's insistence on being cloud-based was frustrating. Anyway, I went hunting for something else and found cadquery and haven't looked back. Modelling via code in cadquery is definitely a different approach in a lot of ways, but it is extremely powerful too: you get all the goodies like parameter-based, non-destructive history but also things that might not be obvious up front, like being able to "comment out" sections of your model (not just hide them - but skip generating them) temporarily, building up reusable helper routines, easily swapping out rough prototype vs thoroughly designed parts that are depended upon downstream in the model, and being able to organize complex models into separate modules. I don't think I'd necessarily recommend this approach to modelling to a non-developer, but if you're already a developer, it is tough to beat (for 3D printing at least).
- amelius 5y agoI really would like to know how programs like CadQuery maintain a robust geometric representation given the inevitable rounding errors that will occur in floating point. For example, how can CadQuery guarantee that a surface will never self-intersect after a number of operations have been performed on it? Wikipedia has a page on it [1], but quickly skims over some techniques without much details. [1] https://en.wikipedia.org/wiki/Robust_geometric_computation https://en.wikipedia.org/wiki/Robust_geometric_computation
- deleted 5y ago[deleted]
- rowanG077 5y agoCadquery uses opencascade under the hood. I think your best bet is to open an issue and ask: https://github.com/tpaviot/oce https://github.com/tpaviot/oce