I am trying to generate a wooden form made from a chain of compound joints which use repeatable angles (requiring only 30 or 60 degree miter/bevels), so that they are easier to cut on a tablesaw.

Example:

I started by manually modeling the joints with this set of angles, and extracted their edge lines as “options” to choose from for generating a polyline in grasshopper. (I would like to do this mathematically later, but this was faster for now.) I positioned each of these reference curves starting at (0,0,0) and measured their rotation angles (XY and Z) from their endpoints relative to the origin, using ToPolar.

Each joint selects an angle set from these lists to generate a point, relative to a given base plane for defining the polar coordinate space, and then draws a line segment. Then I use the curve frame component at that line’s endpoint as the XY plane for defining the “new” polar coordinate system, to generate the next point using another angle set. So on and so forth. Finally I use sweep1 on the full polyline to generate the sculpture form.

My issue is that the first joint always has the correct angle after I do Sweep1 (as shown, its measurement is 30 degrees) but the second joint does not come out with the correct angle, or any joints thereafter. I manually modeled the correct version next to it, seen below.

I am not sure what is causing this, but maybe it is an issue that each segment is not properly oriented relative to the previous segment. What can I do to align these segments properly? Is there a better approach?

GH Script:

PolarTangle.gh (116.1 KB)