I like a good challenge[1], so here you go:
When you have overlapping shapes, it can be a tedious job to union the shapes and preserve the overlapping lines. I built an extension to do it for you. Here’s what it does.
It converts this:
to this:
I know most people are impatient, so here you go.
overlap_scores_v0.01b.zip (7.9 KB)
This is new beta stuff, and it may break. I’m only one person with one computer, you guys would be doing me a huge favor if you not only test it but also break it. If you do break it, please reply with the svg that broke it so that I can reproduce the issue and try to resolve it. Use undo to get the svg to the point where it is ready to break the extension, and save and send it along.
An excerpt from the README:
Overlap Scores Inkscape Extension
Too Long, Didn’t Read? (TL;DR):
This extension calculates overlap scores for paths in Inkscape, identifying intersections and adjusting path properties accordingly. It helps analyze and refine vector designs for laser cutting, CNC, and other precision applications.
To quickly use this Inkscape extension:
-
Copy both
overlap_scores.py
andoverlap_scores.inx
into your Inkscape “extensions” folder. This folder is typically located:- Linux:
~/.config/inkscape/extensions/
or/usr/share/inkscape/extensions/
- Windows:
%APPDATA%\Inkscape\extensions\
orC:\Program Files\Inkscape\share\extensions\
- macOS:
~/Library/Application Support/org.inkscape.Inkscape/config/inkscape/extensions/
or/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/
- Linux:
-
In Inkscape:
- Select the paths to analyze.
- Go to the “Extensions” menu.
- Find “Generate from Path” and select “Overlap Scores”.
Done! The extension will calculate overlap scores and modify paths accordingly.
More examples:
And a stress test:
BTW, good guess:
Took a bit more than a day to get to it, but here we are.
…and I hate subscription services. ↩︎