Hi,
I have an SVG file which I want to burn using a laser cutter, and I was hoping to use inkscape to remove the overlapping line segments which are causing a problem with the laser cutter. (Where two lines in different shapes overlap, the line is cut once for each shape, leaving a heavier line). See here for details of my project:
http://blog.highfellow.org/?p=37
There is already an inkscape plugin for removing double lines, but it's not working for the complex shapes in this file. (Inkscape crashes). See this forum post for the plugin: http://www.inkscapeforum.com/viewtopic.php?f=5&t=9578 .
I was thinking of trying to fix or rewrite the plugin, but could do with some help getting started. The plugin is implemented as a filter in python, using this inx file:
<inkscape-extension> <_name>Remove redundant edges</_name> <id>org.novalis.filter.removeredundant</id> <dependency type="executable" location="extensions">removeredundant.py</dependency> <dependency type="executable" location="extensions">inkex.py</dependency> <effect> <object-type>path</object-type> <effects-menu> <submenu _name="Modify Path"/> </effects-menu> </effect> <script> <command reldir="extensions" interpreter="python">removeredundant.py</command> </script> </inkscape-extension>
I was thinking it might work better to implement the plugin as a python language binding extension, rather than as a filter, so that I can use functions and methods from the native inkscape API.
One question is where I would start doing it this way; another specific question is whether inkscape has a 'is point on line/curve', or 'nearest point on line/curve' function built in? If so, this would save me a lot of hassle trying to write one.
Thanks,
andrew baxter