14 ms·
Just started using OpenSCAD recently and love it. While most CAD tools have a million features to learn, OpenSCAD is completely described by a cheat sheet you c
by charlie-83 10mo ago
Just started using OpenSCAD recently and love it. While most CAD tools have a million features to learn, OpenSCAD is completely described by a cheat sheet you could print on a piece of A4 (like most programming languages).
I would really recommend using the git master than the latest release though. The last release was 2021 but they are still actively working on it and it's much faster now.
I also have to recommend the BOSL2 library which means you don't have to implement all of those one million features from typical CAD software yourself. Its definitely got a bit of a learning curve but the fact that you can always default back to vanilla OpenSCAD and that you can actually see how stuff is implemented makes it much more satisfying to me to learn than learning what all the traditional CAD GUI buttons do.
- porkloin 10mo agoCommenting off of you since I wrote all of this and then realized it's basically exactly what you're saying. But to +1 everything you just said in my own words: I love OpenSCAD. I've been 3D printing for a while, but I never really got to a place where I could design interesting parts until I started to get the precision of doing models in code. Sometimes it is slower, for sure. Every time I've used as a CAD GUI program I would get to this point where I would need to alter a single dimension by 0.25mm and realize that _all_ of my fastener holes, cutouts, etc have to be nudged with the keyboard or mouse to accommodate it. The input devices lack precision for that kind of task, and having to repeat the operation dozens of times (or bulk select) gave me a terrible sinking feeling, and I'd often just step away and give up on the design at that point out of frustration. I try to approach everything in OpensSCAD in a way that means I never have to experience that feeling again. I will also say that doing everything from scratch in OpenSCAD would be it's own special kind of hell. Libraries like [BOSL2](https://github.com/BelfrySCAD/BOSL2 https://github.com/BelfrySCAD/BOSL2) provide a good set of core ideas and preferences that help set you on a good path. A good example: BOSL2 shapes tend to have a "center origin" by default, which is different than the OpenSCAD default, but makes doing transforms later way easier. Anyway, happy to see OpenSCAD getting some attention here :)
- s5300 10mo ago[dead]
- 0_____0 10mo agoA properly parameterized model shouldn't have the issue with having to nudge everything manually after a trivial change. I had the change the height of an entire enclosure to accommodate a taller than anticipated PCB, and simply edited the sketch at the top of my design tree that defined the overall dimensions. It took about 5 minutes to adjust the odd broken fillet and change some mates in assembly and it was done. No fidgety mouse movements. I actually do a lot of mech design on a laptop with a trackpad, arrow keys for view changes and numeric dimensioning for 95% of everything else.
- Arodex 10mo ago>Every time I've used as a CAD GUI program I would get to this point where I would need to alter a single dimension by 0.25mm and realize that _all_ of my fastener holes, cutouts, etc have to be nudged with the keyboard or mouse to accommodate it. What. This makes no sense. This isn't PowerPoint; your holes and cutouts are supposed to be parameterized. How are they even supposed to be at the proper position in the first place? As a CAD user, this is like e.g. a coder seeing someone write code with global variables everywhere.
- tonyarkles 10mo agoYou would not believe how many CAD models are not parameterized. Not mine, but ones I’ve had to work with.
- porkloin 10mo agoI think I'm realizing that openscad was probably just the first time that parametric design options were given to me in a context where it made sense to me (in code). Maybe some of the software I've used has supported parametric positioning, but it wasn't made obvious to me. In OpenSCAD it's parametric by necessity. I said this in another comment, but the other programs I've worked with in GUI are most certainly not high end pieces of software: tinkercad, freecad, sketchup. I'm not doing complex character model designs, I'm usually building functional prints like enclosures or cases. It certainly sounds like there are features of better CAD software that makes parametric the default?
- moebrowne 10mo ago> I would really recommend using the git master than the latest release though. This. The master version is so much further ahead of the last tagged version. The render time can be orders of magnitude faster for more complex models.
- jasongill 10mo agoIt appears that regularly-updated builds are available here: https://openscad.org/downloads.html#snapshots https://openscad.org/downloads.html#snapshots or with Homebrew you can do `brew install --cask openscad@snapshot` to install the latest snapshot version. Or, browse all the snapshot builds here: https://files.openscad.org/snapshots/ https://files.openscad.org/snapshots/ (as of this comment, the last snapshot build is from yesterday)
- cm2187 10mo agoAgree but you quickly run into its limitations. Like if you 3d print something, you need to eliminate when possible sharp edges. That's not fun to do with OpenSCAD.
- m4rtink 10mo agoBOSL2 can help with that: https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad https://github.com/BelfrySCAD/BOSL2/wiki/Tutorial-Rounding_the_Cube https://github.com/BelfrySCAD/BOSL2/wiki/Tutorial-Rounding_t...
- m4rtink 10mo agoBOSL2 is SO nice and powerful, can also highly recommend it! :)
- exasperaited 10mo agoOpenSCAD isn't a CAD tool, IMO. It does nothing at all to aid your design. It barely even helps describe it in any abstract way. It is a useful tool for programmatically describing either very simple or heavily geometric objects. For everything else it's the wrong tool.
- voxleone 10mo agoI'd put it this way: CAD = Computer-Aided Design, i.e., software that assists in the creation, modification, analysis, or optimization of a design. OpenSCAD clearly qualifies because it creates precise 2D/3D models; supports parametric modification; enables reproducible designs; produces manufacturable geometry (STL, DXF, etc.). The fact that it is code-based does not disqualify it. By the same logic, CadQuery, SolidPython, or FeatureScript would also not be CAD - which is not a position held in engineering practice.
- exasperaited 10mo agoI am not disqualifying it because it’s code-CAD. (I think it’s a bad language design but that is a total aside) CadQuery, Build123D, Featurescript etc. all have something OpenSCAD does not have: they all have facilities to operate on generated geometry such as edges, faces and vertices. So they have generalisable operations, and they can output pure geometry representations as STEP/IGES. Featurescript presumably also allows access to sketch constraints. (Build123D is beginning to add those I think.) These are the things I think are necessary to “aid” design, because they are the things that begin to abstract away the mathematics. OpenSCAD never does. So it “aids” design little more than any pixel graphics library aids 3D software developers. And it does not, in fact, create precise 3D models! It produces mesh representations of them. So it cannot, by definition, produce a precise representation of a cylinder, sphere, cone or curve. The 3D models from OpenSCAD are not highly manufacturable at all, except with additive production techniques. STLs do not make good inputs for a CNC (nobody will tell you that is good engineering practice).
- WillAdams 10mo agoSTLs for subtractive CNC may not be good engineering practice, but it is quite workable as MeshCAM has shown: https://www.cnccookbook.com/meshcam-great-ease-of-use-in-a-3d-cam-package/ https://www.cnccookbook.com/meshcam-great-ease-of-use-in-a-3...
- gortok 10mo agoCan you link to this cheat sheet?
- WillAdams 10mo agoPresumably: https://openscad.org/cheatsheet/ https://openscad.org/cheatsheet/ Note that updating it is one of the blockers for a new release, so it doesn't include some newer features/syntax There is also: https://cubehero.com/2013/11/19/know-only-10-things-to-be-dangerous-in-openscad/ https://cubehero.com/2013/11/19/know-only-10-things-to-be-da... FWIW, when I need to rough something out in OpenSCAD, I usually use: https://www.blockscad3d.com/editor/ https://www.blockscad3d.com/editor/