
OpenSCAD: Software for creating solid 3D CAD objects - justadudeama
https://www.openscad.org
======
tjoff
It really saddens me that people are recommending fusion 360 here.

Sure, I get it. Fusion 360 is an awesome piece of software. But are people
really _that_ eager to be completely dependent on autodesk?

Do people not realize that perhaps the reason for why fusion 360 is so cheap
is because they are aiming (and on a fast track) to get complete monopoly?
Does that not bother anyone? You wouldn't even be able to stick to an older
version of the software.

Can you even version control your files? (will you in the future, without
buying the premium package?) Yes I know the cloud has your back and
everything. But you don't want the files in the same version control system
that you use for everything else? What's next, save your python files in
another cloud? It's absurd.

Can you export your files to be workable in any other software? (aside from
very expensive autodesk products)

Are you not risking loosing _everything_ you ever produced? It's like python2
-> python3 but instead of compatibility issues your code just disappears or
held hostage. How is that OK even for a hobbyist?

I'm sure I'm mistaken on some points (please correct me!), because I vomit
every time I decide I want to try it and start the download process and start
reading their pages (and I don't think I even got to the privacy policy).

The whole application is architectured to lock you in. That is the _SOLE_
purpose of it, why do we accept that?

It is dystopian, and the devil is being universally cheered upon. Have we
really lost all hope?

~~~
aequitas
I understand your sentiment and feel it every time I choose to start Fusion,
the lock-in is just plastered all over the place. I have used OpenSCAD for a
while and coming from a DevOps world I greatly value the Everything-as-code
mantra that OpenSCAD enables. But as a hobbyist 3D printer looking for the
tool to just get my idea out in an evenings work Fusion is just the
best/cheapest out there for me at the moment.

I have now adapted a mentality to not create anything I'm not willing to
loose. And if Autodesk ever decides to change their license, which they
inevitably will, I'm willing to just take that loss and find something else at
that time. Maybe by that time some open source developer has implemented
Fusions idea's in sketching/modelling (and hopefully improved on some parts).

For me the choice is just accepting Fusion for what it is now or get
sidetracked in all kinds of stuff and never finishing a hobby 3D model
anymore. OpenSCAD is nice, but for me it is to easy to lost in perfecting the
coding when trying to get the model the way I want. And other 3D modeling
tools (eg: Blender) are just not fit for engineering work like Fusion is.

~~~
tjoff
I could almost have written that myself.

What have stopped me from trying Fusion 360 for stuff I'm willing to lose is
that, while the vast majority I do for fun I could stand to loose, the idea is
that some things that I create I would rather not lose.

And then what? I go learn something entirely different just for that? If so
I've invested tons of time in CAD software and own a 3d-printer but I'm unable
to create something "real"? That's why I try to learn the alternative now, and
get the time I would otherwise have invested in fusion 360 for free.

I'm betting on a sibling to this comment - that after the initial hurdle, when
you get proficient enough the clunkyness of the alternatives are easily
overcome. I'm convinced that is the case, but the real question is whether it
is worth the time to get to that level. And that is a very hard question,
especially for something as a hobby that is dependent on it being fun and/or
rewarding.

I truly understand the fear of getting sidetracked. I battle with that every
time I open FreeCAD or attempt something in OpenSCAD.

I get why any individual would chose Fusion 360. But I'm completely
heartbroken that the community as a whole gives up so much without apparent
thought, and see people advertise it "because it is free" on a thread about an
open source alternative is sad.

And I'm not talking about freedom as in open source (but I really do value
that too). If I could buy fusion 360 for $1000 (only the modelling part of it
- without the cloud). I would have much fewer issues with it (even though I
qualify for the free version now) - that cost is easy to reason about. And
there would have been a recourse for when autodesk decide utilize its
monopoly. But that's of course also the reason that they won't offer that.

~~~
delhanty
>If I could buy fusion 360 for $1000

Why would it be that cheap? Fusion 360 is competing with SolidWorks. A
standalone license for SolidWorks probably starts at $4000.

For any comparable commercial 3D parametric mechanical CAD system just the
B-rep modeling kernel alone represents several hundred person years of
commercial development going back 30 to 40 years, and academic research going
back 50 years.

