New GH User Object – Curve Ascending/Descending Values [plus] update on all the components for Grasshopper 0.9.xxxx


Due to the release of Grasshopper 0.9. series I spent some time in fixing my old components and User Objects so that they are up to date with the newest versions and the ZUI interface. you can download the updated versions at the usual place.




In addition to that I made another simple yet quite useful addition to Digital [Sub]stance user objects.

This addition consists of an ascending or descending value generator component with the dependency based on a Curve object. The component accepts point lists and curves as inputs and outputs a range of values equal to the length of the point list in accordance to the distance of every point from the curve, that are then ready to be used in any topological or morphological configuration.



I have included an example by the screenshot below that creates some form of lizard skin using the Curve Asc/Desc values GH User Object. Download the Gh User Object here.


23 thoughts on “New GH User Object – Curve Ascending/Descending Values [plus] update on all the components for Grasshopper 0.9.xxxx

  1. Hello Marios,

    The “lizard” skin definition is absolutely fantastic and it could be very useful for many people. I’ve just made it based on your image and everything works fine, but i want to change the base pattern shape from rectangular to some other shape. What would be the best way to do it? Also, i am interested in making a transition from one base shape to other (rectangle to circle for example…) and i would kindly ask you to give me some guidelines for making these changes.

    Thanks and kind regards,


    • Hi Lazar,
      Thank you for your kind words.. You can basically change the topological configuration of the “skin” either by using one of my other paneling user objects(ie rectangular, honeycomb) or just use any other surface tessellation providing an alternative topology configuration organized in closed polyline curves. Even convex hull would work in this case.
      On the other hand, a transition from one geometry to another is going to involve some more complex operations and modifications of the original definition rather than a simple switch of components on the tessellation of the surface.. However, you could achieve a similar effect by different smoothing algorithms on the panels of the tessellation( more quads output a more exact smooth description of the geometry i.e celled box, where less quads lead to circular more round-ish outputs). I hope this is all clear enough for you. Don’t hesitate to ask any questions you may have.

  2. Hi Marios,

    Thank you very much for your fast response. Ok, I understood you completely. I hope i will be able to achieve some good results with changing the configuration of the skin as well as applying some tessellation. I will let you know…

    Again, thank you so much for your help, and of course, for writing this beautiful definition 🙂

    Kind regards,


  3. Dear Marios,
    I am new to Grasshopper and VB script. Could you direct me which VB script I should copy and paste into the pointArr-VBscript icon. It is different from HoneyComb VB script right?
    It is a bit of an urgent. Thank you in advanced.

    • hi Mickey,
      The Vb script in this case is the rectangular panels component. I was in the process of updating it when I made this def, so no icon as you can see. You can download it as a GH user object from the SubCode page.

  4. hello marios, i want to make a small pavilion shell following this kind of pattern but i actually need it to respond to some lightning/solar analysis, any idea how to combine this with ecotect? even the least help will be good. your site is great btw, keep the awesome work!

    • Hi Andras,
      I suppose you already know about utilizing the gecotect add-on from Uto to get a realitime ecotect analysis inside your gh definition,right? So apart from that, then is decision making from your side, how will you be able to translate this data into geometry, for example larger radiosity values result to greater extrusion of the the panels. So you basically have a data field from gecotect translated into a geometry field in GH.
      I strongly suggest to use my nuibranch add-on for calculating the curve depended values if you have a curve in the end..

  5. Hey Marios,

    Mate this skin is a good looking experiment. I’ve tried to follow how you put it together but in the image I can’t tell which inputs go where, so the definition isn’t quite working out. I was wondering if you could either send my the definition to play with or explain where exactly the VB script definition needs to go to. Any reply is appreciated.

    • Hello Earl,
      Sorry for th late reply. I don’t think I have the definition saved. The VB script in this def is the Rectangular panels componet I have previously shared on this blog. Go and grab it here.
      Other than that this def also uses weavebird and the unify normals component for UTO.
      Let know if any specific questions arise.


  6. Dear Marios, Thank you so much for sharing with your amazing works, you doing such a great job. I hope that one day I will use grasshopper like a pencil. But for now I am just learning this tool. So, thank you for your help! I am working on one school project and I am trying to recreate lizard skin with sun adaptive opening for shading structure. And I found your amazing work, including this one, so I am recreating your definition so that I can play with that. But I am stuck on one component, i just can’t find it, can you please put me in a right direction. What component are you using in your definition above? It’s a yellow triangle with black arrow up (component?) – it has B and P on a left side and E on a right side. VB panel frames goes to B (component?), Move Geometry to P (component?), and from E (component?) to Brep Components (Explode). I will greatly appreciate your help if you just can put me in a right direction. Thank You,

    Best Regards,

  7. Dear Marios,

    Thank you very much for your quick response. That was easy, I don’t know how did i missed that. Thank you. Now it’s work like a charmed! I really appreciate that you share your work that inspire so many people, including me. Thank you.

  8. Hi Marios,

    I just got introduced to grasshopper, and with your work it gets more and more interesting so I wanted to thank you for sharing your knowledge. I’m working on a surface trying to apply the lizard skin or the Ora-ito sculpture styled texture. it is a project for automotive design class and the part where the skin will be applied is supposed to be 3D printed in a clear material so the light could interact with it displaying all the little parametric details. The result wanted is pretty much a gradient from soft to skin textured forming the logo of the car company … So far my multiple attempts are only full of hope but no success. Copying the lizard skin definition I’m always ending with the points from the surface projected at on point next to the origin. My guess is that the problem comes from the extrusion function but that is all I could think about.
    Can u please help me on this endless task ?

    Thank you in advance

    • Hello,
      thanks for your comment. Unfortunatelly I ca only speculate on what might be going wrong without seeing the actual definition.
      A lucky guess would be that you are not reparametrizing the surfaces when you evaluate them, hence the points are concentrated in a small area of 0.0 to 1.0 two-dimensional domain.
      Does any of this make sense?
      Post the def if you like and I will have a look as soon as I find some time.

  9. Hi and thank you for all the amazing work you share with us, I would love to try and make the lizzard skin using your adc/des component but I am not able able to see the pic with the example is it removed?Or can I find it in another place?
    Thank you in advance

    • Hi Kalliovi,
      Unfortunately I haven’t got this definition saved and its a long time since I’ve made this post. If I am not mistaken I have answered a similar question on the old Grasshopper3d forum.
      Its just stellated mesh quads with different extrusions according to the scalar field from the user object and then catmul-clark smoothing.
      Let me know if this helps.
      FYI this functionality is hardcoded into the Nudibranch plugin I’ve released well almost 5 years ago.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s