Facade openings control

I’m trying to design the following type of facade where the inner offset triangle is based on the movement of one point along a vector changing through attractor point data.

However, I’m not able to arrange my data in such a way that some triangles don’t offset based on the attractor point and stay closed.

triangle vector facade query.gh (24.1 KB)

Please help.

triangle vector facade query_re.gh (15.1 KB)

1 Like

Amazing!! Thanks a lot!

Sorry… I could have made the definition even more simpler.

triangle vector facade query_reV2.gh (13.5 KB)

1 Like

Thanks a lot again. I’m still trying to figure out the usage of various components here. The most complex computation it seems like is done by shift path. What exactly is it doing here?

If you compare the data tree structure before and after Shift Paths, it brings the modified data tree structure due to Explode back to the orginal data tree from Scale.

1 Like

Thanks. I’ll study further this script and get back to you.

I am comparing this script with a very simple point attractor. Everytime I’ve made a point attractor system, I always flatten the output of cells.

If I don’t do it and let them stay in branches, I get this.


In your script, you didn’t flatten the output of triangular cells and the script is functioning totally fine. How is data matching happening? I am not able to understand.

Another query.

How did you arrive at 6.649? While playing with the slider, I realized that after the value of 10.000, nothing happens. Please provide your method of calculating for this number.


Try to flatten the ‘N’ input of Bounds.

I usually set the influence range values to some numbers in between the bound(domain)of 'D"(distance)output values.

1 Like

It is already flattened in your script. I don’t understand this part.

Okay. I understood this part.

? I mean this.

Okay. Yes. You’re right, when the output of cells aren’t flattened and I flatten my bounds input, the script works fine. All this time I thought closest point component requires uniform flattened data in a single branch in such cases so it is doing a comparison for all the distances from the triangles in one single branch.

I also had thought earlier that if we don’t flatten the output of cells, the comparison happens branch wise. I.e. in every branch there are equal number of triangles, i.e. 20, so only one triangle per branch will get selected for closest point calculation.

What exactly is happening now when branched data is inserted into closest point component?

That’s a misunderstanding. If you have a look into the Cloest Point’s CP index output, it will spit out the index number of your closest attractor point(If your point attractor count is 3, that will be one of 0~2) per point in your grid branch.

1 Like

Okay. I see. Thanks a lot for clearing my concepts! :+1: