Matching curve lengths with a macro

I was wonder if you could take two lines with different lengths and match the shorter curve to the length of the larger one with a macro or would that require a script. Right now im using DimCrvLen on two curves and doing the math in the command line using the Extend command.

Hi Tommy - eventually a script might well be the clean way to do this- I have something that just needs a bit of tune up to do what you need, I’ll have a look later.,
If the curves are lines, then a Scale1D macro can help:
Scale1D > Snap to the end of the line that stays put as the base point, then the other end of the line, then type in Length and Enter - select the line to match as the length input and Enter

! Scale1D Pause Pause Pause Length Pause Enter

-Pascal

Hi Pascal, Thanks for the reply that will definetyly help with straight curves for sure but I make patterners for canvas and most of my seam curves that I need to match up are actually curved, not straight. Do you have an idea how i should go about matching the lengths of two curves that are not straight.

Hi Tommy- if you are only shortening curves then you can use SubCrv - set the firdt point at one end of the curve and type in the desired length - you can use the nestable Length command inside SubCrv to grab the length off of another curve.

-Pascal

Would there be a way to add length to the shorter curve, in my case I always match the shorter curve to the length of the larger curve since i can always cut away extra canvas but if its short ill have to re cut.

Hi Tommy- not easily, that I can think of - Extend could use a way to set total length, and not just extension length, but it does not have that now; I’ll modify my scripted tool and we’ll see if that can help.
@Tommy804 - see if this thing helps - save, unblock in Windows,

https://wiki.mcneel.com/rhino/unblockplugin?s[]=blocked

and then drag and drop the rhp file onto Rhino. It has a bunch of more or less useful commands, the one you want is SetCurveLength - length defaults to 1, you can type a number to change it, or click on the Length option - then you can either type or select an existing curve to set the target length.

other commands:
3PtArcFromPoints
3PtArcFromPolyline
ArcFitToCurve
ArcFitToPoints
ArcFitToPolyline
DimCurveAngle
RadiusFrom3Pts
SelArc
SelArcByRadius
SelArcRange
SelCircle
SelCircleByRadius
SetArcDegrees
SetArcRadians
SetCurveLength
SubCrvFromMid

CurveAndArcUtilities.rhp (79 KB)

-Pascal

Thank you for helping me