SOLVESPACE -- parametric 2d/3d CAD

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

Newb q about slowdown of file (by Dom d)

Not sure if I'm hitting a bug or if my design has gotten too complicated.

The attached file is pretty slow (both in 2.3 and in 3.0~16540b1b) on OS X Sierra. For instance, dragging a corner of the rectangle in the last sketch causes a several-second beachball. Placing a new rectangle takes from 5 to 10 seconds. Displayed render time looks OK for the most part (I've seen it around 90ms but isn't nearly as long as the beachball).

Things I've tried - setting all solid model options to 'hide', hiding or showing occluded lines, hiding all groups except the last group, setting all extrudes to "assemble" (attempting to rule out boolean logic slowness).

Since I'm working on the last group and it has only this rectangle in it I'm guessing it's a rendering issue, but I don't see how to work around it. Any tips? Anything I can do to help debug? I don't know C++ or related debug tools but can probably follow instructions if there's something I can provide.

I've attached a savefile used in 2.3.

Wed Sep 27 2017, 18:12:42, download attachment dominion cutout.slvs.2.3.backup.slvs
(no subject) (by Daniel Lewis)
Macbooks aren't well equipped for CAD work. I use SolveSpace on my macbook as well as my desktop, but definitely prefer my desktop.

That said, I can only get a model about twice as complicated on my desktop.

As a rule: Split your model into many smaller, trivial models, and use "New Group > Link / Assemble" to combine them.

For example, when I try to model more than one hexnut in a single file, even though its just 6 lines each and one green circle, the file becomes unusable. The hexnuts are very reusable however, and if I put the hexnut in its own file and Link/Assemble it, I get perfect performance.

I don't know what a good rule of thumb is for the maximum complexity of a model, but I'd probably say ~400 constraints. If you have ~20 constraints per layer, 20 layers can be performant. If you have ~100 constraints per layer or more (like I see in your file), you will only get a handful of layers.

- Move the 7-holes-pattern into a separate file and Link/Assemble it as a "difference"
- Move the edge-holes pattern into a separate file as well
- Move the perfectly rectangular panels on the top and bottom to separate files
- If you want a "flat assembly" like this, import the 3 files into a new file

What's cool about assemblies is that, instead of having the 3 pieces on a flat plane, you can literally assemble them into the shape you expect!


In you smaller component/hole files, you can Hide layers to make them invisible and ignored when you Link/Assemble them. I usually add an extra 3d Workplane to add the "handles" of my model
Sun Oct 1 2017, 16:31:30
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-2018 SolveSpace contributors. Most recent update Nov 22 2018.