algorithmic modeling for Rhino

hi guys,
is there a way to divide a curved surface in all equal and regular parts?

I've tried to divide it using divide interval and then subsurf(isotrim), but I'm obtaining equal parts just if the surface is flat and straight, once I curve it, the parts are not anymore equal and regular....

thanks a lot!

Views: 24088


Reply to This

Replies to This Discussion

Hi Giulio,

equal parts are only possible in a certain subset of surface case, but it depends a bit on what you mean with "equal parts". Do you mean similar dimensions after unrolling the parts?

To divide a surface more equally, try the attached files.

You basically draw a set of isocurves in one direction, divide those into equal intervals, then connect those division points in the other direction as a set of interpolated-curve-on-surface.

David Rutten
Poprad, Slovakia
Hi DAvid, thank you for your answer

I've saved your file, but I can't open it, I don't know it possible that I have a too old grasshopper version? I have the 06.0018

what I mean for equal parts is that all the "rectangles" in which I subdivide the surface should have equal height, and equal width dimensions.
for instance if I draw a curve surface that has a base curve (in U direction) with a length of 12 meters, and I divide it in 12 parts in U direction, each part should be of 1 meter lenght.
And analogously in V direction...
Yeah, that probably won't work. Download 0.6.0057 instead.

David Rutten
Poprad, Slovakia
I've downloaded it! that's exactly what I meant!
thanks so much!!!

I'm going to study your file tomorrow, I think I'll have some questions, cause I've already seen some components I've never used as the "path mapper"....I actually am not sure about the meaning of the letters in it....

I'll have to use then Isotrim on the surface cause I need to apply bouding boxes on it...

thanks again by now!!! :)
hi David...

I'm stuck on the same point as I'm asking you some further help!

I've more or less understood the logic of the file you sended me, but it seems I can't use it for my purpose.

I need to divide the surface in equal fragments to apply a geometry on it with surfMorph.
To do that I usually used Divide Domain and then SubSrf to obtain the fragments, but the problem is that when the surface is curved, they're not anymore equal and constant in dimensions.

Is there a way to obtain equal fragments on the surface?

Thank you so much!
Hi Giulio,

you have to make the IsoTrim domains yourself, as you cannot use the result you get from DivideDomain. What you need to do is generate equally spaced points along the surface (a la yesterday), then project those points onto the surface, so that you know the corresponding UV coordinates. Every surface iso-trim domain is then defined as the region between two adjacent UV points.

Conceptually it's pretty simple, but I'm guessing it will take quite a few components to perform all these steps.

The steps now are:

1) Divide two surface edges into an number of equal segments (DivideCurve)
2) Project all division points onto the surface, so we know the UV coordinates for all the XYZ points.
3) Shift both UV point lists one item to the right (no wrapping).
4) Create UV domains from the 4 UV points that bound each segment.

I don't have time at the moment to make a ghx file, maybe later.

David Rutten
Poprad, Slovakia
ok...I've tried to follow your suggestions, I've completely understood the logic you've explained me, but then translate it in Grasshopper is a little more complicated.....

I think I'm near the solution, but by now this is what I got, I attach two jpgs...
any suggestion?

(by the way thank you so much for your useful answers!!!)
I've manages it!
Thank you so much for your help David! really!

I attach a jpg of my solution, in case someone may need it.
now I have this doubt......sorry to bother you again!

in the jpg attached there's the subset of the surface I've obtained.
now I need to create another subset of the surface but with a new grid.

The new grid should be the one composed by the area centroids of the previous subsets.

I know I should create again the two edges of the grid, divide them in equal parts and create a new domain, but how can I create the two edges?

thank you so much........again.......4.jpg
Hi I m trying to understand your definition. Is it possible to see your ghx file of 3.jpg it would help me a lot.

best regards baba

I have similar problem.

I dont have a clue how to make uv domine from points? and that is why i cant go for isotrim... 

thanks for hint with uv domine and why in second direction there is a problem with curves on surface.

best karol


Hi Karol,

Try right clicking on your "S" parameter and selecting "reparametarize".
Maybe that will help?






  • Add Photos
  • View All

© 2019   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service