Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can anyone tell me how OpenSCAD compares to something like SolidWorks for designing objects? I'd much prefer to learn something open and programmable, but if SolidWorks is much easier to use for common cases, then I'd go with that.

I've never used any 3D designing program other than SketchUp.



I've only ever used FreeCAD and OpenSCAD. I assume SolidWorks is something like FreeCAD, an interactive 3D editor. Out of the two, I'd pick OpenSCAD any day. Here're some reasons:

* 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.

[1]: http://www.openscad.org/cheatsheet/


For Windows or WINE, open source (and parametric) Solvespace [1] is also excellent and is kind of a middle ground between OpenSCAD and Solidworks/Inventor/Pro-E/Catia etc.

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]

[1] http://solvespace.com/index.pl

[2] https://github.com/whitequark/solvespace


The fork also supports Linux


oh, nice. "portable" in every sense of the word then.


That's very interesting, thank you!


I tried using OpenSCAD to design a mug to be 3D printed as a family Christmas present recently. It seemed to me like there were missing tools. Up until now I've done my hobby "CAD" work using the Diagrams library in Haskell. It works really nice for 2D work that will get sent to a laser cutter. The 3D portion of Diagrams though is still under development. So I tried working with OpenSCAD. I think if I were doing more traditional work it would have worked out ok. There were 2 basic issues I ran into.

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.


Yeah they're not remotely comparable. For 99% of CAD stuff SolidWorks is far superior. It is only with occasional tasks that are generative or highly repetitive that you would sanely want to use OpenSCAD.

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


There's also the point that SokidWorks costs $4000 minimum! (Excluding the student license).

For many purposes, such as the author sharing his designs with random viewers, that makes it a non-starter.


An alternative commercial program (not OSS), but free for Hobbyists is Autodesk Fusion 360.

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. :)


Absolutely second this. Fusion 360 is far from perfect but it does provide some approximation to real parametric modeling. OpenSCAD lacks very basic features by comparison (e.g. you can't even make real cylinders). I forget the exact licensing terms (I'm using an edu email address), but they basically seem happy for it to be used for free for non-commercial purposes. I think the pricing is quite reasonable in any case.


Hmm, it looks like that's only free for 30 days?


It shouldn't be. It's supposed to be for 1 year, and be renewable. I've been using it on and off for a few months now, without issue, if that helps. :)


You're right, they mention somewhere you open up the trial and select "I'm a hobbyist" and it becomes free, thanks!


Yeah, I guess I should have added this to the question. I just started making hardware designs, so I want to make simple things like boxes to put my hardware in, or other sorts of enclosures. Nothing as complicated as a motorbike, just boxes with at most a few parts.


Plenty of good (considering their costs) 3d-printers designed in OpenSCAD, which are a kind of CNC machine.


OpenSCAD is completely prorgammatic. You write scripts to generate solids and manipulate them. There is no graphical editing. With something like solidworks most of your work is done visually on drawings.

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.


Just started learning 3D printing. Highly recommend https://www.tinkercad.com/ for basic playing around. It's limited, and I'll probably need to start using other things soon, but until then it's been a blast to use and learn the basics with.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: