Does Pufferfish unroll even if surface is not developable?

Hi all,
I have been using Pufferfishe’s Unroll polysurface for many years but I’ve always used it with surfaces that where by definition developable (conical/ cylindrical/ extrusion/ extrusion to point sections). I’ve recently started to expand to tangential surfaces and I noticed that it worked with surfaces that are surely not developable. (example in photo with tolerances set to 0)

@Michael_Pryor
What kinds of surfaces does it unroll?
Is there a tool that can tell if a surface is developable?

1 Like

This looks like the standard Rhino unroller shortcomings, and not a Pufferfish issue - Michael please correct me if I’m wrong!
Under certain boundary conditions Rhino will really unroll ANY surface.

Of course you should always check the results of the unroller carefully. The command reports the difference in area of the curved and unrolled surface. But sometimes it happens that stretching and compressing of the material balances out the differences.

Before you unroll you should check the Gaussian curvature with the _CurvatureAnalysis command and make sure that it is below your fabrication limits. Be careful with Auto Range! Often developable surfaces have micro loops and stacked control points where lot of compound curvature is hiding. These tiny spots are sometimes invisible, but they define the limits of the range and then your entire surface appears green although it is all over with compound curvature and thus not developable. Better you manually enter the range you can fabricate.

You can detect these micro loops with the _CurvatureGraph command.
Good Luck and happy bending :wink:

Jess

1 Like

Thanks for the reply! At this point I don’t care so much about fabrication. I’ve started to delve into tangential surfaces and naively I hoped to find a way to “mechanically” check if a surface is geometrically pure.

I keep reminding myself that Rhino space is not the mathematical space, it’s just a representation.
In the example bellow there is a helical surface that theoretically is a developable surface, but the corresponding iso-curves of the helix and the developed surface do not coincide:


tangential.gh (29.0 KB)

Since I wrote this question I’ve learned that Surface curvature and osculating circlesmeasure curvature along the isocurves so they might show you non-zero curvature but your surface might have zero curvature along a direction different than the isocurves. The tool for that is principal curvature but even that does not give me zero minimum curvature.

1 Like

What is a tangential surface?
A surface created by sweeping a line tangential to a curve is developable, except along the curve where the surface is folded

Yes, I gave this helical surface as an example of a surface that is (or should be) developable but does not give zero curvature along any direction.

I don’t have access to Rhino currently so I can’t see what your surface is.
A helical surface with straight ruling lines pependicular to the axis of the helix is not developable.

You are right this was an assumption I have come to question: that if each of the lines has the same orientation relative to the vertical planes along the curve the surface would still be developable (this helical surface was constructed with perpendicular lines along a helix. the fact that they met at the center line was a result, not the way of construction)

But here is a clearer example: You can clearly see the lines are tangential to the curve so theoretically it should be developable. unroll Polysurfacetries its best but it clearly gets confused.


tangential2.gh (28.7 KB)
Btw… I have never found an in-depth explanation for the loft options. I suspect that it might be due to the way the loft is constructed but I tried all the combinations of options( tight, loose, normal vs align sections and none give a developable surface.

All developable surfaces are ruled surfaces, but not all ruled surfaces are developable.

Loft usually does not create developable surfaces. Try DevSrf and DevLoft to create developable surfaces from edge curves. DevLoft is a command in Rhino 7 and Rhino 8. DevSrf can be downloaded from Food4Rhino.

Surfaces created in Rhino by sweeping a line along a curve have the u and v directions in the same direction along the curve, if I recall correctly. That causes problems when unrolling surfaces.

Split the surface by an isocurve “parallel” to the curve and Shrink the results. Discard the surface next to the curve. Unroll the other surface.

2 Likes

Preferably I would like to do things in Grasshopper.

I tried 4 different ways of constructing this simple tangential surface and unroll polysurface crumbled for each one (turquoise). I did a mesh approximation unroll and it gave me a more or less valid shape (pink).

I am now convinced that it is not developed for tangential surfaces because nobody uses them (80-20 rule)
I know evolute tools have a plugin for that but its very costly. Isn’t there another plugin/ method?


tangential3.gh (20.0 KB)

Hi @anikolo
You should really avoid to model and unroll the tangential edge of your surface. Calculate some offset along the tangent line (red part), then unroll that surface and extend the unrolled surface for the offset…
TangentSrf.3dm (74.6 KB)
Jess

This surface is an example,not the goal.
I make sculptures like this:


(which have to be developable for construction)
I need to get to a level where all the intersecting surfaces
a) are developable
b) form a solid.
I have been able to do this with conical and cylindrical surfaces, I need to do it with tangential ones as well.

1 Like