Creating a Developable Surface between different Arches

I need to create developable ceiling surfaces between a series of 6 arches. I can adjust the precise configuration of the arches but in general they must transition from high and parabolic at one end to low and circular at the other.

Web and Forum sleuthing suggests that Rhino can help, but the Devloft command isnt perfectly reliable. And plugins like Evolute ($) and Devsrf (free, I believe) which might help.

I am wondering if anyone experienced with this sort of requirement can point me in some fruitful directions.

I don’t have a license for D.Loft but I’ve used Evolute for mesh optimization. It was a huge help in a some situations where I was stuck with Kangaroo. In general I’d say you can achieve similar results with Kangaroo, but for that you’ll need some Grasshopper knowledge.

In the end there are many solutions and it’s difficult to help without a file or image.

Depending on the shape and configuration of the arches a developable surface may or may not have ruling lines between the ends of the arches. If the developable surface does not have ruling lines between the ends of the arches then special measures are needed in determining the developable surfaces.

DevLoft is reliable based on my testing but the user has to deal with the situation described above. What is the reason you say it is “not reliable”?

DevSrf also works well and has an option to extend the defining curves to deal with the situation described above. The V6 version of DevSrf can be downloaded for free at The V5 version can be downloaded for free at

@Djhg Would you like suggestions on how to obtain good developable surfaces using DevLoft and/or DevSrf?

A couple of users on this forum have said that it requires fine-tuning after running the command for truly buildable results. And that knowing when that point has been precisely reached is elusive.

I certainly would, thankyou. I am attempting to simplify some of the geomoetry so that it’s out of my NDA agreement enough to post as an example of the challenge. (Proprietary project.)

Was I one of those user?

No, it’s here: DevLoft Command

That statement can be made about any developable surface calculated between two curves by any or almost any computational method.

DevLoft does have a limitation which the user can work around. For many pairs of edge curves the user needs to extend and trim the edge curves so that the corresponding ends of the edge curves are tangent to a plane, ie “no twist”. I’ll try to find time for a more detailed post on how to do that. Other than that limitation DevLoft works very well in my experience…

Added: This thread may be of interest. Developable surface - exact ruling lines from edge curves

Thankyou David - I am studying that link with interest.

Attached for your interest and that of any other possible helpers is a diagram outlining the general parameters. It’s a forgiving configuration:. The curves seem simple (to me), and any one surface doesn’t have to share edges with any other surfaces. The difference can be spanned by arches as big as required (could be up to a foot or so).

If the edge curves are in parallel planes and the corresponding ends of adjacent edge curves are parallel then the ends of the curves wil be connected by straight ruling lines. In that situation DevLoft should work directly to produce developable surfaces.

Thanks David

They are.

I think so, but I’m not sure what this means.

This is what devloft gives. The isocrvs don’t seem parallel so I’m sensing these aren’t developable yet?:

The isocurves in developable surfaces are no parallel unless the surface is cylindrical. Consider a conical surface.

I see, thanks. So it seems I may have succeeded?

To answer my own question, the surfaces unrolled have the same perimeter boundaries as the DevLofted Curves (to the 16th of an inch). I am pretty sure this means they’re developable surfaces. The zebar curves look a little segmented but I think that’s a function of Rhino’s display mesh, not the nurbs geometry. I see that the colour of the analysis graph isn’t dark blue, so it’s not 0 as a perfetly developable surface would be (as I understand it).

Selected posting of mine from previous threads:

I use the Curvature command to check for developability. The command shows the principal curvature circles. A developable surface will have one circle with zero curvature, ie a straight line. Deviation from an exact developable surface can be seen by the deviation from a straight line.

Guassian curvature is a very common metric suggested for assessing if a surface is developable, but it has a significant drawbacks for assessing if a surface is close enough to exactly developable.

An exactly developable surface has exactly zero Guassian curvature. But what is the surface is not “exactly developable” as sometimes happens in design.

How small is small enough for Guassian curvature? That is a non-trivial question, and one that I have rarely seen an answer to.

Is 0.1 small enough? How about 0.001 - that seems like a small number? Or should it be even smaller, perhaps 0.000001?

Gaussain curvature has units of 1/length^2. If millimeters are the length unit then Gaussian curvature has units of 1/mm^2. If meters are used then Gaussian curvature has units of 1/m^2. So the numeric value for the Gaussian curvature of a surface will be 1,000,000 larger if meters are used rather than millimeters. A Guassian curvature of 0.1 if meters are the length units use is the same as 0.009 if feet are used, the same as 0.00065 if inches are used, and the same as and 0.000001 if millimeters are used.

A second drawback to using Guassian curvature to assess if surface is close enough to exactly developable is it is difficult to relate Guassian curvature to other measures such as the amount of twist.

Hi David - I have no direct experience but my understanding is that useful Gaussian readout depends, as you suggest, on the range given, and that these numbers are ‘known’ from experience using a particular material - that is, the amount of forgiveness from strict developability in a material is built into the number range, with due account being taken of units, of course. Without that knowlege, the display is only generally useful…


Thanks David for your kind thorough help through this. And Pascal.
It would be good for me to look to where I can learn more about relating gaussian curvature measurement to modelling units and material properties. I’m not sure I understand David’s second last paragraph above, but it seems like it would be useful for me to understand this. I’m working in the motion picture industry where the most practical available material is lauan plywood of 1/4" thickness and rolled translucent polyethylene for ceiling surfaces which can be lit from behind. I’ll be set once I figure out how those materials’ tolerance for warping relates to the gaussian curvature measurements in my projects (which are typically feet and inches with the primary unit being feet), I’ll be set.

I don’t believe it is possible to relate an acceptable limit for Gaussian curvature to materal properties.

From a previous thread: Gaussian curvature and developability

Not that I’ve seen. Allowable amount of Guassian curvature would depend on:
Size of panel
Aspect ratio of panel
Fabrication method
Shape of the surface and minimum curvature
Allowable deviation of fabricated item from designed shape
Allowable stresses after fabrication