Hey everyone!
I’m working on a hyperboloid tower structure in Grasshopper, where horizontal rings are generated from a set of intersection points of diagonal members. The idea is to group points by their Z-values, connect them with polylines to form closed rings, and make sure that all local axes are consistently aligned.
Since I’m using Karamba3D for structural analysis, I need to ensure that each ring’s local axis system behaves the same way, with the normal vectors pointing toward the center of the ring.
The problem is, most of the rings are working exactly as expected, but for some reason, three specific rings (the 2nd, 9th, and 16th ones) have different local axis orientations than the others.
No matter what I do, I can’t seem to get these three rings to align properly. They either:
- Flip unexpectedly,
- Have slightly different local axis directions compared to the others,
- Or rotate in ways I don’t fully understand.
I’ve gone through so many iterations to fix this, but at this point, I feel like I’m missing something fundamental, and I’d love to hear if anyone has ideas on how to fix this!
I’m attaching:
- My Grasshopper file
- Screenshots showing the issue
- Python scripts I used inside Grasshopper to generate the polylines and check local axes
Any help or insight would be really appreciated! Thanks in advance.
2 hyperboloid frame to compare v2.gh (52.5 KB)
Python 3 Script I.py (580 Bytes)
Python 3 Script II.py (1.0 KB)