I've never used any 3D designing program other than SketchUp.
I've never used any 3D designing program other than SketchUp.
* If you're a programmer, the learning curve of OpenSCAD is almost non-existent. Assuming you're familiar with 3D modelling concepts, it should take an hour or two to go through and play with the entire feature set of OpenSCAD [1] (which I did).
* It's simple and the defaults are sensible.
* Your model is basically a line based source file which can be put under git and improved through pull requests, etc.
* Your model is easily made parametric. Last model I made was a tripod mount where I could simply change the angle of the legs or wall thickness and everything would adopt.
* OpenSCAD can be used as an 2D vector modeler as well. For me, it's replaced Inkscape 90% of the time.
There are however things that are not as easily doable with OpenSCAD. One feature lacking is constraint solver so you have to do some back of the napkin trig for such things. I've also found it non-trivial to simply "chamfer" an edge, like I could in FreeCAD.
The prog is fast, fully portable (as in "can run from usb drive") and tiny (~2MB iirc). Also has a wealth of export options including g-code for cnc, though prolly pretty rudimentary for 2d routing.
There is a good active fork of Solvespace on Github [2]
The first may have been just my wimpy computer but as I approached what I wanted the whole process got slower and slower. Some of that could be combatted by adding tunable resolution parameters to keep the number of polygons down. It should be pointed out that OpenSCAD doesn't really do curves. Everything is polygons which at least in the roughing you design out phase are rather visible.
The second issue I ran into is that some of the way things are done makes it harder to work than you would like. Complex data structures aren't really a thing. If I remember rightly there are arrays but nothing more complex. You can't iterate over the points in a shape. There doesn't appear to be a way to extract dimension data from a shape. CSG is nice but sometimes you want more.
These may not have been that much of an issue if I were doing something different. Trying to wrap a 3D model around another non-uniformly curved 3D model just isn't really what the tool was designed for. And to be fair, I couldn't get AutoDesk's free tools to do what I wanted either. That is probably due partially to a lack of experience in the area and probably pushing the tools to do things they just didn't have in mind.
Examples of when you'd use OpenSCAD:
* Computational art (e.g. convert a photo into some 3D model, print a sound wave, etc.)
* Gears, sprockets, etc.
* Fasteners (nuts, bolts, screws, etc.)
Examples of things you would be insane to use OpenSCAD for, and should definitely use something like SolidWorks:
* Motorbike
* Cordless drill
* CNC machine
* Well pretty much everything except the stuff I listed above
For many purposes, such as the author sharing his designs with random viewers, that makes it a non-starter.
It does have significant drawbacks... but if you're just getting into CNC stuff, it has fairly decent CAM functionality in built, making it a reasonable intro thing. :)
I really enjoy cubify design which is a cheap alternative to solidworks. I have designed a ton of stuff with it.
They both have their virtues. I use both for designing my 3d models depending on what I need. I think being experienced in both will make you better on each piece of software.