Hello! I am currently stuck with multiple cuboid frame not orienting towards the center of Geodesic Dome. I am looking for result like image shown below which I have done manually but it’s not working through grasshopper.
Assuming that your dome is a tri Mesh (the standard approach - in real life) there’s 2 ways to do this. Let’s talk about the first (that gains momentum in BIM things these days). I.e. stand alone tri modules (on a per Face basis - that eliminates the connector part of the story):
Get a Mesh Face and the adjacent Vertices.
For each Vertex (the currrent) get the next and the previous ones.
Get the prev Vector3d: vPrev = Unitized(previous - curr) and the next Vector3d vNext = Unitized(next - curr) and the bisector vBis = vPrev+vNext;
Get the Vector3d angle (vPrev, vNext). Called it , say, a.
For a given width W the inwards point (per vertex v) is v + vBis * (W/Math.Sin(a/2.0)). So you have 3 inward points (in fact in real life we apply to Vertices some small pragmatic assembly offset - but forget that for the moment).
Get the Normals per vertex (these are Unitized anyway) and given the height H of the frame define the inward/outward points: v + Normal * H. With these 3 “offset so to speak” points find their inward points as above.
So you end up with 3 + 3 (say the outer skin) plus 3 + 3 points (say the inner skin) that can define 3 (6 side) Meshes/Breps i.e. the items on per standalone Face frame. Sketch in a piece of paper a tri Face and the 12 points as above in order to get the gist of it.
In fact there’s the torsion free (per beam item) little matter (general case: any template Mesh)… but forget that for the moment (it’s solvable anyway via K2).
I have various C# things that do that … but is pure code and not a single native component on sight. But if by accident you want a similar solution drop a word.
The other way is to use the dihedral vector (Face, adj Face Normals) and create a single item (per Mesh Edge) … but this requires designing a proper connector node that in real-life is hidden from view (and if is a fixed thing [i.e. with no “moving” parts - up to a point] … well I would strongly advise to avoid that approach). Obviously the torsion free beam requirement is also true for such a solution (general case: like the elipse dome shown or any template Mesh in fact).
Here’s a real-life stand alone frames envelope (spot the “gap” via the offset mentioned above) :
Thank you very much @PeterFotiadis for your response. Actually I am looking for the output where we are using square tubes of 40mm x 40mm welded together to form a geodesic dome. I just want those sqaure tubes to remain on their axis while facing center. Is there simple approach to achieve that.
Also incase if there is no other option, could you please provide me your solution?
If you knew how to code it’s just a few lines of code. I have no idea how to do it with components (I never work with these).
In fact the beam profile (rect or other) profile is placed in a Plane where yAxis is the dihedral Vector (sum of Face/Face Normals) and the xAxis is the Cross Product using yAxis and edge.Direction. You sould trim the Mesh/Brep (per Edge and the adj 2 Vertices) using 4 bisector Planes (where xAxis is the vertex Normal and yAxis is the bisector Vector - as described above).
Note: Welding these beams each other is a 10000% Academic solution and we never use this approach in real-life. If you have plans to become a pro someday avoid that kind of thinking.
Note: LBS is one thing (the easy one) but a proper leak-free final envelope (alum/steel + glass, lexan, PC etc etc) is another animal. For instance (that’s a bit naive since it assumes that structural silicone lasts for ever):
In the mean time study this “abstract” beam section at some Mesh Edge. Using a rect profile (the red) … well … it could make things a bit complicated - for no reason - in case that you want to do some sort of leak-free envelope (even a mini-demo one with glued glass tri panels). Remember: the scope of any dome is to support some envelope.
Note: the 2nd red profile shown is indeed used in trusses done via, say, a ZK-Mero System. But this requires complex and very expensive hinged alum systems like the one below (I suspect 1M miles away from what you have in mind for your mini/demo dome envelope):