 Edit curves mantaining perimeter

Hi! I want to edit a circle, but i dont know how to mantain the perimeter.

Hi -

I’m afraid I don’t know what that means. Could you provide a sketch or a more in-depth explanation?
-wim I have this circle And i want to deform it using SoftEditCrv but i need to keep with an equal perimeter (or area, its the same)

Hi -

For something like that, you should look into using Kangaroo in Grasshopper.
-wim

If the radius of circular part can change but the shape is important then:
Length to measure the length of the undistorted curve. Write down that length.
Edit the curve to the desired shape.
Measure the length of the modified curve.
Scale the curve with the scale factor equal to the length of the undistorted length / modified length.
Note that you can enter the scale as a fraction: 123.56/987.876

If the radius if the circular part needs to be preserved then iteration is needed.
Length to measure the length of the undistorted curve. Write down that length.
Move control points or otherwise edit the curve.
Length to check the length of the modified curve. Note the difference from the original curve.
Move control points or othewise edit the curve so it is closer to the length of the original curves.
Length to check the length of the modified curve. Note the difference from the original curve.
Move control points or othewise edit the curve so it is closer to the length of the original curves.
Iterate until the length is close enough to the length of the original curve.

If manually nudging control points is an accepted solution, you could create an annotation using the CurveLength text field. This will update automatically as one moves a control point.
-wim

1 Like