The Fusion 360 kernel is ShapeManager [0], forked from ACIS 7.0 in November
2001.

Work on ACIS [1] started in 1985 after the 3 founders (Ian Braid, Charles
Lang, Alan Grayer) left ShapeData having worked on Romulus.

Romulus [2] was released in 1978 and was based on BUILD 2.

BUILD 2 and before that BUILD were created by Ian Braid during his PhD thesis
started in 1969 and supervised by Charles Lang. [3]

Now, what about SolidWorks?

The SolidWorks kernel is Parasolid [4], dating from 1987, which was a C
dialect rewrite of Romulus, which was written in Fortran. ACIS, by the way,
was written in C++, so was one of the first commercial systems written in C++.

How do I know the above? I worked on Parasolid 1989 to 1995. We had 20+ devs
then - department head count was 40+. The still have lots of devs working 30
years later.

There's only one comparable open-source B-rep modeling kernel - Open CASCADE,
that powers FreeCAD. But quality wise, IMO comparing it with Parasolid, ACIS
or ShapeManager is a bit like comparing Lucene with Google or Bing.

CGAL that powers OpenSCAD is high quality - but it's a very different beast,
and not something you could use to power Fusion etc.

Why is B-rep modeling so much work? Here are some reasons:

* B-rep models are inherently complicated graph based data-structures with many different node types (geometry and topology). Just keeping the model consistent is a lot of work.

* Lots of surface and curve types means lots of combinations for surface X surface, surface X curve, curve X curve intersection/distance/... algorithms.

* Tolerant modeling.

* Topology case analysis from hell for blending.

* Hybrid b-rep modeling with other approaches, meshes, volumetric etc. and make it work properly.

* Feature-based history modeling layered on top of b-rep modeling means that your b-rep operations must replay EXACTLY the same, even when you upgrade the kernel.

