<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
    <_name>GCode Import (*.nc)</_name>
    <id>fablabchemnitz.de.gcode_input.nc</id>
    <dependency type="executable" location="extensions">fablabchemnitz_gcode_input.py</dependency>
    <dependency type="executable" location="extensions">inkex.py</dependency>
    <param name="tab" type="notebook">
        <page name="options" _gui-text="Options">
            <param name="mode" type="enum" gui-text="GCode Import Mode">
                <item value="vcarve">V-Carve</item>
                <item value="standard">Standard</item>
                <item value="laser">Laser</item>
            </param>
            <param name="vcarves" type="description" appearance="header">V-Carve Settings</param>
            <param name="v_angle" indent="1" type="float" min="0.001" max="179" precision="0" _gui-text="Included (full) angle, degrees">90</param>
            <param name="v_top" indent="1" type="float" min="-9999" max="9999" precision="3" _gui-text="Z value at top of stock">0</param>
            <param name="v_step" indent="1" type="float" min="0.001" max="9999" precision="3" _gui-text="Curve interpolation step size">0</param>
            <param name="carves" type="description" appearance="header">Standard Mode Settings</param>
            <param name="tool_diameter" indent="1" type="float" min="0.001" max="999.999" precision="3" _gui-text="Path width / tool diameter">6.35</param>
            <param name="general" type="description" appearance="header">General Options</param>
            <param name="units" indent="1" type="optiongroup" appearance="minimal" _gui-text="Units (in this import dialog)">
                <option value="mm">mm</option>
                <option value="in">in</option>
            </param>
            <param name="z_axis" indent="1" type="optiongroup" _gui-text="Z-Axis (except V-Carve)">
                <option value="ignore">Ignore Z axis data.</option>
                <option value="group">Group by Z if able.</option>
                <option value="label">Group by Z, with labels.</option>
            </param>
        </page>
        <page name="help" _gui-text="Help">
            <_param name="inputhelp" type="description" xml:space="preserve">
- This is intended to enable hobby CNC users to recover 
  geometry from G-code files in order to reconstitute
  SVG design files.
- Importing G-code for 3D printing is not an intended target.
- Importing G-code will not result in an immediately
  usable SVG, but with some manipulation, cromulent
  results may be achieved.
  
- All individual moves are processed at constant Z
  except in V-carve mode, which requires Z data.
- Any K parameters for G2/G3 arcs are summarily ignored.
- Importing a fully 3D carve is unlikely to give a useful result.</_param>
        </page>
    </param>
    <input>
        <extension>.nc</extension>
        <mimetype>application/x-gcode</mimetype>
        <_filetypename>GCode File (*.nc)</_filetypename>
        <_filetypetooltip>Import GCode File</_filetypetooltip>
    </input>
    <script>
        <command reldir="extensions" interpreter="python">fablabchemnitz_gcode_input.py</command>
    </script>
</inkscape-extension>