dear Nic
there is a _fixedLengthCrvEdit Command
if i understand correctly, you scanned the 2d - pattern ?
Otherwise (starting with 3d-data) the _squish command allows to more or less preserve Edge / Boundary length. See BndStrecht / BndCompress options
https://docs.mcneel.com/rhino/7/help/en-us/index.htm#commands/squish.htm
It should also be possible to trimesh the flat surface, and then use grasshopper / kangaroo to reach some length-goals.
with a fast search - this is the best i found to start with:
not sure if this helps - kind regards - tom