I am trying to define a routine for a vertical slats facade. The slats rotate based on a central point in such a way that it is symmetrical relative to this point. However, I want to use slats of a certain length that have a minimum 0.9m distance between them so to let a person to go through them. The slat length is the same for the entire facade, but several options are to be tested between 0.4-0.7m.
Here is an example of what I want to achieve:
I am very confused about how to maintain these two conditions in such a way that the distance between slats and the number adapt for different slats lengths.
Thanks
I did this with an Anemone loop (white group, Anemone 0.4) but got confused about what to do beyond the middle point so created a plane there and mirrored the first half. The width of that middle gap is undefined…
use a circle (r = 0.9m) centered on the end of the slat (closest to the guide point far from the curve) and intersect it with your curve to get the insertion point of the next slat. calculate the vector between that insertion point to your guide point and use it to get the next slat. repeat until you’ve covered the curve
it’s basically a for loop … i guess you’ve done that with anemone and you also tried to deal with the exception
but op’s request is invalid architecturally. in reality he’d also want to calculate the position of his next slat by generating the line starting from his point and tangent to the 0.9m circle. that circle is sometimes centered on one end of the slat, sometimes on the other - whichever end is closer to that point
This workaround is great. I believe it is the same principle of what @adel.albloushi was proposing.
However, my goal is to keep a minimum distance of 0.9m in any situation, I believe in this case there are two situations and the closer we get to the center the condition changes as @adel.albloushi commented. I am afraid I don’t know how to address these two conditions with Anemone. Do you have any recommendations on how to do this?
Fyi. The solution gets trivially easy if 1. You use the curve to determine the middle of the slat, and 2. You divide the curve by length using L= slat_width+ clearance.
The drawback is that the spacing will be a little uneven, but it will always be larger than 0.9m
It gets tricky when you want the clearance to be exactly 0.9m.
I see. I understand the minimum distance keep changing and it is not coincident with the start or end points of the curve of the slats. I wonder if is possible to include a condition into the Anemone loop so that if the min distance between one slat and the next is <0.9 then add the difference until 0.9m.