[0]
[https://en.wikipedia.org/wiki/ShapeManager](https://en.wikipedia.org/wiki/ShapeManager)

[1] [https://en.wikipedia.org/wiki/ACIS](https://en.wikipedia.org/wiki/ACIS)

[2]
[https://en.wikipedia.org/wiki/Romulus_(b-rep_solid_modeler)](https://en.wikipedia.org/wiki/Romulus_\(b-rep_solid_modeler\))

[3] [http://solidmodeling.org/awards/bezier-award/i-braid-a-
graye...](http://solidmodeling.org/awards/bezier-award/i-braid-a-grayer-and-c-
lang/)

[4]
[https://en.wikipedia.org/wiki/Parasolid](https://en.wikipedia.org/wiki/Parasolid)

~~~
my_username_is_
>Why would it be that cheap? Fusion 360 is competing with SolidWorks.

I wouldn't really say that's true. Inventor is really Autodesk's competitor to
Solidworks. Fusion seems like it's competing more with hobbyist tools like
Sketch-Up, and maybe open source tools like FreeCAD & OpenSCAD.

~~~
delhanty
FreeCAD is nowhere close to the quality level of Fusion.

Sketch-Up and OpenSCAD are just very different from Fusion.

The closest cloud competitor is OnShape: starts at $1500 _per year_ \- only
free option is public storage.

[https://www.onshape.com/cad-pricing](https://www.onshape.com/cad-pricing)

------
donpdonp
I gotta put in a plug for SolveSpace.
[http://solvespace.com/](http://solvespace.com/) its got its quirks but it
hits a sweet spot between using a GUI and specifying dimentions numerically. I
think it might be abadoned, as it seems to need a serious update of some of
its concepts, but as long as you stay under a certain complexity level its fun
and open source.

~~~
rurban
SolveSpace is not abandoned at all, and generally the best parametric 3D
modeler. Simple, easy, elegant with most features.

~~~
phkahler
I'll agree that it's a great piece of software, but "most features" isn't
really true. You run into its limits very quickly, but then you start finding
ways to make what you want with the features it has!

------
qaute
A (non-exhaustive) list of hobbyist-accessible engineering CAD programs I can
recommend:

\- Fusion 360 (Windows/Mac) (free for hobbyists) can do complex many-component
robots or simple geometric shapes and has facilities for rendering and
simulation. I'll concur with all the other recommendations I see here.

\- OpenSCAD (Windows/Mac/Linux) (GPL) is text-based, which is nifty but really
limiting. Good for generating triangulated files of complex-but-formulaic
objects (e.g., gears/screws), but is ~10x slower to use than Fusion for most
anything else. Would definitely not attempt to use to design an assembly of
multiple parts.

\- SolidWorks (Windows) ($$) is industry-standard. IMO, slightly better
(smoother/faster/more robust) for modelling medium-to-large things than Fusion
360.

\- OnShape (clound-based) ($$ but IIRC has hard-to-find public/free tier) is
notable for working in a web browser (good for Linux users). Seems to have a
bunch of plugins, but actual CAD capability is run-of-the-mill. [EDIT: also
has a functional CAD-on-phone app. Like, wow.]

\- FreeCAD (Windows/Mac/Linux) (GPL) is the open source Fusion/SolidWorks
equivalent option. Needs a lot of work (e.g., good part assembly capabilities)
and I find it rather clunky. I wouldn't learn CAD here, but I do really want a
community-developed Linux desktop CAD program.

~~~
IshKebab
I 100% agree with your assessment, but I would definitely add SolveSpace. It's
an open source parametric modeller but unlike FreeCAD it is actually usable.
Not as fully featured as Solidworks etc. but it has all the basic stuff
working quite nicely.

Somewhat unconventional interface but it works ok. If you must use open source
it is definitely the one to use. As I recall it only has basic assembly
support though.

~~~
erickj
as someone who is just starting to look into free/open sourc CAD tools, what
about FreeCAD makes it unusable? I've just done a few of their tutorial/walk
throughs recently and can't really tell what was unusable vs. me being new to
the entire CAD modelling process.

~~~
IshKebab
I can't remember to be honest. It's been a while. At a guess I think it would
just be really unusable - everything being needlessly clunky or impossible to
discover. Case in point - you followed tutorials. With something like
Solidworks I think most people could work out how to do a lot just by
experimentation in the program.

I would definitely recommend using either SolveSpace or Fusion 360 (free for
hobbyists) if you want to learn CAD (or pirate Solidworks if you can be
bothered). After that you could try to use something like freecad and won't
get confused by it.

Same for electronics. Don't try and learn from Kicad or Eagle. They have
ridiculously awful interfaces. I would recommend Designspark PCB or pirating
Altium.

------
syntaxing
Mechanical Engineer here and I design stuff in CAD for a living. OpenSCAD is
great for the basic stuff but doesn't really scale well. It's fun to play with
and to teach people programming and CAD at the same time. If FOSS is really a
concern, FreeCAD is probably the better route.

However, like others said, Fusion 360 for hobbyist is the way to go. For
professionals, just go with Solidworks. IMHO, it works better than anything
(though I only also know and have been trained how to use Inventor, Creo, and
NX so I do not know how other software like Catia will compare). Solidworks is
way more advanced than Fusion 360 when you need to design something a bit more
complex. Don't forget, CAD modeling is only half the work. Making good
drawings is the other half and Fusion 360 drawing capabilities is pretty
crappy as of right now.

As for the FOSS debate, it's quite interesting because no one in the industry
cares about being locked in. $4000 for a license is nothing compared to
"$140/hr" rate that engineers cost a company. As long as the software works
and the engineer produces tangible results, closed source software will
continue to dominate.

~~~
saidajigumi
As a non-Mech E, but someone who needed parametric CAD for side-biz[1]
projects... the delta between FOSS offerings and paid offerings in this space
is immense. I evaluated Fusion 360 a few months back, and even that was a non-
starter for my use: I was floored that it doesn't have a feature often called
"configurations"[2], vital to my work. Solidworks would be great, but the per-
seat starting price was far too high for me right now. I went with Alibre
Design on the recommendation of an engineer acquaintance, and that's been my
personal parametric CAD sweet spot. I _adore_ OnShape's revisions to classic
CAD modeling, but it's still more than I want to pay given[1].

[1] not yet money-making, so still akin to "hobbyist" in needing to keep a
constrained budget. I absolutely agree with the parent that the per-seat costs
seem high, until you factor the costs of your skilled staff in a real work
environment.

[2] Imagine you want to model a cap screw, but have just _one_ master model
for all of the diameter/length/{fully-threaded, partially threaded}
variations. Updates to the model are then sanely propagated to every variant.
You don't have to go very far down this path before manually keeping separate
models in sync will drive you nuts. That's the problem that configurations in
CAD s/w were created to solve.

~~~
tcas
In regards to number 2. You can have variables and parameters in Fusion360 --
I use it all the time for adding a tolerance variable and stuff like wall
thickness, length, width etc...

Are configurations significantly different?

~~~
saidajigumi
Yes, let me clarify. Variables and parameters in a model, which are then
_driven by a data set_ are what configurations give you. E.g. some CAD suites
allow a CSV/spreadsheet to drive the configurable parameters. OnShape allows
for a table-per-variable, avoiding the need to manage combinatorial explosion
in the rows of your config table. Alibre Design simply adds configurations as
named entities within a model file. While not driven by external data, it
allows complete integration into the editor environment which has upsides for
my work. (I don't work with big configuration tables, so this works great for
me.)

Some suites also allow configurations to enable/disable parametric features.
At the simplest, this lets you add boolean changes to the configuration table,
like "has mounting holes?" or "is/isn't a full-thread screw" and so forth.

------
japanuspus
A great way of getting started with OpenSCAD is (blockSCAD)[1], which is a
scratch-type graphical editor (that can switch back and forth between text and
block code). While I don't usually like block code, it actually works really
well in the setting of OpenSCAD, and because of the one-to-one mapping between
blocks and written code the editor can switch back and forth between the two.

A related project is (openJSCAD)[2], which uses the same geometry logic as
openSCAD, but embed it into javascript for flow-control and related logic. I
really like this approach, since it avoids having to pick up yet another DSL.
The openJSCAD online editor also features an local-file integration that blew
my mind when I first saw it.

[1]:
[https://www.blockscad3d.com/editor/](https://www.blockscad3d.com/editor/)
[2]: [https://openjscad.org/](https://openjscad.org/)

~~~
tasn
There's also [https://github.com/tasn/scadjs](https://github.com/tasn/scadjs)
I built it because openJSCAD was (is?) pretty incomplete in comparison to
OpenSCAD. The nice thing about scadjs is that it doesn't reimplement the CAD
engine, but just uses openscad itself.

I was using it for my prints, so it works and works well, though it may be
incomplete in some areas.

------
sokoloff
For simple geometric models for 3D printers, it's hard to beat OpenSCAD for
precision and productivity.

It's not particularly good for more organic shapes, but simple mechanical
parts are a dream to make.

~~~
DEADBEEFC0FFEE
Yep, and as a intro to parametric modelling, very good. It has its quirks, but
it's solid. It's also the defacto open source format, folk use when sharing
models.

------
bibomator
I've used opendSCAD and also freecad for years (linux). Now I just ordered a
new PC for running windows and Fusion360. Am I happy with that solution? ...
not really. I would be happy to support an open source CAD project with 3-5€ a
month if I got a decent and stable SW in return. I do likewise with octoprint.
Why I'm in the process of changing? My time is limited and I feel that certain
things should be faster toolwise. Additionally it happened more then once,
that I had to scrap work of several hours because I hit a point with a
reproducible crash. (yes - I did file a bug report ... it was answered more
then a year later asking me for the buggy design ... which I could not provide
anymore)

I understand that a stable SW and continuous improvement (especially in a
complex SW package like CAD) needs a small team of full time developers. If
somebody started a related croud funding campaign with a follow up patreon
financing program ... I would be in!

~~~
erickj
can you comment more on your experience with FreeCAD? I've just started
looking into learning that myself since I run Linux for a desktop, with no
current plans to buy a windows machine just for Fusion360.

I've also been thinking recently that I'd be happy to contribute monthly to
further the development of these projects, as it is understandable that such a
complex development tool should require resources to be built well.

~~~
bibomator
Well - I started with freecad using some good tutorials which can be found on
youtube. Most times it works but in certain everyday functions I feel there
could be more smoothness (like for example if you want in a sketch a complete
parallel path in x distance) My understanding is that Fusion 360 has such
functions. Another thing which could be done better is fillet functions (to
get round corners) I think this a good example for something you use often
(rectangular corners just don't look professional) but often don't work out as
expected. Lately I use openscad for my stuff but getting fillets with this is
a major pain...

To sum up: FreeCAD is not bad - there are some good tutorials and so on and it
certainly can teach you how to construct something 3D... but save often and
save early (and best some different versions as well) On the other side I
expect a more professional handling from Fusion360 ... and of course there are
additional features like finite element simulation....

------
gnulinux
I generally like OpenSCAD but its language is not very feature rich. E.g. it
still does not support generalized extrusion, offsetting, subdivision (e.g.
Catmull-Clark subdivision), bezier curves etc which I find it hard to use for
anything more complex than a screw. They use CGAL as a dependency, so they
should be able to implement these. But it's a promising CAD for sure.

~~~
dnautics
These are doable.. you have to write them yourself, it's not terribly hard.
Being able to programmatically define a tolerance Delta was extremely useful
(for me); I was able to design an interlocking assembly and dynamically change
the tolerance to make sure they fit my material in two printings (print once,
measure dimensions, quickly adjust constant, print a second) with a trusty
pair of calipers.

~~~
sokoloff
Do you have any of that tolerance code open-sourced? (Even if not the entire
model, could you share any of the relevant portion[s]?)

~~~
dnautics
[https://github.com/ityonemo/imsocultured/blob/master/device....](https://github.com/ityonemo/imsocultured/blob/master/device.scad)

is an example.

------
ndnxhs
Its a lot less scary than it looks and I found it to be much much easier to
use than freecad. My workflow on freecad was basically just typing numbers in
to the properties panel for shapes so why not just do the same thing but as a
text file so I can see more at once.

~~~
bacon_waffle
As an occasional FreeCAD user and contributor, this confuses me. Are you
describing writing Python scripts to create your geometry from scratch, or
maybe building models out of primitive shapes and boolean operations?

My usual FreeCAD workflow involves drawing constraints-based 2D shapes in
Sketcher, then extruding/revolving them. There are some numbers typed in, but
those are mainly just key dimensions.

One of FreeCAD's bigger faults IMHO is that the right/best way to do things
isn't easily discoverable (as seems to be common in CAD), and the
documentation (like many OSS projects) is a bit hit-and-miss...

~~~
ndnxhs
When I make stuff I always have exact dimensions and positions I need to use
so almost none of what I am doing can be freely drawn with the mouse. With
openscad I can type in my exact values and be sure that nothing was
accidentally moved by mouse.

~~~
bacon_waffle
I'd say exact dimensions are the norm for FreeCAD too - the mouse isn't used
for freely drawing shapes in any workbench that I'm familiar with. With the
Sketcher workbench in particular, the constraints control the geometry; the
mouse is essentially used for selection and input of relationships between
shapes.

For example (I've only skimmed this video, there are likely better ones),
check out
[https://www.youtube.com/watch?v=rgstQi9jpGc](https://www.youtube.com/watch?v=rgstQi9jpGc)

~~~
alpaca128
They should link these videos on their website somewhere. The first time I
started FreeCAD I was completely lost(well, I'm not really a CAD expert), but
some videos on YouTube explain the basics really well.

Now I find the sketching pretty intuitive, albeit a bit clunky and slow. The
number one feature I'm missing is the program telling me WHAT degrees of
freedom are still unconstrained in a sketch.

------
iamwil
A couple years back, I wrote a beginner post on learning OpenSCAD. It seemed
to have helped people get up and running.
[https://cubehero.com/2013/11/19/know-only-10-things-to-be-
da...](https://cubehero.com/2013/11/19/know-only-10-things-to-be-dangerous-in-
openscad/)

Other than that, you can check out
[https://www.reddit.com/r/openscad](https://www.reddit.com/r/openscad), for
what other people are doing with it.

~~~
fader
Thank you for that post! I discovered it a bit over a year ago when I was
trying to make some simple shapes on a 3D printer. Your examples made it easy
and understandable, and I've pointed several other folks at your post since.

~~~
iamwil
No problem! Glad it helped.

------
ComputerGuru
I can't recommend Fusion 360 enough (it's free for non-industrial use and
cross-platform) for non-professionals looking to model 3D CAD for prototypes,
POCs, hobbyist consumption, etc.

~~~
mike_ivanov
Could you kindly show me the page on their web site saying that it is free for
non-industrial use, please? I cannot find it by myself, I can only see free
trials - but it is not what you meant, right?

~~~
CompelTechnic
Here's a bit:

[https://knowledge.autodesk.com/support/fusion-360/learn-
expl...](https://knowledge.autodesk.com/support/fusion-360/learn-
explore/caas/sfdcarticles/sfdcarticles/How-to-activate-start-up-or-
educational-licensing-for-Fusion-360.html)

It's nice that even if you are a commercial business, if you have <100k in
revenue per year, the license is free as well.

------
nicwest
I recently bought a 3D printer and have enjoyed programing objects in cljoure
with scad-clj.

[https://github.com/farrellm/scad-clj](https://github.com/farrellm/scad-clj)

This is biggest project I know of that uses it:

[https://github.com/adereth/dactyl-
keyboard](https://github.com/adereth/dactyl-keyboard)

[https://www.youtube.com/watch?v=uk3A41U0iO4](https://www.youtube.com/watch?v=uk3A41U0iO4)

~~~
tjoff
That talk is excellent and it got me interested in both scad-clj and the
keyboard.

------
bsilvereagle
Another option for programmatic parametric CAD is cadquery:
[https://dcowden.github.io/cadquery/index.html](https://dcowden.github.io/cadquery/index.html)

A cadquery FreeCAD plug-in exists, so some tasks can be done via the GUI and
others programmatically.

~~~
ecopoesis
CadQuery is awesome. OpenScad’s language is quite limited: being able to use
any Python you want makes CadQuery so much more powerful. Plus CadQuery can
generate STEP files so you’re not limited to hobby 3D printers: you can send
your project out to a CNC shop. I designed and manufactured a keyboard using
CadQuery and would highly recommend it.

------
omeid2
While I really enjoyed working with OpenScad, I find ImplicitCad[0] to be far
more _functional_ (excuse the pun), the language is just more easy to reason
about.

[0] [http://www.implicitcad.org/](http://www.implicitcad.org/)

~~~
zokier
At least it can make circles that are round instead of polygons, so that's a
major upgrade already.

~~~
Wurlitzer
I think you can set the resolution with something like $fn=100; if I remember
correctly.

~~~
zokier
Polygon with large but finite number of sides is still a polygon.

~~~
sokoloff
When the desired output format is .stl, that's not a meaningful limitation.

~~~
zokier
But when the desired format is STEP, then it suddenly is a meaningful
distinction.

------
eltoozero
I can’t believe that nobody has mentioned the Prusa FDM 3D printers are, and
have always been designed in SCAD[0].

This alone has been instrumental in allowing community improvements, it’s the
last “true” reprap, they run a farm of 300+ machines and iterate parts
somewhat frequently.

Pretty amazing that there is one molded part on the entire machine, the spool
holder.[2]

There was also some “archeology”[1] on the traditional CAD dead-ends from a
specific extruder design that I found facintating.

[0]: [https://www.prusa3d.com/prusa-i3-printable-
parts/](https://www.prusa3d.com/prusa-i3-printable-parts/)

[1]:
[https://reprap.org/wiki/Genealogy_/_Archeology_of_the_Greg's...](https://reprap.org/wiki/Genealogy_/_Archeology_of_the_Greg's_Wade's_Geared_Extruder)

[2]:
[https://twitter.com/la3dpr/status/1072393398722670594?s=21](https://twitter.com/la3dpr/status/1072393398722670594?s=21)

------
wlll
For those curious about what you can do, I designed and 3d printed this small
robot using OpenSCAD:

[https://sendcat.com/dl/BLB0593VKWdC8p61VVmDxA9Yy0eR9EtLl33qL...](https://sendcat.com/dl/BLB0593VKWdC8p61VVmDxA9Yy0eR9EtLl33qLVLt2FEwIzkbCbjgJzd)

------
jake_the_third
The apt-packaged version of OpenSCAD was broken for the current LTS version of
ubuntu and hasn't been fixed yet. You'll need to download it from an
alternative source if you want it on 18.04. Works well on 16.04 though!

~~~
hathawsh
The OpenSCAD releases seem to be in chaos. I've been using an AppImage release
in Ubuntu, build 9.4, since February. Later releases seem to just crash. I get
the feeling I'm building on an unstable foundation. :-(

~~~
jake_the_third
The particular problem I referred to was caused by ubuntu's packaging process
though: a dependency package failed to build for some obscure architecture so
they decided that the sensible course of action was to remove the package for
ALL architectures.

Perhaps I'll just use AppImages like you so that I can finally upgrade off
16.04. Have you found any downsides to using the AppImaged version over the
apt one? (aside from the stability issues in newer releases)

~~~
hathawsh
The AppImage has been great. No downsides.

------
andybak
Has the post title been altered by mods? I recall last night it mentioned
something about Scad being parametric or programmable - a fact that made this
post potentially more relevant to HN readers.

It's a terribly generic title now.

------
jmpman
Better integration with Python would make OpenSCAD 1000% more usable.

~~~
antt
There is solid python:
[https://github.com/SolidCode/SolidPython](https://github.com/SolidCode/SolidPython)

I have used it extensively and it's better than raw openscad.

~~~
gnulinux
Huh, didn't know about viewcad (Jupyter OpenSCAD viewer). Looks amazing.

------
deckar01
OpenSCAD's performance only scales with the clock speed of a single CPU core.
On any sufficiently complex composition, the underlying geometry engine will
eventually either slow to a crawl due to combinatorial node visits or fail to
render due to opaque assertion failures. This is not the basket to put your
eggs in for professional modeling. It will let you down and there is no clear
path to making it better any time soon.

------
rebuilder
There's also Graphscad, which is a node-based interface for openscad. I only
just learned about it myself, so haven't tried it yet, but it looks extremely
cool to me!

[http://graphscad.blogspot.com/](http://graphscad.blogspot.com/)

------
johnmarcus
My only problem with Autodesk products is they refuse to support Linux. I
hated having to have Windows just for one shitty piece of software.

------
zbrozek
I feel like OpenSCAD is extremely good for generative art (where its
programming language is useful), but sorely lacking for designing functional
hardware. It doesn't even have a measure tool! It's vastly too slow at
previewing and rendering, and building everything out of various intersections
of basic solids is cool at first and rapidly becomes infuriating. While not
FOSS - but still suitable for tinkerers - Fusion 360 and SolidWorks both have
maker-friendly licensing and are dramatically superior tools.

~~~
nrp
I’ll agree with the slowness issues, but I’ve found OpenSCAD extremely useful
for functional hardware, especially when implementing something against a spec
or physical measurements that need to be iterated open. As examples, I’ve
designed a PC chassis and working housekey copies in OpenSCAD, both of which
benefit massively from being fully parametric.

On the measure tool, it usually isn’t necessary because your critical
dimensions should be inputs into your SCAD rather than outputs from it. Even
so, there is a pretty useful set of modules for generating dimensioned
drawings:
[http://www.cannymachines.com/entries/9/openscad_dimensioned_...](http://www.cannymachines.com/entries/9/openscad_dimensioned_drawings)

~~~
eltoozero
Bookmarked.

Very cool, these are great modules and I will be happy to have them in my SCAD
toolkit. Thank you!

------
anonlastname
In OpenSCAD you build your part by constructing its convex hull. This is done
by using primitives with known convex hulls such as rectangles and spheres and
combining them using operations such as addition, subtraction, union, and
Minkowski sum (which is an interesting peice of mathematics.)

Because you interact with shapes using code, it feels much more precise than a
GUI. I think this makes it easier to create parts that aren't "glitchy." You
want your part to have the minimal amount of detail and using code makes this
easier because you can keep track of the steps to draw your shapes to see if
you made any unnecessary changes.

OpenSCAD made me think about CAD in a different way.

