Surface of revolution objects--can't Boolean split

I revolved a rectangle and it created a “Surface of Revolution” object.

I could not do a Boolean split on this object. A Boolean union on the object worked, and I could split and trim the object.

I couldn’t explode it into separate surfaces as I would expect with a polysurface object.

Is a “Surface of Revolution” a new object type? (I’ve never noticed it before)

The details of the object included below.

John

surface

ID: 45f76270-1339-4739-9654-546c7a250a07 (52)
Object name: (not named)
Layer name: Layer 01
Render Material:
source = from layer
index = -1

Geometry:
Valid surface.
Closed surface.
Surface of Revolution
U = angular parameter, V = curve parameter
“U”: Periodic (0 <= U <= 62.8319)
“V”: Closed (0 <= V <= 15)
Axis of revolution: (0,0,0) to (0,9.5,0)
Angles: from 0 radians (0 degrees) to 6.28319 radians (360 degrees).
Revolute:
Closed polyline with 4 points.
(-10,0,0), (-6.5,0,0), …, (-10,0,0)
domain = 0 to 15
Edge Tally:
2 seam edges
Edge Tolerances: all 0
Vertex Tolerances: all 0
Render mesh: none present
Analysis mesh: none present

Only following your description, I could not reproduce that here. Was your rectangle rounded by any chance and do you have the SplitAtTangents set to No in the Revolve command? If not, please post your 3dm file.

No, these exist in RH5 as well.

Hi, thanks for your reply.

Only following your description, I could not reproduce that here. Was your rectangle rounded by any chance and do you have the SplitAtTangents set to No in the Revolve command? If not, please post your 3dm file.

I’ll attach a 3dm file, but it is easy to reproduce the problem.

  1. Create a closed rectangle (no rounded corners, SplitAtTangents set to No) offset from the CPlane’s Y axis.

  2. Revolve the rectangle around the Y axis.

  3. Create a cutting plane through the revolved surface object.

  4. Do a “BooleanSplit” on the revolved object with the cutting plane. The command fails with “Boolean split failed.”

Is a “Surface of Revolution” a new object type?
No, these exist in RH5 as well.

I’m sure you’re right, but something is different:

The same procedure in V5 produces a “Closed solid polysurface”, while V6 produces a “Surface of Revolution”.

These “Surface of Revolution” objects are a pain to work with. My work-around is the explode the rectangle before the revolve and then join the resulting 4 surfaces.

I’m pretty sure this is a bug.

Thanks,

John
surface_of_revolution_v6.3dm (94.6 KB)

Sounds like you have CreaseSplitting set to No in V6. Can you check? --Mitch

You’re right! Thanks. I had CreaseSplitting disabled in V6. That explains why V5 generated a polysurface (CreaseSplitting was on) while V6 generated a “Surface of Revolution”

However, I still think there is a problem in V6. If I generate a “Surface of Revolution” in V5, it will split with the BooleanSplit command where in V6 it will fail.

John

I’m not seeing that.

If CurveSplitting is set correctly so your example of a sharp-edged donut is a polysurface, then BooleanSplit works in both V5 and V6.

If the sharp-edged donut is a single surface and not split at the creases, then BooleanSplit fails in both V5 and V6.

Do you have a specific example that works in V5 but fails in V6?

different tolerance settings in 5 and 6 maybe.

Hi guys,

RichardZ
different tolerance settings in 5 and 6 maybe.

I did a few tests, and tolerance doesn’t seem to affect the problem.

John_Brock:
Do you have a specific example that works in V5 but fails in V6?

Everything works in V5, but I stumbled on a case (in V6) where splitting the Surface of Revolution object succeeds or fails depending on where the cut plane passes.

BooleanSpit seems to always fail if the cut plane passes through the center of the ring while it succeeds if the cut plane is off center!?? (Sometimes it fails when the cut plane is just slightly off center).

surface_of_revolution_off_center_split_V6.3dm (189.1 KB)

John

CreaseSplitting is somehow getting disabled. That is a bug.

Agreed and reported several times in the past.

I don’t use kinked surfaces myself but probably there is a use for it - even though downstream commands might fail (as reported several times in the past).

What is being reported in this thread is that if you turn off crease splitting in RH5 and then revolve a rectangle and boolean split that one, that will work fine. In RH6 it does not. Is that as-designed and to be expected?

Thanks for clarifying. I placed the BooleanSplit bug on the YouTrack .

However isn’t it a more serious problem that the CreaseSplitting is unintentionally getting disabled in 6.0 WIP? Made a bug here.

If anyone has any clues as to what causes this option to get disabled I’d like to know.

1 Like

Yes.

Since this has been happening for such a long time now without anyone knowing what happened, wouldn’t it be easier to set some flag on the code that changes this and warn the user when it happens?

RH-41839 is fixed in the latest WIP