Ich habe ein paar Formen (mehr als 500, um genau zu sein), die Gruppen von Pfaden sind. Wie im Bild unten sehen Sie nur die äußere Form und alle Löcher sind mit der äußeren Form gruppiert.
Um das gewünschte Ergebnis zu erzielen, löse ich einfach die Gruppierung des Objekts auf, wähle Pfad-> Unterschied und erhalte die gewünschte Form.
Links: Wie es nach dem Import aussieht, Mitte: Die Formen in der Gruppe, Rechts: Ergebnis nach Aufhebung der Gruppierung und Differenz
Gibt es eine Möglichkeit, den folgenden Pseudocode grundsätzlich in Inkscape zu implementieren?
FOREACH GROUP g in DOCUMENT
ObjectPaths = UNGROUP(g)
PATH_DIFFERENCE(ObjectPaths)
Ich würde mich über jede Lösung freuen, bei der nicht mehr als 500 Mal geklickt werden muss.
Scripting-Dokumentation ist Inkscape ist wirklich dünn. Während ich es nicht geschafft habe, dies in Python zu lösen, bietet die Befehlszeile eine Möglichkeit, dies wie folgt zu lösen:
inkscape --verb EditSelectNext --verb SelectionUnGroup --verb SelectionDiff \
--verb EditSelectNext --verb SelectionUnGroup --verb SelectionDiff \
#... copy and paste the line above 500 times more ...
--verb EditSelectNext --verb SelectionUnGroup --verb SelectionDiff \
--verb FileSave --verb FileClose \
--verb FileQuit file.svg
Billy Kerr
Olf