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

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

Broken difference operation? (by whitequark)
I can't make the difference operation in the attached file to produce a closed shell no matter what.
Sun Jul 5 2015, 04:43:13, download attachment DNISCHE.slvs
(no subject) (by whitequark)
This seems to involve every configuration where an extrusion cuts through the revolution point.
Sun Jul 5 2015, 05:06:24
(no subject) (by NotSolveSpace)
Yes, this thing seems to be hardcoded by Johnatan, now we are tring to repair it. If we are done it, i can ask programmers make fix for solvespace or provide instructions for anyone who can made a fix. Thank you.
Sun Jul 5 2015, 06:55:20
(no subject) (by Jonathan Westhues)
When a point in the revolved section lies on the axis of revolution, we generate a Bezier surface with some of its control points coincident. That creates special cases that the surface intersection and classification stuff doesn't handle.

Basically, the NURBS Booleans in SolveSpace should work well on most shells bounded by surfaces of extrusion. For anything beyond that, you're on your own. The mesh operations ("force NURBS surfaces to triangle mesh" in the group's browser window) don't suffer that limit. The particular example here could of course be drawn with no Booleans, in a single operation.

SolveSpace's kernel could be improved; but it's a big task, and relatively few developers can do this kind of work at all. The best existing free kernel (that I'm aware of) is Open CASCADE, whose surface libraries could be integrated while maintaining SolveSpace's constraint solver and user interface, along a fairly clean existing boundary. That would be a pure integration job, but also a big one.
Sun Jul 5 2015, 08:49:21
(no subject) (by whitequark)
Actually, this doesn't work even when the point does not lie on the axis. For example, make a circle in the center of the part while revolving, and try to cut out a bigger circle still. It will fail in the exact same way.
Sun Jul 5 2015, 16:30:03
(no subject) (by Jonathan Westhues)
Yeah, that particular configuration fails for multiple reasons. To debug, you could first look at all the generated intersections to see if they're correct and complete, to narrow the problem to intersection generation vs. classification, and then proceed from there, to see what unhandled case (or pure bug; but the former is more likely) is causing that.
Sun Jul 5 2015, 18:11:29
NURBS Booleans (by John Griessen)
Mon Jul 13 2015, 17:18:11
opennurbs (by John Griessen)
opennurbs, on further reading, is a tool set for reading and writing Rhino's data file format. So, it has nothing for creating a boolean between 2 BREP surfaces,
or editing a bezier with different control points. Nevermind....
Mon Jul 13 2015, 17:44:42
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-2022 SolveSpace contributors. Most recent update June 2 2022.