From d9922309c20e58576c8d298dc1989c12b4b88a87 Mon Sep 17 00:00:00 2001 From: Mario Voigt Date: Mon, 5 Jul 2021 18:44:04 +0200 Subject: [PATCH] fixes and ehancements in tab generator --- .../{tabgen => tab_generator}/.gitattributes | 0 .../tabgen.inx => tab_generator/tab_generator.inx} | 13 +++++++++---- .../tabgen.py => tab_generator/tab_generator.py} | 12 +++++++++++- 3 files changed, 20 insertions(+), 5 deletions(-) rename extensions/fablabchemnitz/{tabgen => tab_generator}/.gitattributes (100%) rename extensions/fablabchemnitz/{tabgen/tabgen.inx => tab_generator/tab_generator.inx} (75%) rename extensions/fablabchemnitz/{tabgen/tabgen.py => tab_generator/tab_generator.py} (97%) diff --git a/extensions/fablabchemnitz/tabgen/.gitattributes b/extensions/fablabchemnitz/tab_generator/.gitattributes similarity index 100% rename from extensions/fablabchemnitz/tabgen/.gitattributes rename to extensions/fablabchemnitz/tab_generator/.gitattributes diff --git a/extensions/fablabchemnitz/tabgen/tabgen.inx b/extensions/fablabchemnitz/tab_generator/tab_generator.inx similarity index 75% rename from extensions/fablabchemnitz/tabgen/tabgen.inx rename to extensions/fablabchemnitz/tab_generator/tab_generator.inx index 80f5b04d..808b4116 100644 --- a/extensions/fablabchemnitz/tabgen/tabgen.inx +++ b/extensions/fablabchemnitz/tab_generator/tab_generator.inx @@ -1,7 +1,7 @@ - Tabgen - fablabchemnitz.de.tabgen + Tab Generator + fablabchemnitz.de.tab_generator 45.0 @@ -23,6 +23,9 @@ + 1.0 + 3419879935 + 1592519679 true false @@ -33,10 +36,12 @@ all - + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/tabgen/tabgen.py b/extensions/fablabchemnitz/tab_generator/tab_generator.py similarity index 97% rename from extensions/fablabchemnitz/tabgen/tabgen.py rename to extensions/fablabchemnitz/tab_generator/tab_generator.py index 4816d797..454b69ab 100644 --- a/extensions/fablabchemnitz/tabgen/tabgen.py +++ b/extensions/fablabchemnitz/tab_generator/tab_generator.py @@ -22,7 +22,7 @@ tabs and score lines for each straight edge. """ import inkex -from inkex import Path +from inkex import Path, Color from lxml import etree import math import copy @@ -77,6 +77,9 @@ class Tabgen(inkex.EffectExtension): pars.add_argument("--dashlength", type=float, default=0.25, help="Length of dashline in dimentional units (zero for solid line)") pars.add_argument("--tabsets", default="both", help="Tab placement on polygons with cutouts") pars.add_argument("--unit", default="in", help="Dimensional units of selected paths") + pars.add_argument("--strokewidth", type=float, default=1.0, help="Stroke width (px)") + pars.add_argument("--color_solid", type=Color, default='3419879935', help="Solid line color") + pars.add_argument("--color_dash", type=Color, default='1592519679', help="Solid line dash") pars.add_argument("--print_debug", type=inkex.Boolean, default=True, help="Print debug info") pars.add_argument("--keep_original", type=inkex.Boolean, default=False, help="Keep original elements") @@ -489,6 +492,7 @@ class Tabgen(inkex.EffectExtension): def effect(self): + scale = self.svg.unittouu('1'+self.options.unit) layer = self.svg.get_current_layer() tab_angle = float(self.options.tabangle) @@ -499,6 +503,11 @@ class Tabgen(inkex.EffectExtension): savid = '' elems = [] pc = 0 + + solidLineStyle = {'stroke': str(self.options.color_solid), 'fill': 'none', 'stroke-width': self.options.strokewidth} + dashLineStyle = {'stroke': str(self.options.color_dash), 'fill': 'none', 'stroke-width': self.options.strokewidth} + + for selem in self.svg.selection.filter(inkex.PathElement): elems.append(selem) if len(elems) == 0: @@ -557,6 +566,7 @@ class Tabgen(inkex.EffectExtension): else: raise inkex.AbortExtension("Unrecognized path command {0}".format(ptoken.letter)) npath.path.append(inkex.paths.Line(ptx2,pty2)) + npath.style = solidLineStyle if ptoken.letter == 'Z': npaths.append(npath) else: