Troubleshooting with divide domain : exact dimensions of panels from a curved surface

grasshopper
freeform
panelling

(Huskenazy) #1

Hi everyone.
I’m new in this forum from the old grasshopper3d.com, so this is my first post.

I have a curved surface i want to panelize in panels of specific dimensions.

Q:I’m having a problem when I divide the surface with the ‘divide domain squared’ component.

The domain of the individual surface in the U direction (divide domain squared output)it’s different from the dimension of the same surface (u dimension output).

This happened only when i use a curved surface, made by the extrusion of an arc or a spline for example. Instead it’s all ok if i use a simple flat surface.

The same issue we can see if we measure the lenght of the borders of the surface: with ‘dimensions’ component and by extracting the lines with ‘deconstruct brep’.

Here is the definition as png image

Here the files:
rhino srf panelizing.3dm (148.1 KB)

grasshopper srf panelizing.gh (23.3 KB)

Thanks


(David Rutten) #2

Parameters are not equal to lengths. You can easily see this by dividing a curve domain into equal steps and then evaluating at the domain divisions: divide curve domain.gh (7.6 KB)

See how the division points are spaced further apart when adjacent control-points are further apart? And how there’s additional stretching near the ends of the curve? The exact same thing happens with surfaces too. Sometimes a curve or surface can be defined mathematically in such a way as to give consistent parameter spacing along its length (with lines and plane surfaces for example), but you cannot rely on this being the case.

If you want to divide into equal length segments, then you must use the Divide Curve components. Then after you’ve divided your curve you can project those division points back into surface uv space to get the actual equal length subdomains.


(Huskenazy) #3

Hi David Rutten,
and first of all thank you for the fast answer.

What you told me it’s very interesting, and i tried to do a new definition to develop the problem. (See below)

Anyway i don’t understand what you meant to do exactly.
Q:Could you show me how to do it?

This is my definition:srf panelizing_02.gh (26.8 KB)
with rhino file: srf panelizing_02.3dm (137.7 KB)

I extracted the parameters from Divide component and then i created a new Divide domain squared, that has a quite different result from the domain created with the original Divide domain squared.

Moreover it seems that the curves are not exactly all the same, but some are longer, other shorter (even if with a very small difference).

Could you tell why? maybe for the tollerance?

Thanks in advance


#4

Hi. Take a look at the attachment.
If you’d like to retrieve more even and stabilized edge length result using Divide Domain2 and Isotrim, then try to rebuild your initial referenced surface.

srf panelizing_02_re.gh (37.2 KB)


(Huskenazy) #5

Thank you @HS_Kim, nice trick!
I added some description to understand better.
srf panelizing_02_re2.gh (22.7 KB)

And if i want to get the same result but with flat panels, how would you do?

PS How do you write component names in that way in the messages?


(Laurent Delrieu) #6

See here


(Huskenazy) #7

thanks @laurent_delrieu