Rotation Array and Edge Capture

Hi all, fairly new to GH and enjoying the logical aspect to it. But I am stumped on this one aspect of a project that I could use your super-brains for:

Rotation and Edge Capture.3dm (35.8 KB)
Rotation and Edge Capture.gh (14.9 KB)

I am rotating a planar, closed curve 180 degrees in an array both ways along a Nurbs curve, as you can see from my GH file. I want to build a loft along the boundary edges of the rotated curves, but first I need to extract those curves.

I’ve attempted it using two methods, both failed. In the first I made a surface for each closed curve and made a solid union between the two. The output is very strange; it looks like one surface is layered on top of the other. The bottom surface seems to be absorbed by the top, losing its boundary edges, while the top surface retains them.

The second method with the more confusing output, was to create a Region Union to combine the two sets of rotated curves. Unfortunately, it looks like all of the curves along the array somehow got into the mix. Is this a branching issue? I don’t have any experience troubleshooting branching problems.

-Jason

hey @jasongberger,

I took a quick look at your definition, as you figured out, region union is the most fitting way to combine planar curves, in your definition i used the “weave” component, to weave the data streams together so they match up for region union.

Rotation and Edge Capture.gh (19.0 KB)

Wow, thank you Lando! It looks like it took a combination of the two methods to work. For the other method, I never would have thought to use the weave component on my own.

I just wish I could understand how my original first method gave me that strange result.

Okay, now I have another question. Say I wanted to draw a curve that follows the shape as it rotates. I know that I can get the new curve points from a curve division of my arrayed curves and use an item index to connect the correct vertices.

How do I streamline it so I don’t have to create more components for a new index and interpolate curve? I tried using the construct a domain component, but I don’t think I’m using it correctly.

The instructionals I found online all introduce list-item and how to select one index, but I want to know how to group the indexes (indices?) and then use those groups to create separate curves.

Something like this?

Also its a good idea to have a filter in place because on some rotations your union can have small “inner pockets”

Thats what the sort list and list item stuff in the group does.
For you particular case, “flip matrix” is the way to go, as it changes your datatree of points from spanning along each individual divided curve, to spanning over all division points of a given index.

Generally, if you want to learn more about data handling in grasshopper, this video series by the developer of grasshopper gives really nice explanations to datatrees:

1 Like