Hi,
I divided the problem into smaller parts:
1. Make a function that gets rid of all the strokes without changing what the user sees. That means, iterate over each objects, check if they have a visible stroke (width > 0 and not fully transparent), duplicate it if it has a visible fill and finally convert the stroke to a path.
2. Get rid of all clipping and masking. Identify every object which has a clip or mask set and replace the object by the intersection of the clip (mask) and the original object.
3. Remove all overlap by removing the shape of the topmost object from all underlying objects and so on.
Can I do these tasks via an extension without having to re-program intersection calculation, stroke-to-path etc?
Is this just a very special case or does it have wider use than vinyl cutting (and embroidery)?
Regards, Alexander