<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
  <_name>Plot</_name>
  <id>org.ekips.filter.plot</id>
  <dependency type="executable" location="extensions">plotter.py</dependency>
  <dependency type="executable" location="extensions">hpgl_decoder.py</dependency>
  <dependency type="executable" location="extensions">hpgl_encoder.py</dependency>
  <dependency type="executable" location="extensions">inkex.py</dependency>
  <_param name="introduction" type="description">Please make sure that all objects you want to plot are converted to paths.</_param>
  <param name="tab" type="notebook">
    <page name="misc" _gui-text="Connection Settings ">
      <param name="serialPort" type="string" _gui-text="Serial port:" _gui-description="The port of your serial connection, on Windows something like 'COM1', on Linux something like: '/dev/ttyUSB0' (Default: COM1)">COM1</param>
      <param name="serialBaudRate" type="enum" _gui-text="Serial baud rate:" _gui-description="The Baud rate of your serial connection (Default: 9600)">
        <item value="9600">9600</item>
        <item value="110">110</item>
        <item value="300">300</item>
        <item value="600">600</item>
        <item value="1200">1200</item>
        <item value="2400">2400</item>
        <item value="4800">4800</item>
        <item value="9600">9600</item>
        <item value="14400">14400</item>
        <item value="19200">19200</item>
        <item value="28800">28800</item>
        <item value="38400">38400</item>
        <item value="56000">56000</item>
        <item value="57600">57600</item>
        <item value="115200">115200</item>
      </param>
      <param name="flowControl" type="enum" _gui-text="Flow control:" _gui-description="The Software / Hardware flow control of your serial connection (Default: Software)">
        <_item value="xonxoff">Software (XON/XOFF)</_item>
        <_item value="rtscts">Hardware (RTS/CTS)</_item>
        <_item value="dsrdtrrtscts">Hardware (DSR/DTR + RTS/CTS)</_item>
        <_item msgctxt="Flow control" value="">None</_item>
      </param>
      <param name="commandLanguage" type="enum" _gui-text="Command language:" _gui-description="The command language to use (Default: HPGL)">
        <_item value="HPGL">HPGL</_item>
        <_item value="DMPL">DMPL</_item>
        <_item value="ZING">KNK Zing (HPGL variant)</_item>
      </param>
      <param name="space" type="description">&#xa0;</param>
      <_param name="freezeHelp" type="description">Using wrong settings can under certain circumstances cause Inkscape to freeze. Always save your work before plotting!</_param>
      <_param name="serialHelp" type="description">This can be a physical serial connection or a USB-to-Serial bridge. Ask your plotter manufacturer for drivers if needed.</_param>
      <_param name="parallelHelp" type="description">Parallel (LPT) connections are not supported.</_param>
    </page>
    <page name="plotter" _gui-text="Plotter Settings ">
      <param name="resolutionX" type="float" min="1.0" max="4096.0" precision="1" _gui-text="Resolution X (dpi):" _gui-description="The amount of steps the plotter moves if it moves for 1 inch on the X axis (Default: 1016.0)">1016.0</param>
      <param name="resolutionY" type="float" min="1.0" max="4096.0" precision="1" _gui-text="Resolution Y (dpi):" _gui-description="The amount of steps the plotter moves if it moves for 1 inch on the Y axis (Default: 1016.0)">1016.0</param>
      <param name="pen"         type="int"   min="0"   max="99"    _gui-text="Pen number:" _gui-description="The number of the pen (tool) to use (Standard: '1')">1</param>
      <param name="force"       type="int"   min="0"   max="1000"  _gui-text="Pen force (g):" _gui-description="The amount of force pushing down the pen in grams, set to 0 to omit command; most plotters ignore this command (Default: 0)">0</param>
      <param name="speed"       type="int"   min="0"   max="10000" _gui-text="Pen speed (cm/s or mm/s):" _gui-description="The speed the pen will move with in centimeters or millimeters per second (depending on your plotter model), set to 0 to omit command. Most plotters ignore this command. (Default: 0)">0</param>
      <param name="orientation" type="enum" _gui-text="Rotation (°, clockwise):" _gui-description="Rotation of the drawing (Default: 0°)">
        <item value="0">0</item>
        <item value="90">90</item>
        <item value="180">180</item>
        <item value="270">270</item>
      </param>
      <param name="mirrorX" type="boolean" _gui-text="Mirror X axis" _gui-description="Check this to mirror the X axis (Default: Unchecked)">false</param>
      <param name="mirrorY" type="boolean" _gui-text="Mirror Y axis" _gui-description="Check this to mirror the Y axis (Default: Unchecked)">false</param>
      <param name="center"  type="boolean" _gui-text="Center zero point" _gui-description="Check this if your plotter uses a centered zero point (Default: Unchecked)">false</param>
    </page>
    <page name="misc" _gui-text="Plot Features ">
      <param name="overcut"    type="float" min="0.0" max="100.0" precision="2" _gui-text="Overcut (mm):" _gui-description="The distance in mm that will be cut over the starting point of the path to prevent open paths, set to 0.0 to omit command (Default: 1.00)">1.00</param>
      <param name="toolOffset" type="float" min="0.0" max="20.0"  precision="2" _gui-text="Tool offset (mm):" _gui-description="The offset from the tool tip to the tool axis in mm, set to 0.0 to omit command (Default: 0.25)">0.25</param>
      <param name="precut"     type="boolean" _gui-text="Use precut" _gui-description="Check this to cut a small line before the real drawing starts to correctly align the tool orientation. (Default: Checked)">true</param>
      <param name="flat"       type="float" min="0.1" max="10.0"  precision="1" _gui-text="Curve flatness:" _gui-description="Curves are divided into lines, this number controls how fine the curves will be reproduced, the smaller the finer (Default: '1.2')">1.2</param>
      <param name="autoAlign"  type="boolean" _gui-text="Auto align" _gui-description="Check this to auto align the drawing to the zero point (Plus the tool offset if used). If unchecked you have to make sure that all parts of your drawing are within the document border! (Default: Checked)">true</param>
      <param name="space"      type="description">&#xa0;</param>
      <param name="debug"      type="boolean" _gui-text="Show debug information" _gui-description="Check this to get verbose information about the plot without actually sending something to the plotter (A.k.a. data dump) (Default: Unchecked)">false</param>
    </page>
  </param>
  <_param name="settingsHelp" type="description">All these settings depend on the plotter you use, for more information please consult the manual or homepage for your plotter.</_param>
  <effect needs-live-preview="false" needs-document="true">
    <object-type>path</object-type>
    <effects-menu>
      <submenu _name="Export"/>
    </effects-menu>
  </effect>
  <script>
    <command reldir="extensions" interpreter="python">plotter.py</command>
  </script>
</inkscape-extension>
