SolveSpace Logo SOLVESPACE -- parametric 2d/3d CAD
Examples
Tutorials
Features
Download
Web Version
Reference
Technology
Library
Forum
Contact
USER FORUM

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

boolean (by XD2426)
Why in boolean.cpp is the order of while(!inter.l.IsEmpty()) and while(!orig.l.IsEmpty()) such that orig comes before inter?What bad consequences would there be if I switched the order of the two?
Wed Jun 24 2026, 23:33:20
(no subject) (by Paul)
Your question would be more appropriate over on github where development happens. But since we are here...


FYI you are looking at perhaps the most complex function in the entire codebase. But that is also the source of many of our remaining boolean bugs, so I applaud anyone making any effort there.

orig.l will almost always have something in it, while inter.l will usually have very few or no entries in it. I would have written it in the order is is too. I don't think anything will happen if you reverse the order of those two loops, but I could be wrong.

What are you up to?
Thu Jun 25 2026, 11:37:20
(no subject) (by XD2426)
I'm designing a CAD-CAE integrated system, and I need to change the display mesh from ear-cutting to Delaunay triangles. I found that the tool body sketch is drawn on a certain face of the source geometry and then extruded inward to do a difference.

This creates a special case: an original edge of the tool body happens to coincide exactly with the new intersection line cut out from the source face. When boolean trimming a certain side of the tool body, the current surface's original trim goes into orig first; the intersection line between the source face and the tool face goes into inter. On this shared edge, orig and inter geometries occupy the same position, but come from different sources. However, I noticed that if I swap inter and orig, this problem doesn't appear.
Thu Jun 25 2026, 21:46:20, download attachment ScreenShot_2026-06-26_094539_945.png
(no subject) (by XD2426)
Thanks for your reply, the issue has been resolved.I want to create a conformal mesh.
Thu Jun 25 2026, 22:17:58
(no subject) (by Paul)
I'm curious if any of what you're doing would make sense to put in solvespace upstream. What are you adding?
Yesterday, 14:41:06
(no subject) (by XD2426)
Replace the original ear-cutting method with Gmsh to generate surface 3D meshes, then reconnect Gmsh during the export step to create 3D meshes. Add MFEM to SolveSpace and use the 3D meshes generated by Gmsh for stress analysis and topology optimization.But this is my graduation project, so it's not really suitable for you to see right now.
Yesterday, 21:28:03
(no subject) (by Paul)
That sounds very interesting, I'd like to see it when you're ready. FYI there is a github issue to discuss work like this if you want:

https://github.com/solvespace/solvespace/issues/866

There is also a closed pull request with the FEA label that never got merged for exporting gmsh GEO files.
Today, 09:34:32
Post a reply to this comment:
Your Name:
Your Email:
Subject:
(no HTML tags; use plain text, and hit Enter for a line break)
Attached file (if you want, 5 MB max):
© 2008-2026 SolveSpace contributors. Most recent update March 27 2026.