algorithmic modeling for Rhino

Hi everyone, 

I'm working on a simple tool that takes optimizes a surface between two curves to be developable. It is basically a continuation of this topic:

Developable Surface Optimization

In the attached definiton there are 2 curves, the lofted surface between them is not developable. Of course, this task is impossible, the goal, though, is to alter the curves in a way that a developable surface is generated with curves at least really close to the existing ones (similar to this but avoiding the generative solver). Started with the old Kangaroo solver, I got the problems which Daniel Piker had in the mentioned previous discussion - the points intersect themselves.

Kangaoo 2 gives a more elegant way to achieve this, the problem is, it crashes a bit for unknown to me reason:

Without the curve pulling goal it works fine, I'm trying to find a certain balance between the strength of the two main forces, unfortunately I can't figure out where this glitch is coming from.

The attached definition has both Kangaroo 0.99 and Kangaroo 2.02 parts and even a pair of 2 more complex curves to try with. Would very much appreciate a bit of help here. 

Thank you, 

Views: 1117


Replies to This Discussion

The problem is in the right balance between the forces in Kangaroo 2. A bit of slider and units adjustmets would do the job.

Hello, have you had any luck fine tuning this?  I downloaded your script and have tried messing with the sliders and can't quite get it to work.  I am trying to find an alternative to D.Loft


I did have a go at this in Kangaroo2 once - attached is where I got to.

It includes a new goal to allow vertices to slide on the edge curves but keeping their ordering without crossing over (you'll need to give it a new assembly reference location when you first open the file).

You need to start with the planarization strength low, and gradually slide it up to get the quads planar and make it developable.

It works okay sometimes when the curves are nice and smooth, but I wasn't really happy with it in most cases, which is why I hadn't posted this earlier. Maybe it is useful if someone else wants to try improving it though.

One thing which I didn't try yet, but think might help is a better smoothing function for the segment lengths.

Currently it tries to keep the length of each pair of adjacent segments along the rail curves equal, to avoid it just degenerating into triangles.

I thought perhaps something like equalizing change of length over sets of 3 segments instead might work better, but didn't get around to writing a goal for this yet.


Hey Daniel,

Thanks for your quick response!  I'll give this a try and chime back in if I get anywhere with it.  Thanks!






  • Add Photos
  • View All

© 2018   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service