Clearing and lofting ellipses which are in different angle

Hey guys

So I’m trying to figure out how to create ellipses which have different x plane angles.
I used geometry rotate command and it seems to be changing angles of ellipses however, it doesn’t loft right.

I’m adding the dyn file for reference.

Thanks!
Option 3_test2.dyn (80.5 KB)

Looks like the issue is that your cross sections are self-intersecting. Assuming you want a consistent face that “shrinkwraps” the various ellipses, and that you’re eventually going to have to panelize this into a curtain wall, I thought that now might be a good time to set up the paneling as well.

This graph divides the initial ellipses into a series of points along a cross section, then sorts the points by their Z value, before finally creating a series of ribbons vertically around the building, and joining them into a single solid.

Note that the tight geometry created angles around the top part of the +X side of the form may need some attention (either adjusting the angles/radii, or perhaps a more artistic manual edit post creation), as I doubt this is as elegant as you envision it.

1 Like

Hi Jacob

Thanks for your input!
I’m looking into your workflow now and weirdly even though I’m repeating all your steps I’m getting an error “Dereferencing a non-pointer” as well as the code block with elevation, rotationsets and radiipairing detects an input for lists which is confusing me.

I attached my test file. test.dyn (31.1 KB)

Several issues with lacing (you’re always using shortest, many should be longest), a few missing wires, and a missing code block. Also I added a Point.PruneDuplicates to remove some duplicate points which happened earlier in the graph. Also, by switching the rotation of your ellipses (long axis vs short axis) you’re changing the start point as you climb up the geometry, which will lead to many self intersecting surfaces as things try and twist to connect the dots. Adding a list.sort function into each sublist of x/y axis pairings solved this, but decreases flexibility to some extent.