Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Union of "Revolve" and "Extrude" groups failed #470

Closed
ghost opened this issue Sep 2, 2019 · 6 comments
Closed

Union of "Revolve" and "Extrude" groups failed #470

ghost opened this issue Sep 2, 2019 · 6 comments

Comments

@ghost
Copy link

ghost commented Sep 2, 2019

System information

SolveSpace version: 3.0~22e4011c

Operating system: Debian 9.x stretch (x86_64)

Expected behavior

If path for «Extrude» group based on plane from «Revolve» group boolean union operation should be correct.

Actual behavior

Boolean union of parent «Revolve» and child «Extrude» (based on plane face from «Revolve») groups failed.

pic.1

pic.2

Additional information

@whitequark
Copy link
Contributor

Like the other NURBS backend bugs, don't expect this to be fixed.

@ruevs
Copy link
Member

ruevs commented Sep 2, 2019

The situation you are creating is in fact a "singularity" and is very hard for 3D software to handle. The handle and the bowl of the "spoon" "meet" only at the plane on the bowl that you are extruding the handle from. This plane is the problem - it is the only "common" entity between the two solids - the handle and the bowl - they have no volume in common. Therefore when you do a union of these two solids it becomes a very tricky question whether the result is a single solid or not. It depends on whether the face "belongs" to the solids or not...

In terms of "sets":

  • [bowl][handle] - the union is a solid
  • [Bowl)[Handle] and [Bowl](Handle] - the union should be a solid but...
  • [bowl)(handle] - the union is not a solid - there is an infinitely thin plane that does not belong to the spoon.

The way to avoid this situation in this case is to extrude a double sided "stub" from the plane and then extrude the handle from the same plane. In general when modeling you should avoid solids that meet at single planes/edges/points - all of these create "singularities" and based on how "good" the NURBS code is and how much effort was spent to handle such cases it may or may not work.

@ruevs
Copy link
Member

ruevs commented Sep 2, 2019

Here is an explanation from Autodesk much better than mine above :-)
https://blogs.autodesk.com/inventor/2019/02/13/seven-deadly-sins-3d-part-modeling-part-03-singularities/

@phkahler
Copy link
Member

phkahler commented Sep 6, 2019

I tried this. Not sure how you defined the workplane for the extrude sketch. I had to add a construction line perpendicular to the top edge. It is helpful to make the top straight edge out of two line segments to match the two that resulted from the revolve. Also not sure how you matched the diameter of the arc in the sketch to the revolved surface since there isn't an arc to set equal diameters (you can do it other ways).

I never really considered the special case where the revolve is 180 degrees and the two flat surfaces could become one.

@ghost
Copy link
Author

ghost commented Sep 7, 2019

Not sure how you

I will try record screencast with my workflow.

I had to add

@phkahler, please, provide your SLVS file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants