diff --git a/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.inx b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.inx
index 5430855..6875260 100644
--- a/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.inx
+++ b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.inx
@@ -4,6 +4,8 @@
fablabchemnitz.de.epilog_dashboard_bbox_adjust
+
+
false
1.0
diff --git a/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.py b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.py
index 1571df6..a4cd550 100644
--- a/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.py
+++ b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.py
@@ -118,12 +118,6 @@ class EpilogDashboardBboxAdjust(inkex.EffectExtension):
self.document.getroot().attrib['viewBox'] = f'{viewBoxXmin} {viewBoxYmin} {viewBoxXmax} {viewBoxYmax}'
self.document.getroot().attrib['height'] = height
- # translate all elements to fit the adjusted viewBox
- mat = Transform("translate(%f, %f)" % (-bbox.left,-bbox.top))
- for element in self.document.getroot().iter("*"):
- if isinstance (element, inkex.ShapeElement) and element.tag != inkex.addNS('g', 'svg'):
- element.transform = Transform(mat) @ element.composed_transform()
-
if self.options.removal == "outside_canvas":
for element in self.document.getroot().iter("*"):
if isinstance (element, inkex.ShapeElement) and element.tag != inkex.addNS('g', 'svg'):
@@ -132,7 +126,6 @@ class EpilogDashboardBboxAdjust(inkex.EffectExtension):
#inkex.utils.debug("{:02f} > {:02f} {}".format(ebbox.left, viewBoxXmax, ebbox.left > viewBoxXmax))
#inkex.utils.debug("{:02f} < {:02f} {}".format(ebbox.top, viewBoxYmin, ebbox.top < viewBoxYmin))
#inkex.utils.debug("{:02f} > {:02f} {}".format(ebbox.bottom, viewBoxYmax, ebbox.bottom > viewBoxYmax))
-
#self.msg("{} | bbox: left = {:0.3f} right = {:0.3f} top = {:0.3f} bottom = {:0.3f}".format(element.get('id'), ebbox.left, ebbox.right, ebbox.top, ebbox.bottom))
#check if the element's bbox is inside the view canvas. If not: delete it!
if ebbox.right < viewBoxXmin or \
@@ -142,21 +135,25 @@ class EpilogDashboardBboxAdjust(inkex.EffectExtension):
if self.options.debug is True:
self.msg("Removing {} {}".format(element.get('id'), ebbox))
element.delete()
-
- elif self.options.removal == "outside_selection":
+ if self.options.removal == "outside_selection":
if len(self.svg.selected) == 0:
inkex.utils.debug("Your selection is empty but you have chosen the option to remove all elements outside selection!")
return
-
allElements = []
for selected in self.svg.selection:
allElements = self.getElementChildren(selected, allElements)
-
for element in self.document.getroot().iter("*"):
if element not in allElements and isinstance (element, inkex.ShapeElement) and element.tag != inkex.addNS('g', 'svg'):
if self.options.debug is True:
self.msg("Removing {}".format(element.get('id')))
element.delete()
+
+ # translate all remaining elements to fit the adjusted viewBox
+ mat = Transform("translate(%f, %f)" % (-bbox.left,-bbox.top))
+ for element in self.document.getroot().iter("*"):
+ if isinstance (element, inkex.ShapeElement) and element.tag != inkex.addNS('g', 'svg'):
+ element.transform = Transform(mat) @ element.composed_transform()
+
if __name__ == '__main__':
EpilogDashboardBboxAdjust().run()
\ No newline at end of file