Is it possible to adjust the start/end point of a closed curve?

#1

I have created a series of 300 polygons along a rail. They all have matching direction and start points. I then fillet the corners of each polygon, which is causing many of them to switch directions and to have new start points. (Screenshot Below)

What I would like to do is adjust the start point of each curve to match a parameter at point I have for them. I would also need the direction of the curves to all match each other as well. Once this is solved, I then need to loft them all together, which right now I get self intersection errors if I try, and it fails. I also need to be able to explode the polygon after the fillet, and be able to select the same piece of the curve out of each shape. Currently if I try that with a get item at index, the curve it returns changes for each shape.

My end goal is recreating a grasshopper script in Dynamo. The grasshopper script is not having this issue at all. But I would just use the drag seam component along with the align component to fix the curves. Is there any way to do the same thing in Dynamo?

1 Like
#2

Just a suggestion: it would probably be easier to re-place the original profile(s) along the path. See this for instance:


1 Like
#3

Thank you for the suggestion, however, that will not work for what I am trying to do. The shapes are being generated based on the two guide curves, and each one is unique. They start out as four sided planar polygons, and they have matching direction and start points. It is only after I use the Polycurve.Fillet block that their start points and direction get messed up. Their list order remains intact throughout the process at least, so that is not an issue.

Here is an screenshot showing what happens after I explode the polycurve and try to loft only through one of the eight curves of each shape. I need to get them all back in order to make the loft continuous for each set of curves.

#4
  1. looking at the top and bottom rails, the orientation of your profiles may be getting messed up due to the direction of rail segments or subtleties in their orientation. You could try creating you profiles differently, perhaps begin by getting rail normals at points and checking if they all face the same direction. Then you could construct corner points of your profiles using vector.CrossProduct to get local x and y vectors. This may help ensure profile creation consistency. OR
  2. You could instead loft the profiles without filleting, and then Solid.fillet (I think that’s the node name) the edges of the solid next.