Can you elaborate on what the reason for a second itteration would be?
Say you have modeled the boat, and flattened all parts.
What is the incentive to edit the surfaces and unroll again?
Is that after a first build and you need to update the model or is it that you want to update the flat parts after reviewing the 3D model?
The way I’d go about scripting this in your scenario, is by assigning a unique name to the original surfaces.
Their unrolled counterparts would carry the same name yet reside on a different layer.
When updating your model, you would need to make sure the new surfaces have the same unique name.
Then when you want to update the unrolls, the script would:
- Ask user to select updated surfaces ( or just update all surfaces on a specific layer)
- search corresponding unrolled surfaces and their curves and delete them
- unroll the updated surfaces with al geometry grouped with it
- position the unroll result as was the previous unroll positioned
This last action is somewhat difficult as you would need to find a way to store the unroll position and orientation in a way that does not rely on the unroll result position and orientation, for this can change when a surface is edited. I’d suggest to add some reference points or curves on the original surface that define a point and orientation axis.
These can then be used to orient the unrolled surface result.