SOLVESPACE -- parametric 2d/3d CAD

(you are viewing a thread; or go back to list of threads)

Solid model as difference for imported assembly (by Dave)
I have an assembly for which I basically want to create the inverse of (like creating a mould).

I have:
-imported the assembly
-set assembly properties as "solid model as difference"
-created a cube that encompasses the assembly
-exported the STL 3D mesh

I was expecting the exported 3D mesh to have a void of material where the imported assembly was. Instead, it just gives me a solid cube and it looks like the effect of the assembly on the cube is the same as "union".

Does the "solid model as difference" option work for imported assemblies?


I think solvespace is brilliant - it reminds me of Inkscape in the early days. Wish it were still being developed!
Sat Mar 7 2020, 12:00:19
(no subject) (by Andrew)
To get the result you want, you need to create the cube first, and them bring in the assembly as a difference from that cube.. That is the group you set difference on is removed from whatever it intersects in previous groups.

Solvespace is still under development, see this topic:;parent=2854&tt=1572069237
Sat Mar 7 2020, 13:31:19
(no subject) (by Dave)
Thank you, that did exactly as I wanted. Is it logical for the reverse order to also work (as I was trying)? I was thinking of putting it in as a feature request.

I have worked out a work around for what I want to do until such a feature:
1) Import the assembly as normal and put it in the right place so you can use it to guide the positioning of other components (i.e. the cube in this example).
2) Draw the cube where you want to, using the imported assembly as a guide.
3) Import the assembly *again*, and align it exactly in the same place as the assembly in 1).
4) Tick "difference" on the newly imported assembly. This will remove material from both the cube *and* perfectly remove the entire first assembly.

A feature request would allow step 1 to be skipped and the hassle of aligning an object in step 3, as any assembly imported as a difference would affect both "past" and "future" 3D objects. There could be a tick box on the assembly properties such as "difference affects future additions to the project".

Is there any way to donate to the author? This project is saving me from the pain/cost of Fusion360.

Sun Mar 8 2020, 09:08:34, download attachment magnet.slvs
(no subject) (by Dave)
If you open the attached project which uses 2x imported magnet.slvs it demonstrates my workaround.
Sun Mar 8 2020, 09:09:23, download attachment magnet.slvs
(no subject) (by Dave)
Oops, I attached the same file twice. Please see attached for the master file that has a dependency on magnet.slvs.
Sun Mar 8 2020, 17:23:43, download attachment inversemotortest.slvs
(no subject) (by Jonathan Westhues)
SolveSpace's solid model is a chain of Boolean union and difference operations, one per group, starting with an empty model. So in your first attempt you constructed

((EMPTY minus TO_INVERT) union CUBE) = (EMPTY union CUBE)

That's just the cube, as you observe. What you actually want is


So the cube group has to come first. If you want to constrain the cube against your imported assembly, then the steps you note seem like a reasonable way to achieve that. I no longer work on SolveSpace myself, but the current maintainer ([email protected]) might appreciate the support...
Mon Mar 9 2020, 00:54:58
(no subject) (by Andrew)
It is possible to create a file that is a pure construction drawing, which can be used to give key dimension and positions etc. Such a file can be simpler, and as it does not create any solids, does not appear in exported solids like .stl file..This might be a better answer than including a component twice, especially as it can provide construction lines and points that are outside the final solid, and things can be positioned relative to these entities.
Mon Mar 9 2020, 07:41:42
(no subject) (by Dave)
In reply to Jonathan, yes it does make sense I suppose since it is mimicing actual tool operations rather than something imaginary.

In reply to Andrew, are you talking about "Toggle construction"? Or are you talking about using a 2D drawing to guide the positioning of points on a 3D model in the same workplane?

My main problem at the moment is that it takes about 30 seconds to draw a single line due to the large number of lines/constraints that I have. I think if I had one wish it would be for the constraints to be more efficient; I assume that is what is slowing things down. The total data of SLVS files I have is 7.5MB.

(Rotating the 3D graphical object happens smoothly though.)
Mon Mar 9 2020, 13:08:21
(no subject) (by Andrew)
I am talking about toggle construction, and should mention that also applies to lines in 3D, where end points can be position by distance from axes, along with other constraints relative to the axes, or existing entities in the drawing.. with. Also, having just tried it, you can create a rectangle, select all lines and toggle to construction, and extrude to get a construction cube. Draw in 3d can be used in any group, and is also useful for construction lines to set up a drawing plane at any angle to world coordinates.

I should also mention that if you change a drawing that is linked in other drawing, you need to open ans save them up the chain of links so as the propagate the changes to the save pre solved models in the files.
Mon Mar 9 2020, 14:10:11
(no subject) (by Dave)
Cool, yes I am aware of the chain dependency on nested drawings.
Wed Mar 11 2020, 12:35:29
(no subject) (by Ruevs)
Solvespace is actively (slowly) developed. There has not been an official release in a while, but you can always try recent development builds.
Here is one from 2020-04-24

Beause development is slow and the maintainer (I think) is a very careful and meticulous person these development builds are very stable. They contain many, many improvements compared to 2.2.

You can see a current list (it is a work in progress) here:

Note that 3.0 does not exist yet, this is a list of things that are already done and will one day be part of 3.0
Wed Apr 29 2020, 13:01:47
Post a reply to this comment:
Your Name:
Your Email:
(no HTML tags; use plain text, and hit Enter for a line break)
Attached file (if you want, 5 MB max):
© 2008-2021 SolveSpace contributors. Most recent update Apr 18 2021.