diff --git a/extensions/fablabchemnitz/affine_spirals/affine_spirals.inx b/extensions/fablabchemnitz/affine_spirals/affine_spirals.inx
index 26ababb9..5b92ba53 100644
--- a/extensions/fablabchemnitz/affine_spirals/affine_spirals.inx
+++ b/extensions/fablabchemnitz/affine_spirals/affine_spirals.inx
@@ -4,9 +4,9 @@
fablabchemnitz.de.affine_spirals
- 3
- 2
- 0.8
+ 3
+ 2
+ 0.8
diff --git a/extensions/fablabchemnitz/apollonian_gasket/apollonian_gasket.inx b/extensions/fablabchemnitz/apollonian_gasket/apollonian_gasket.inx
index 47bc22da..c069020e 100644
--- a/extensions/fablabchemnitz/apollonian_gasket/apollonian_gasket.inx
+++ b/extensions/fablabchemnitz/apollonian_gasket/apollonian_gasket.inx
@@ -3,18 +3,20 @@
Apollonian Gasket
fablabchemnitz.de.apollonian_gasket
-
- 3
+
+ 3
2.0
3.0
3.0
true
+ true
+
-
+
+c1,c2,c3 = curvatures of first 3 osculating circles
diff --git a/extensions/fablabchemnitz/apollonian_gasket/apollonian_gasket.py b/extensions/fablabchemnitz/apollonian_gasket/apollonian_gasket.py
index 1b8c78b5..c859d2db 100644
--- a/extensions/fablabchemnitz/apollonian_gasket/apollonian_gasket.py
+++ b/extensions/fablabchemnitz/apollonian_gasket/apollonian_gasket.py
@@ -13,23 +13,29 @@ def cplxs2pts(zs):
return tt
def draw_SVG_circle(parent, r, cx, cy, name):
- " structre an SVG circle entity under parent "
+ " structure an SVG circle entity under parent "
circ_attribs = { 'cx': str(cx), 'cy': str(cy),
'r': str(r),
inkex.addNS('label','inkscape'): name}
-
-
- circle = etree.SubElement(parent, inkex.addNS('circle','svg'), circ_attribs )
+ circle = etree.SubElement(parent, inkex.addNS('circle','svg'), circ_attribs)
+
+def draw_SVG_circleAsPath(parent, r, cx, cy, name):
+ circ_attribs = {
+ "d": "M {:0.6f}, {:0.6f} a {:0.6f},{:0.6f} 0 1,0 {:0.6f},0 a {:0.6f},{:0.6f} 0 1,0 {:0.6f},0".format(
+ cx - r, cy, r, r, 2*r, r, r, -2*r),
+ inkex.addNS('label','inkscape'): name}
+ circle = etree.SubElement(parent, inkex.addNS('path','svg'), circ_attribs)
class Gasket(inkex.EffectExtension): # choose a better name
def add_arguments(self, pars):
- pars.add_argument("--depth",type=int, default=3, help="command line help")
- pars.add_argument("--c1", type=float, default=2.0, help="command line help")
- pars.add_argument("--c2", type=float, default=3.0, help="command line help")
- pars.add_argument("--c3", type=float, default=3.0, help="command line help")
- pars.add_argument("--shrink", type=inkex.Boolean, default=True, help="command line help")
- pars.add_argument("--active_tab", default='title', help="Active tab.")
+ pars.add_argument("--active_tab")
+ pars.add_argument("--depth",type=int, default=3)
+ pars.add_argument("--c1", type=float, default=2.0)
+ pars.add_argument("--c2", type=float, default=3.0)
+ pars.add_argument("--c3", type=float, default=3.0)
+ pars.add_argument("--shrink", type=inkex.Boolean, default=True)
+ pars.add_argument("--as_paths", type=inkex.Boolean, default=True)
def calc_unit_factor(self):
unit_factor = self.svg.unittouu(str(1.0) + self.options.units)
@@ -86,7 +92,10 @@ class Gasket(inkex.EffectExtension): # choose a better name
#rescale and add circle to document
cx, cy, r = scale_factor * cx , scale_factor * cy, scale_factor * r
- draw_SVG_circle(topgroup, r, cx, cy, 'apo')
+ if self.options.as_paths is False:
+ draw_SVG_circle(topgroup, r, cx, cy, 'apollian')
+ else:
+ draw_SVG_circleAsPath(topgroup, r, cx, cy, 'apollian')
if __name__ == '__main__':
Gasket().run()
\ No newline at end of file
diff --git a/extensions/fablabchemnitz/vpypetools/vpypetools.py b/extensions/fablabchemnitz/vpypetools/vpypetools.py
index 4714845c..47e93b73 100644
--- a/extensions/fablabchemnitz/vpypetools/vpypetools.py
+++ b/extensions/fablabchemnitz/vpypetools/vpypetools.py
@@ -406,7 +406,7 @@ class vpypetools (inkex.EffectExtension):
if self_viewBox is not None:
element.set('transform', 'scale(' + str(scaleX) + ',' + str(scaleY) + ')') #imported groups need to be transformed. Or they have wrong size. Reason: different viewBox sizes/units in namedview definitions
- # convert vpype polylines/lines/polygons to regular paths again (strokes to paths)
+ # convert vpype polylines/lines/polygons to regular paths again (objects to paths)
if self.options.strokes_to_paths is True:
for line in element.iter("{http://www.w3.org/2000/svg}line"):
newLine = PathElement()