
Solvespace – parametric 2d/3d CAD - trymas
https://github.com/solvespace/solvespace
======
upofadown
This seems to be more than _just_ a parametric 3D drawing program (at least
based on a quick look at a tutorial). The workflow seems to be heavily
constraint based. You make a bunch of connected lines of no particular
orientation and dimension and then specify a bunch of restrictions on what
sort of thing is possible. Eventually you end up with your design based on a
bunch of tiny specifications.

Strikes me as different than something more drafting oriented like Freecad.
It's more like a type of 3D breadboard.

~~~
GregBuchholz
>The workflow seems to be heavily constraint based.

That strikes me as being very similar to the Part Design Workbench of FreeCAD
which uses the Sketcher and constraint solver. Anyone have more details on a
comparison of Solvespace and FreeCAD?

[http://www.freecadweb.org/wiki/index.php?title=Basic_Part_De...](http://www.freecadweb.org/wiki/index.php?title=Basic_Part_Design_Tutorial)

~~~
whitequark_
SolveSpace is indeed similar to FreeCAD's Part Design module. One major
difference is that SolveSpace uses the same solver for constraints in 2D and
3D, as well as for sketches and assemblies, whereas in FreeCAD the Assembly
module is separate.

------
tgirod
I've been using this software quite extensively to design a small 25m2 house
I'm building earlier this year. It can be a bit rough around the edges, but
it's already quite usable and powerful!

IMO the main issue is that the constraint solver recomputes everything
whenever you add/move something, even though past additions are already
properly constrained. As a result, the software gets less and less responsive
as your design gets more complicated. I don't know if the devs adressed that
issue (it's a tough one), but I know it was already on the radar a few months
ago.

~~~
buserror
Does it get as bad as OpenSCAD? I found that anything even remotely complex
using OpenSCAD brings the machine down to a crawl. And I'm on an overclocked
5930K with 64GB ram ;-)

I'd be very curious to see a couple screenshot of your project! I used Google
Sketchup to do landscaping last year around my house; I wonder how this would
compare...

sketchup plan:
[https://goo.gl/photos/Qc5mEnFiFm9UWBvv8](https://goo.gl/photos/Qc5mEnFiFm9UWBvv8)
reality:
[https://goo.gl/photos/Gn66MSc8UPshR3CC8](https://goo.gl/photos/Gn66MSc8UPshR3CC8)

~~~
pawadu
Have you tried freecad? I think it uses openscad as backend but has a slightly
better (and faster) UI.

~~~
grp
It uses Open Cascade:
[https://www.opencascade.com/](https://www.opencascade.com/)

------
leoedin
Solvespace is the best open parametric CAD package I've used by far. For
people coming from commercial CAD packages like SolidWorks the design process
is easy to pick up. The UI is definitely a bit rough, but it's so much more
powerful than anything else I've used.

~~~
nialo
How is the crash rate?

I used to use Inventor professionally, and that had a MTBF of perhaps 4 hours.
I haven't needed a CAD program since then, but one of the things that'd make
me try Solvespace first is that whitequark appears to actually care about
reliability.

~~~
whitequark_
I care a lot about reliability! In fact, FreeCAD's incessant crashing (and the
fact that it corrupted the savefile when doing that) was the single biggest
reason I put so much time into improving SolveSpace, although working assembly
support is a close second.

Even in case that SolveSpace does crash, it has an autosave facility (with a
five minute interval by default), and so you should _never_ lose more than
five minutes of work.

You should also use the 2.x branch and not the released version 2.1, as the
branch has some important bugfixes. I will release 2.2 within a few of days
though.

~~~
FullyFunctional
I can't believe I hadn't heard of it before. I just went through the tutorial
and I'm duly impressed. I'll definitely try this for my next design. I
couldn't find a way to donate, but I'd gladly send an appreciation to the
people working on this.

------
jacquesm
Let me plug qcad, a free and open source cad system that allows you to work
parametrically as well using plain javascript.

I've done some pretty complex stuff in it and it hasn't let me down yet.

I'll give solvespace a shot to see how it compares, for me the reason to use
parametric CAD is that I'm far more comfortable programming something than
editing it in a GUI, and besides it makes changing stuff so much easier.

~~~
geon
That's 2D only, though.

~~~
jacquesm
That's true. But when you're drafting machine parts/machines you rarely need
true 3D and that's what I'm using it for.

------
buserror
That looks interesting -- especially the path generator, as most CAM software
are non-free and all clunky..

Funny that one of their example of clamps looks exactly the same as the one
I've designed to hold the spindle on my CNC! (cut from sheet aluminium
[https://github.com/buserror/buserror-
reprap/blob/master/stl/...](https://github.com/buserror/buserror-
reprap/blob/master/stl/buserror-spindle-cnc-mount-cnc-lazor.stl))

~~~
whitequark_
I've been planning to integrate libarea (of HeeksCNC fame), which can generate
HSM toolpaths.

------
setori88
[https://m-labs.hk/solvespace/](https://m-labs.hk/solvespace/)

~~~
setori88
"Currently, the focus of development is to improve SolveSpace's handling of
complex assemblies with many similar parts by allowing to load a hierarchy of
sketches instead of a single sketch and propagate the changes as they are
made, and to derive many variants of geometry from a single sketch. For
example, these changes would allow to use a single basic sketch to model
framework made from varying lengths of 80/20 profile, whereas currently that
would require a separate sketch for every size of cut."

------
bsilvereagle
FreeCAD & OpenSCAD have both been mentioned a lot in this thread. If you like
the thought of the scripting power OpenSCAD gives you, but like the
convenience of a GUI at times, the cadquery plugin for FreeCAD may be worth a
look. It provides a Python scripting environment in FreeCAD that you can use
in tandem with GUI operations.

[https://github.com/dcowden/cadquery](https://github.com/dcowden/cadquery)

~~~
jononor
Does the FreeCAD plugin enable live-coding (instant preview on the normal
canvas)?

------
agumonkey
6MB installer free .exe, oldschool. Makes me wanna contribute a lot.

------
markild
Anyone care to weigh in on how this compares to FreeCAD?

~~~
trymas
If you are using FreeCAD, probably try to run Solvespace or read one of it's
tutorials, and you'll see the difference.

I have not used both apps extensively, but clearly FreeCAD is much bigger tool
with wider use-cases. If talking about 3D cad only, I like minimalist
Solvespace's approach better (from UI/UX stand point and from source code's
perspective as well), easier menus, easier use (simple shortcuts), readable
and rather small-ish codebase.

------
jpt4
The maintainer, whitequark, has an equally interesting portfolio outside
Solvespace: [https://lab.whitequark.org](https://lab.whitequark.org)

------
zem
the examples page
[[http://solvespace.com/examples.pl](http://solvespace.com/examples.pl)] is
very well thought-out

------
Unbeliever69
Is there a product roadmap? Would be interested only if/when some sort of
iLogic-like implementation is present. Otherwise, keep up the great work.

~~~
avhon1
I'm not aware of any plan to incorporate programatic costraints into
Solvespace. I've given this a little bit of thought before, and I suspect it
could be best done with a scripting language tied into Solvespace, in the
style of Blender.

~~~
whitequark_
There are vague plans for integrating Lua in a way that lets people implement
new constraints without touching the C++ code, but the current architecture
makes it very hard. We're refactoring it but it will take a while until such
scripting is viable.

------
EJTH
I like the concept, and I am sure that I will try it out soon. I do however
miss some screenshots on the website of the full application, and asking a
user to download a video on a website in 2016 seems a bit off, why not use
YouTube or some other service that offers embeds?

