Grasshopper

algorithmic modeling for Rhino

Can someone put together a tutorial or provide a GH sample file for folding/unfolding of developable surfaces using both straight and curved crease lines? I've seen it done many times by way of output by people saying, "look at what I did," but never the Grasshopper definition and I can't seem to find a tutorial on it anywhere.

Views: 16148

Replies to This Discussion

We are working on something similar. Still working my way through the foundations, but it looks like this may be a good place to start.
http://web.mac.com/rhino3dtv/GH/0012_Paneling_Tools.html

The current "workflow" we are looking at is developing a form in GH, baking, then paneling and unfolding in Rhino. Ideally, we will get to a point where we can unfold directly from GH, (without baking into rhino). Like I said, we are still learning so maybe there is a way?

You also may want to take a look at some things that the guys at studiomode/modelab are doing. They are developing some really amazing methodologies. (Strip morphologies seems to be rather relevant to what you are talking about).
www.modelab.nu
It seems to me that there may be two different topics that I have merged into one (both of which I need to solve) and I'm not sure if they need to be considered separately or not. There is the "unrolling" of a lofted developable surface and the unfolding of developable surface that folds across crease lines.

I've been thinking that meshing was a possibility. I've seen papers on both triangular and quad mesh development. The only problem I see with meshing at this point is that there is a level of fidelity lost forcing the use of extremely small meshes sizes, which obviously will degrade performance. While it is a possibility that I will get usable data from them and want to learn how to do that in GH, ultimately I am not particularly interested in approximations. There must be a mathematical approach that will output the 3D edge curves in 2D.

I'd really like to see an unfold/unroll feature incorporated into GH as an XForm component. For what I need I will likely have to write a VB script for it so I can use component inputs/outputs in GH.

modeLab has some amazing stuff on their site, I'm looking forward to getting into it, thanks for the direction.
Hi Shawn -

As far as unrolling is concerned, I created a grasshopper definition to try to reproduce the functionality of Rhino's "unroll" command - it could certainly be made more efficient, robust, and accurate, but it seems to get the job done in a lot of cases (and fails wildly in a number of others).
http://heumanndesigntech.wordpress.com/2010/04/21/unroll-ruled-surf...

Keep us updated as you continue to pursue this problem, I think it's something with a lot of potential applications.
Andrew, I think you nailed it. Very nice work. The reason why it fails on some things is not a failure on the part of the definition, but rather that the surfaces input are not actually developable. In the sample file you have a few ruled surfaces that are definitely not developable as their Gaussian curvature is positive. These happen to be the ones that the accuracy output is extremely high, like the hyperbolic paraboloids. All developable surfaces are ruled, but not all ruled surfaces are developable.

If you want higher accuracies, you just have to increase the number of divisions. The difference in surface area between formed and unrolled shapes are related to the initial approximation of the curve into the divided line segments.

Correct me if I'm wrong here, but if the input surface edge curves are known to be curvature continuous then the output accuracies could be eliminated if a curve is generated through the end points. Test for continuous curvature and if so, then add the curve generation, if not, leave the output as it is.
Sorry, the Gaussian curvature of the hyperbolic paraboloid is negative, not positive.
You may find this paper useful in defining and testing if a surface is developable, i.e. will work in your GH definition or not. https://docs.google.com/viewer?url=http://www.mongeometrija.org/pdf...
this may or may not help but its a great tool for folding geometry

http://www.tsg.ne.jp/TT/index.html (rigid origami simulator)

there are some technical papers to that describe how its done
I've used this a couple times, it's pretty fun to mess around with all on its own. It works on straight curves only, which if you knew where the rules were and their corresponding angles you could simulate a curved fold. I have SolidWorks, Inventor and Catia at my disposal for unfolding and unwrapping geometry, but I need to know how to do it inside of GH.
I came across this in my initial research. I have not tried any of the definitions but the methodology appears to be primarily GH based.
http://livecomponents-ny.com/2010/03/22/4_5-tessellation-folding/
This is a nice tutorial, but it doesn't show how to unfold it once it is created. =/

It seems like you would need to know the length of each ruling (or segment of a rule for a mesh) and add that to a curve component, but the problem I'm really having right now is how to obtain the edge curves that the ends of the ruled curves would follow. I'll let you know if I turn anything else up after going through these tutorials.
Adding to the source discussion...

This scripted component works fairly well with quadrilateral surfaces and will accept data trees (instead of copy and paste as Chris does in the example). I used it for CHROMA which had several non-planar panels.

http://biosarch.wordpress.com/2009/09/23/unrolling-surfaces-in-gras...

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service