Why is 360deg revolved solid not axisymmetric?

I feel like I’m taking crazy pills, so hopefully someone can clear this up for me.

I have a cylinder created from an extruded circle. I revolved a planar curve that coincides with the outer diameter of the cylinder; however, the revolved solid is out-of-round by +/- 0.005 in some places. Unfortunately, that’s noticeable to the human eye in production (in fact, I only noticed this issue because I could SEE it when I manufactured the part and mated it with a cylinder).

I tried decreasing the tolerances, but that didn’t seem to have an effect.

Is this a known issue? Does it stem from the limitations of the parametric representation of the revolved solid (I’m assuming they don’t use periodic NURBS)? Or (HOPEFULLY!), is this nonsense, and it’s most likely that I’ve made a dumb mistake?

In the Revolve command, do you have Deformable=Yes? That will cause what you are reporting…

1 Like

Thanks, it says “Deformable=No”. I’m going to try and produce the same shape with Sweep2 specifying circular rails where I need them. Will report back

Sweep2 produces the expected result. Very strange, but I will keep this in mind when I’m designing in the future.

Can you post the geometry you used to make the Revolve?

I can’t, but I’ll see if I can reproduce the issue with a toy geometry later. Thanks for your help!

My guess is the revolved result is non-rational which cannot be exactly axisymmetric.

My guess would be that’s an incorrect guess. Surfaces of revolution are rational.

In the file below, DupEdge the lower edge of the cylinder which was created by revolving a line. It’s actually a circle. Check the deviation between that and the circle object…

Revsrf.3dm (2.5 MB)

If created using Revolve and nothing done subsequently (such as Rebuild) then it should be rational. And if it is rational it should be exactly axisymmetric. But without an example we are just guessing.

I don’t have access to Rhino currently. Is the result of DupEdge rational or non-rational?

It’s a circle. I think Rhino automatically simplifies it in this case. The deviation is on the order of 1e-13 from a drawn circle of the same diameter.

If you turn on points for the revolved surface, the corner points are weighted 0.7071… just like a circle. So the revolved surface is rational.