algorithmic modeling for Rhino

Hi guys!

I'm quite new on grasshopper, and I'm trying to map a geometry on a irregular surface, avoiding that the geometry will be distorted where the surface is smaller.

I searched on the forum and I manage to achieve this result (see image), but as you can see for some reasons the geometry is not rotated in the same direction. I would like to achieve the result in the second image.

Thanks a lot!

Views: 2070


Reply to This

Replies to This Discussion

Wow, this code looks familiar!

Remove the disabled components in the red group:


Hi Joseph,

that's exactly the discussion where I took your code ahah

By the way thanks for your help it's exactly what I wanted,

I would like to ask one morequestion, I'm trying to use a bigger geometry and it does not wrap the surface as it should, any suggestion?

Thanks again!


I don't use this very often so didn't have an answer for you at the time, but have been meaning to get back to you since seeing this thread last Thursday;

I just did a quick copy/paste of that code into yours and came up with this; the 'Graph Mappers' are a bonus feature, set to linear at the moment, but some creative possibilities there.  Surface and 'Geo' inputs are internalized, no need for Rhino file.


Thanks (again) Joseph for sharing your amazing GH skills. I used you file above as the basis for constructing the part shown below. I plan on 3D printing it soon, but want to make a few more tweaks to the overall shape first. 

can you please share the gh code of this one ? =)

Hi Chiar - thanks for your interest in this definition. As I do for all my designs I am about to start posting a photo and the STL file for 3D printing this part. My print finished last night (it took 24 1/4 hours) and the part now looks like this:

I have made some extensive changes to  Joseph's original code, but the basic parts about placing objects on the surface are still intact.  As is typically the case with situations like this, I do not yet completely understand how or why all the code works, but I have learned a lot already and will continue to study it.

I think my version of the code is pretty well finished, but after I post the info for this particular design I plan on making another one that has bumps instead of holes (so it will be solid), and with a different overall shape. I may have to make some additional changes to the code to make this work properly, so I'd rather wait to share the code until after I've done that. It should only take a few hours to make all that happen.

Thanks again for your interest - I'll make another posting here later today.

yes I used the definition but my problem is that I want my geometry folloqing curves, not only isocurves. It means that I want my geometry deformed following red line's direction ( see the pic)  and I hope you will I understand wath I mean and will you help me =) thank u 

I do understand what you mean - I had exactly the same thought about placing objects on the surface. The curves in the image I posted above are in fact ISO curves obtained by twisting the the original shape before applying Joseph's method of getting the surface's ISO curves and splitting the surface.

It seems to me there should be a way to use user-defined curves mapped onto the surface for object placement. What I had planned on trying was something like this:

1. Create the desired 2D curve and create points along it's length that would be the centers for the 3D objects that get morphed onto the surface.

2. Map the curves and points onto the surface.

3. Evaluate the surface at the mapped points and find the surface's UV values for these points.

4. Use those UV values as input to the SurfMorph component to map the 3D objects onto the surface.

I'm not sure I can get this approach to work, but I'll be working on it after I get the part above posted on Thingiverse & Pinshape.

yes more or less this is my tought, but I want to morph and DEFORM my geometry following both isocurves ( that I can extract making divide domain ecc) and the blu and red lines that are the generating lines of my shape (hyperbolic paraboloid). If you can give me some input more I will thank until I die ahahahahah =) 

Morphing the stick-on object is exactly what I did to make the holes in my part. For me this was easy to do because I just modified the X, ,Y, and Z dimensions of the stick-on object, and used SDiff to subtract them from the underlying shape. To do the morphing I used the ScaleNU component with separate sliders for X, Y, and Z values. I think this was part of Joseph's original code.

The holes in my part are made from hemispheres; they appear as ovals because of the initial twist i give to the basic surface. 

To help you I'll simplify my GH file by taking out all the stuff related twisting and 3D printing and post that here. I'll also internalize my vase surface so you can easily replace it with your own. I should have that done within the next hour or so.

thank you so much, I'm trying to learn but this is a little bit complex, thank you for your kindness. It's very important your help for me =)

Here you go Chiar - I hope this helps you.

The file got a lot simpler when I took out all the 3D printing stuff. I reduced the number of cutouts a lot to speed up the processing - as has been noted here before SDiff is slow. 







  • Add Photos
  • View All


  • Add Videos
  • View All

© 2018   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service