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”?
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…
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.
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).
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.
Not that I’ve seen. Allowable amount of Guassian curvature would depend on: Material Thickness 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