I've worked a bit in OpenSCAD, and although I really enjoy the programming approach to generating 3D designs, it really is limited when compared to traditional CAD software. Being able to visually align an item, or use even basic commands like offset or fillet, are absent in OpenSCAD. Sure OpenSCAD has it's place, but I think that's in the area of procedural generated shapes, and it's not for 3D part or machine design.<p>For reference here are some of the items I designed using OpenSCAD:<p><a href="https://cache.getlazarus.org/images/projects/101/case-and-stand.jpg" rel="nofollow">https://cache.getlazarus.org/images/projects/101/case-and-st...</a><p><a href="https://cache.codebot.org/prints/soldering-station.jpg" rel="nofollow">https://cache.codebot.org/prints/soldering-station.jpg</a><p><a href="https://cache.getlazarus.org/images/desktop/soldering-kit-model.png" rel="nofollow">https://cache.getlazarus.org/images/desktop/soldering-kit-mo...</a><p><a href="https://cache.codebot.org/prints/power-supply.jpg" rel="nofollow">https://cache.codebot.org/prints/power-supply.jpg</a><p><a href="https://cache.getlazarus.org/images/projects/102/control-box.jpg" rel="nofollow">https://cache.getlazarus.org/images/projects/102/control-box...</a>
When I first got into 3D printing, I used OpenSCAD for my designs. The fact that objects are described with code made me feel right at home. It made it incredibly easy to make parametric designs.<p>But later, I did start to feel the limitations. Not having automatic fillet/chamfer was huge. And sometimes, I wanted the ability to measure the distance between two points selected visually to make sure all my math involving offsets was correct.<p>And as the article mentions, certain shapes end up with a lot of artifacts unless you "render" them, which can take a while. I designed a refillable catnip toy [0] and all the holes in it made the CSG subtraction take ~15 minutes, IIRC. Without rendering though, the opening on the bottom was solid, along with other glitches.<p>[0] <a href="https://www.thingiverse.com/thing:4687159" rel="nofollow">https://www.thingiverse.com/thing:4687159</a>
Just tried OpenSCAD a couple days ago. The fact that intersection and difference operations often result in z-fighting is extremely frustrating. I read that that it was standard practice to manually account for this by "cutting more than you need". Such bandaid workarounds shouldn't need to exist. It's disappointing because conceptually OpenSCAD is very promising, but fundamental issues like this combined with the overly verbose syntax are holding it back.
No one has mentioned OpenJSCAD, which is the same idea in Javascript: <a href="http://openjscad.azurewebsites.net/" rel="nofollow">http://openjscad.azurewebsites.net/</a><p><a href="https://github.com/jscad/OpenJSCAD.org/tree/V2" rel="nofollow">https://github.com/jscad/OpenJSCAD.org/tree/V2</a><p>A fairly substantial rewrite is underway, the V2 branch linked above.
I definitely would use version based cad programs with coding options but the pickings are pretty slim for industrial applications aside from the big players. Particularly programs that can be custom built to the users needs.<p>Solidworks and Catia are often seen as unbeatable for industry but there are so many issues with them, particularly when used in smaller companies or startups. Need Mac support, never. Need multi-threading support, nope never going to implement it. Update the graphics so it doesn't look so ancient and clunky, never. Fusion/autocad are good but are full of bugs and the cloud service is annoying (e.g. I continuously have to delete log files to open the program). Being picky but this stuff shouldn't be hard by now given how long CAD has been around.<p>Are there any projects using something like rust or c++ to do a build and customise style cad program with versioning? I've tried cadquery, libfive etc. and none really fit the bill.
Is there a good parametric / code based CAD that's good for (amateur) house or garden design, and which runs on linux? I've used openscad in the past for simple parts prototyping, but haven't tried it for 2d work. I always found its preview kind of awkward, so I can't see it exporting or printing particularly well.<p>I've been learning qcad recently, which is OK, but it really wants you to make extensive use of the mouse. I feel like I could probably be just as productive by typing code and seeing a 2d plot of what I specify. Way back when I used SweetHome3d, which works pretty well for interiors, but (at least when I tried it) didn't have very many tools for exteriors.
I was under the impression that CadQuery sort of obsoletes OpenSCAD. CadQuery uses an more capable geometry kernel: <a href="https://github.com/CadQuery/cadquery" rel="nofollow">https://github.com/CadQuery/cadquery</a>
<a href="http://www.implicitcad.org/" rel="nofollow">http://www.implicitcad.org/</a> is an interesting option if you're frustrated by OpenSCAD's limitations.
Do you know whether anyone using these types of tools (like OpenSCAD, CadQuery) in any serious design? By serious I mean, real, industrial use cases (think automotive, defense, aircraft, etc.). Or are these tools mainly targeting hobbyists?
I used to use gmsh for all of my CSG + meshing work when I was doing simulations. Not done so for many years now though so not sure how it fares these days.
my greatest OpenSCAD tip is to start your files with this prelude:<p><pre><code> $fa = .01;
$fs = $preview ? 5 : 1;
</code></pre>
This will make your maximum facet size 5mm in preview and 1mm in render.