Surface box issue

Hello Everyone,
I’m dispatching a list of subsurfaces based on the angle between their normals and a custom vector. I dispatched them into 3 groups in order to apply a different panel to each group.
My issue is, that when I use Surface Box for my last dispatched group, the boxes do not get mapped onto the surface but instead start to peel away from it and also create an extra panel at the top. Please, see the attached clip as well as Rhino and GH files.
Could someone, please, help me understand why this is happening.
Thank you All,


2024 0803_Surface box.gh (26.1 KB)
2024 07_responsive modulation.3dm (420.0 KB)

Right or wrong, I jump to conclusions sometimes without fully understanding what’s going on. :wink:

In this case, I was more familiar with SrfMorph than Box Morph and was dubious about making choices based on angles when area of SubSrf fragments appeared to correspond well to your green, blue, red color scheme.

So I set off in that direction and came up with this:


SrfMorph_2024Aug3a.gh (19.8 KB)

I kept your code until the last minute, comparing mine to yours to make sure they matched reasonably well. The ‘Max’ slider (blue group) is a way of limiting the domain of areas so when divided by three, the green, blue, red areas are roughly the same. I suppose angles could be used instead of areas and might try that in the morning. :zzz:

Oh, wait :bangbang: How silly of me. I found the simple error in your code while looking at Box Morph. You had connected Dispatch ‘B’ via Flip to the ‘S’ input of SBox instead of the same surface your used for the first two. Maybe I’m not the only one feeling sleepy? :sunglasses:


2024 0803_Surface box_re.gh (25.7 KB)

1 Like

OK, I’ve done that but get a different color pattern than you did. Don’t know why. I’ve examined it pretty carefully (before breakfast and coffee). One of us is wrong… :thinking:


SrfMorph_2024Aug4a.gh (28.2 KB)

Here is the same thing using Box Morph instead of SrfMorph.


BoxMorph_2024Aug4a.gh (26.1 KB)

Don’t know why you use Box Morph? For that matter, I don’t understand the point of this code at all? It strikes me though, wouldn’t it be better if all the rectangles were the same size instead of distorted by surface curvature? Maybe after breakfast I’ll try it again without SubSrf (Isotrim).

I created a DivSrf cluster to do that, though it’s probably available from ‘PanelingTools’:

Internals of DivSrf cluster:

I started to create Iso Curves (disabled) to split the surface but instead created Domain² for SubSrf (Isotrim), which is also handy for DeDom2 required by SrfMorph. I took extra time to make sure the cluster and surrounding GH can handle multiple surfaces.

I guess what this code does is use small holes when the angles are small (green) and large holes when the angles are large (red)? All geometry is internalized, no need for Rhino file.


SrfMorph_2024Aug4b.gh (89.8 KB)


BoxMorph_2024Aug4b.gh (87.5 KB)

P.S. Decreased value on first slider in blue group.

Hi Joseph,
Thank you very much for looking so deep into this.
Indeed. This was the error I made and when corrected the output is correct.

I’m just in the process of learning GH. This code is taken from this tutorial book,
maybe you have seen this PDF before:

generative algorithms

See page 113

Six days later?

The unanswered question is why did we get different results? Which one is correct?

To answer my own question, I can adjust the sliders in the blue group to match your results:


SrfMorph_2024Aug9a.gh (86.0 KB)

Other unanswered questions:

Joseph,
your varying output was caused by the “true” value in the “B” of “consecutive domain”.
It produces different domain boundaries from what you want. Change the “Boolean” in “B” to “false” and you will have a matching output. Let me know if it worked?

The point of this “overly simplistic” exercise was to mimic a responsive building skin.
If the predominant sun exposure is determined (the given vector), then the building would want higher porosity on the surfaces that are more oblique to that vector and be more solid on the surfaces that are more perpendicular to the vector of sun exposure. This script tries to mimic that sort of behavior. Doesn’t it?

There is an ‘A’ input, not a ‘B’ input on Consec. But yeah, setting it 'False" fixes the differences when reverting to the original slider values (0.40 & 0.80). Don’t know how that happened, this thread is ancient history for me.

I thought it was about wind protection instead of sunlight. “Oblique” is an odd word:

neither parallel nor at a right angle to a specified or implied line

The issue is confused by another issue I mentioned that you haven’t addressed:

My DivSrf cluster made the SubSrf (Isotrim) fragments the same size so different hole sizes make more sense. In that case, it’s more obvious that green holes are smallest and red holes are largest. That’s what you want, eh?

I agree on all of your points:

Yes, I meant “A” input in the “Consecutive Domains”.

Yes, “oblique” would be the wrong word. I should say “sharp” angle.
Surfaces that are more perpendicular to the vector (more aligned with the normal vectors) should have smaller apertures (green),
and those surfaces at a sharp angle to the vector should have large apertures (red).

image

I agree that this logic would be similar for the wind study.

And yes, I was thinking the same - how to subdivide surface into equal fragments without
distortion. Was not sure on top of my head how GH would do it…
Do you really need a custom cluster, they still don’t have a component for that?

I wrote it just for your project. It’s simple, open source, nothing secret about it. Or, as I said, I believe the McNeel ‘PanelingTools’ plugin does that.

Thank you!

Joseph, would you mind sharing your .gh file fir DivSrf ?

Not at all. It’s embedded in the GH files where I posted and discussed it a week ago, SrfMorph_2024Aug4b.gh and BoxMorph_2024Aug4b.gh, first purple group. Double-click the cluster to edit it.

I appreciate it!