diff --git a/extensions/fablabchemnitz/laser_check/laser_check.inx b/extensions/fablabchemnitz/laser_check/laser_check.inx
index 680d789..2437590 100644
--- a/extensions/fablabchemnitz/laser_check/laser_check.inx
+++ b/extensions/fablabchemnitz/laser_check/laser_check.inx
@@ -50,6 +50,7 @@
false
false
false
+ false
false
false
diff --git a/extensions/fablabchemnitz/laser_check/laser_check.py b/extensions/fablabchemnitz/laser_check/laser_check.py
index 622f968..ef36dc9 100644
--- a/extensions/fablabchemnitz/laser_check/laser_check.py
+++ b/extensions/fablabchemnitz/laser_check/laser_check.py
@@ -90,6 +90,7 @@ class LaserCheck(inkex.EffectExtension):
pars.add_argument('--cosmestic_dashes', type=inkex.Boolean, default=False)
pars.add_argument('--invisible_shapes', type=inkex.Boolean, default=False)
pars.add_argument('--pointy_paths', type=inkex.Boolean, default=False)
+ pars.add_argument('--combined_paths', type=inkex.Boolean, default=False)
pars.add_argument('--transformations', type=inkex.Boolean, default=False)
pars.add_argument('--short_paths', type=inkex.Boolean, default=False)
pars.add_argument('--short_paths_min', type=float, default=1.000)
@@ -800,6 +801,22 @@ class LaserCheck(inkex.EffectExtension):
for pointyPath in pointyPaths:
inkex.utils.debug("id={}".format(pointyPath.get('id')))
+ '''
+ Combined paths make trouble with vector sorting algorithm. Check which paths could be broken apart
+ '''
+ if so.checks == "check_all" or so.combined_paths is True:
+ inkex.utils.debug("\n---------- Combined paths - should be broken apart")
+ combinedPaths = []
+ for element in shapes:
+ if isinstance(element, inkex.PathElement):
+ break_paths = element.path.break_apart()
+ if len(break_paths) > 2:
+ combinedPaths.append([element, len(break_paths)])
+ if so.show_issues_only is False:
+ inkex.utils.debug("{} combined paths in total".format(len(combinedPaths)))
+ for combinedPath in combinedPaths:
+ inkex.utils.debug("id={} has sub paths: {}".format(combinedPath[0].get('id'), combinedPath[1]))
+
'''
Transformations often lead to wrong stroke widths or mis-rendering in end software. The best we