Quick Experiment. The process:

  •  Draw a few curves and use them as an input
  • Create a lofted surface based on these curves
  • Subdivide the surface; Add controls for the number of subdivisions
  • Draw the diagonals of each subdivided surface, by using the four surface points located at UV(0,0), UV(0,1), UV(1,0), UV(1,1)
  • Pipe the diagonals

10 thoughts on “Rhino + Grasshopper: Canopy Roof

  1. sudhir says:

    i did not get how to do this step …can u help

    Draw the diagonals of each subdivided surface, by using the four surface points located at UV(0,0), UV(0,1), UV(1,0), UV(1,1)


  2. morphocode says:

    for some reason your comment was in the spam list…we just approved it and it was published…

    About your question:
    The surface is subdivided by creating a regular grid of points on it. In result each sub-surface is kind of a panel.

    In order to create the roof’s construction, we should create the diagonals of each panel and pipe them.
    Because each panel is a surface, it’s easier to use the “Eval Surface” component, which returns a specific point on the surface based on it’s UV mapping.

    U and V could vary from 0.0 to 1.0. For ex: the point at (U: 0.5 V:0.5 ) is located at the center of the surface.

    Given that we need the four corners of each panel-surface, we are using four Points located at U,V (0,0), (0,1), (1,0,) and (1,1) accordingly.

    Hopefully that makes sense.
    If it’s still not clear, drop us a message

    Cheers 🙂

  3. Alina says:


    I am a novice in GH and I am trying to do the definition for the canopy, but due to my inexperience I have problems producing it. I stopped at “Add controls for the number of subdivisions”; should I use Control Points Component? I don’t know what I am doing wrong, but what I have by now is far from your result 🙂 and I know I am only three components away from getting it.

    Your help would be much appreciated.

  4. morphocode says:

    Hi Alina,

    You should subdivide the surface using the Iso surfaces component, with a 2D interval/domain input. The boundaries of the 2D interval control the subdivision. You could use sliders to control the 2D Interval/Domain, which in turn drives the subdivision.

    Hope that helps,

  5. ebrahim says:

    hi morphocode
    thanks for ur help.

    i still need more help from u.
    i m a doing thesis on tensegrity structure and i am not getting perfectly how to design a canopy or a
    foot overbridge on internet i am just getting design methods of any simple structure but not getting a continous structure of tensegrity.

    if u have any thesis work on tensegrity from which i can take help then plz surely tell me.
    and 1 more help i need from you is can u tell me which is the best software for doing work on tensegrity at present i am using staad pro software for the work

    and this site is amazing from this i can have many details thankx

  6. karpagajothi says:

    hi can u provide procedure for designing the tensegrity form finding procedure in staad pro

Leave a Reply

Your email address will not be published. Required fields are marked *