algorithmic modeling for Rhino

Exoskeleton WIP

Developing an updated exoskeleton with variable end thicknesses for each strut and non-convex hulls at each node...hopefully will package it along with the geometry-wrapping isosurface component and a (possibly) exoskeleton for curves...


You need to be a member of Grasshopper to add comments!

Join Grasshopper

Comment by Oliver Tessin on March 9, 2014 at 10:45am

Hi David, Hi Nick,

thanks for your reply. At the end, the calculation process was just too heavy... and I had to dramatically simplify my concept. Ill post a few images later.

Sorry Nick for posting your image without your name. I forgot where I got it from...

Many thanks,


Comment by David Stasiuk on March 4, 2014 at 3:22am

I knew I'd seen that image somewhere before! I still like yours better.

Comment by Nick Tyrer on March 4, 2014 at 2:45am


David pretty much has it sorted. I made it about a year ago, and no longer have the definition, but it doesn't use exoskeleton. Just old fashioned mesh components and trusty ol' weaverbird.

I think the only real differences between david's process and the original is the treatment of the closed cells, mine was much more angular because i was just creating large triangular mesh faces to the centre of each cell, that dont smooth as nicely. But i think Davids is cooler

Comment by David Stasiuk on March 4, 2014 at 1:11am

Hi Oliver...It looks like you're trying to thicken a 2D which case I can get this started for you. The image you've supplied definitely is doing something more interesting in terms of managing the depth of the solid cells, but hopefully this can get you on the right path:

There's endless room for improvement, and it'll need plenty of work. It's using a really dumb single curve attractor, which is driving both cell offset and the threshold for closing a cell. In your image, it looks to me like when a cell is closed, the attractors are also affecting the depth, so there's room to introduce there additional offset logics. You'll need weaverbird...

Christian...I think maybe you're making it more complicated than it needs to be :)

Comment by Christian Schmidts on March 3, 2014 at 3:01pm

Hello Oliver and David,

I'm also looking for a way to accomplish something similar since a while..

Your (Oliver) picture looks like a kind of isosurface (even if I'm mot sure) which is quite heavy and maybe not the best solution for something like this..

Unfortunately I don't have a solution for you - but I think a combination/advancement of topologizer, exoskeleton and cytosekelton could do the job.

To be able to also "close" cells in a network of lines and not to bound to the continuous topology of a mesh. 

A strategy could be: 

first you would have to check for closed polylines in a network of lines,

then corresponding to a list of true/false values some of the polylines could be "closed" with a similar typology like in the picture below.. (at least for triangles and lines)

Curves and n-gons will be a little more tricky..




Comment by Oliver Tessin on March 3, 2014 at 12:23pm


I'm trying to thicken a 3D voronoi exosceleton geometry basically as shown in the topic section, but I would like to completely close the cells as the reference images below. It's supposed to be a sun screen and I want to control how much light comes through... Its kind of urgent and I would really appreciate if someone can help me as soon as possible!

Best regards,


Comment by I_M_F [Iker Mugarra Flores] on February 9, 2014 at 2:55pm

everthing looks better with an attractor!!!!

keep up the great work guys!!!!

Comment by I_M_F [Iker Mugarra Flores] on February 9, 2014 at 2:52pm

love exoskeleton!

Comment by I_M_F [Iker Mugarra Flores] on February 9, 2014 at 2:52pm

Comment by David Stasiuk on February 7, 2014 at 2:20am

Hi Timo- This is part of a work in progress on updating the exoskeleton plug-in that Daniel Piker and I developed last year. You can read more about the processes here:

There's a link to the paper that the technique is based on. This update I'm now working on allows for some incremental improvements.

  1. The whole thing is based on convex hulls solving the intersections of the first exoskeleton, each strut going into each node was tested to determine the necessary offsets for correctly calculating a convex hull. This works fine, but what ends up happening is each hull represents the "worst case" scenario, the two struts that have the steepest angle between them. The updated version identifies other struts that, after hulling, can be pulled closer to the node center, resulting in non-convex hull geometries whose topology was solved by a convex hull process.
  2. In the first exoskeleton, each strut was assigned the same radius...this will also be updated, not only so that you can assign each strut its own radius, but it can have a different starting and ending radius.
  3. There are other bugs in the first exoskeleton that I'm trying to fix as well...identifying problem struts so the user knows what needs to be cleaned up...there was a problem when you were building meshes on any of the world planes that prevented identical vertices from welding properly...some other stuff

I am hoping sometime in the next week or two to get it out there...we'll see, I have a lot on my plate!


Search Grasshopper


  • Add Photos
  • View All

© 2014   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service