algorithmic modeling for Rhino

Exoskeleton and macro windows, Morpheus style

End of February 2017, McNeel published the webinar about the design and fabrication of the Morpheus Hotel and Tower in Macau. The video is on Vimeo

There are also many other sources:

and many papers, I used mainly the first one:


Using this documentation here are some explanations of how I did the images here:


The exoskeleton

In order to make the Exoskeleton, a reference surface is needed and also a mesh. The mesh is just used for its topology, so curves network could also be used. Vertices of the mesh/network must not be to near from the edges of the reference surface. So the best is to make the reference surface a little bigger/longer. As I wanted some smooth shape made with surfaces/BREP (not mesh) I used Rhino WIP and Sub-D.

I began with a rough mesh which is then transformed in polysurfaces using SubDFromMesh (creases=No Output=Nurbs …) command. These polysurfaces are joined in one polysurface then offseted 4 times in order to have the control surface for the upper and lower level of the Exoskeleton.


The position of the offset surface is represented below.

On this reference surface a mesh is build, each vertices will become a node of the Exoskeleton and each edge will become a member. I wanted to do everything in Rhino WIP but unfortunately as Ngon mesh were introduced there are still some incompatibilities with Grasshopper components. For me, it was a problem with mesh edges component.   As I have non planar quad Rhino WIP transformed then in triangles for the rendering (as usual) but also for the mesh representation (see there for some explanations ”(ngon) Mesh Edges” . So I finished by going back to Rhino 5.0. The problem with Rhino 5.0/GH 0.9 was also that the component “Brep Closest Point” doesn’t output the normal, so I wrote the component, quite easy just 20 lines of simple code.


In order to make the Exoskeleton I choose to make only nodes with half members. For the Morpheus project there are nodes and members. My simplier approach could be useful for example for jewels, 3d printing … and surely not useful for buildings. For each node we need the connection with the other node but also the angle between each pair of member. I used some code of one of my tool The angle is used to calculate the radius used to connect members. Rhino angle are on a plane so they are not exactly the same.



Like in Morpheus Project I used constant radius depending on the domain angle.  Radius must be carefully chosen as this could lead to problem.


Script could be used to generate one node, a list of nodes or all nodes. The difficulty was that trim tree doesn’t accept one level tree. So here is the workaround I used.



One other thing to say is that the thickness of the Exoskeleton is driven by offsets and width is controlled more easily.

Here the output of the script, used with curves network (face with 5 and 6 edges).

Here the script, Kangaroo is needed for the remove duplicate lines. 

The Macro Windows




Views: 7478


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

Comment by Milan Bates on November 6, 2022 at 11:22am


I can see this being used in Orthopaedics.

Comment by Laurent DELRIEU on March 4, 2020 at 12:09pm
Comment by Pablo Diego Pastor on March 3, 2020 at 7:33am

Hello Laurent Delrieu, would you be so kind to share the script, please?

Comment by Laurent DELRIEU on January 18, 2020 at 1:06am

 I deleted it. 

Comment by mingyu on January 16, 2020 at 11:49pm

Hello Laurent, where is the script? i can't find it.

Comment by Convex on May 18, 2019 at 12:27am

Hello, can you please upload script with your mesh as example to analyze? 
Because I really cant understand how to apply that script on a custom surface/form

Comment by Laurent DELRIEU on April 3, 2017 at 1:48pm
I am happy if it is useful. It is another way of thickening a network of curves on surface. It's quite simple to have 4 8 ... 2*n faces per member. It is a sort of chamfer.
I hope to make it work for jewels and to treat problems on small holes or big curvatures.
Comment by mark zirinsky on April 3, 2017 at 6:48am

Merci, Dr. Delrieu.

Comment by Siemen on March 30, 2017 at 8:23am

Nice! Wish there was a way to bookmark blog posts.





  • Add Photos
  • View All


  • Add Videos
  • View All

© 2023   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service