<LinuxCNC-Features>
  <feature src="set-tool.ini" after="" help="Selects tools and changes its parameters" image="images/simp.png" expanded="True" id="Set-tool-0001" call="&#10;(Call Set tool)&#10;T[#param_num] M6&#10;&lt;exec&gt;&#10;&#9;g10 = &quot;&quot;&#10;&#9;if self.get_param_value(&quot;d&quot;).strip()!=&quot;&quot; :&#10;&#9;&#9;g10 += &quot;R[%s/2]&quot;%(self.get_param_value(&quot;d&quot;))  else &quot;&quot;&#10;&#9;&#9;if self.get_param_value(&quot;l&quot;).strip()!=&quot;&quot; :&#10;&#9;&#9;g10 += &quot;Z[%s]&quot;%(self.get_param_value(&quot;l&quot;))  else &quot;&quot;&#10;&#9;if g10 != &quot;&quot; :&#10;&#9;&#9;print &quot;G10 P%s %s&quot;%(self.get_param_value(&quot;num&quot;), g10)&#10;&lt;/exec&gt;&#10;&#10;#&lt;_global_depth_step&gt; = [#param_step]&#10;F[#param_feed]&#10;" selected="False" definitions="" before="" path="0" icon="icons/tool.png" type="Set tool" order="['PARAM_NUM', 'PARAM_D', 'PARAM_L', 'PARAM_STEP', 'PARAM_FEED']" name="Set tool 0001">
    <param tool_tip="Diameter" expanded="False" name="Diameter" selected="False" value="2" call="#param_d" path="0:0" type="float" icon="icons/diameter.png"/>
    <param tool_tip="Y0" expanded="False" name="Length" selected="False" value="5" call="#param_l" path="0:1" type="float" icon="icons/dz.png"/>
    <param tool_tip="Tools depth step for multipass mill" expanded="False" name="Depth step" selected="False" value="1" call="#param_step" path="0:2" type="float" icon="icons/dz.png"/>
    <param tool_tip="Feed" expanded="False" name="Feed" selected="False" value="200" call="#param_feed" path="0:3" type="float" icon="icons/feed.png"/>
    <param tool_tip="Number" expanded="False" name="Number" selected="False" value="2" call="#param_num" path="0:4" type="float" icon="icons/diameter.png"/>
  </feature>
  <feature src="mill/rect.ini" expanded="True" help="Creates rectangle&#10;&#9;W H X0 Y0" name="Rectangle 0001" image="images/rect-corner.png" after="" order="[]" call="&#10;( *********************************** )&#10;( Rect Call )&#10;#&lt;x0&gt; = [#param_01]&#10;#&lt;y0&gt; = [#param_02]&#10;#&lt;w&gt; = [#param_03]&#10;#&lt;h&gt; = [#param_04]&#10;#&lt;a&gt; = [#param_05]&#10;O&lt;rotate-xy&gt; CALL [#&lt;x0&gt;] [#&lt;y0&gt;] [#&lt;w&gt;] [#&lt;h&gt;] [#&lt;a&gt;]&#10;#&lt;x0&gt; = #&lt;_rotate_result_x&gt;&#10;#&lt;y0&gt; = #&lt;_rotate_result_y&gt;&#10;(               &#9;&#9;sub           depth&#9;&#9; step&#9;&#9; surf&#9;&#9; rappid  &#9; &#9;final)&#10;O&lt;multipass&gt; CALL [#&lt;_rect&gt;]  [#param_06]  [#param_07]  [#param_08]  [#param_09]  [#param_10] [#&lt;x0&gt;] [#&lt;y0&gt;] [#&lt;w&gt;] [#&lt;h&gt;]  [#&lt;a&gt;]&#10;( *********************************** )" selected="False" path="1" definitions="&#10;&lt;eval&gt;self.include_once(&quot;mill/multipass.ngc&quot;)&lt;/eval&gt;&#10;&lt;eval&gt;self.include_once(&quot;rotate-xy.ngc&quot;)&lt;/eval&gt;&#10;#&lt;_rect&gt; = &lt;eval&gt;self.get_unique_id()&lt;/eval&gt; ; should be unique id&#10;(Rectangle sub definition)&#10;&#10;O#&lt;_rect&gt; sub&#10;&#10;&#9;#&lt;x&gt; = #1&#10;&#9;#&lt;y&gt; = #2&#10;&#9;#&lt;w&gt; = #3&#10;&#9;#&lt;h&gt; = #4&#10;&#9;#&lt;a&gt; = #5&#10;&#9;O&lt;rotate-xy&gt; CALL [0] [1] [0] [0] [#&lt;a&gt;]&#10;&#9;#&lt;dx&gt; = #&lt;_rotate_result_x&gt;&#10;&#9;#&lt;dy&gt; = #&lt;_rotate_result_y&gt;&#10;&#9;#&lt;x&gt; = [#&lt;x&gt;+#&lt;dy&gt;*#&lt;w&gt;]&#10;&#9;#&lt;y&gt; = [#&lt;y&gt;-#&lt;dx&gt;*#&lt;w&gt;]&#10;&#9;G01 X#&lt;x&gt; Y#&lt;y&gt;&#10;&#10;&#9;#&lt;x&gt; = [#&lt;x&gt;+#&lt;dx&gt;*#&lt;h&gt;]&#10;&#9;#&lt;y&gt; = [#&lt;y&gt;+#&lt;dy&gt;*#&lt;h&gt;]&#10;&#9;G01 X#&lt;x&gt; Y#&lt;y&gt;&#10;&#10;&#9;#&lt;x&gt; = [#&lt;x&gt;-#&lt;dy&gt;*#&lt;w&gt;]&#10;&#9;#&lt;y&gt; = [#&lt;y&gt;+#&lt;dx&gt;*#&lt;w&gt;]&#10;&#9;G01 X#&lt;x&gt; Y#&lt;y&gt;&#10;&#10;&#9;#&lt;x&gt; = [#&lt;x&gt;-#&lt;dx&gt;*#&lt;h&gt;]&#10;&#9;#&lt;y&gt; = [#&lt;y&gt;-#&lt;dy&gt;*#&lt;h&gt;]&#10;&#9;G01 X#&lt;x&gt; Y#&lt;y&gt;&#10;&#10;O#&lt;_rect&gt; endsub" icon="icons/rect-corner.png" type="Rectangle" id="Rectangle-0001" before="&#10;">
    <param tool_tip="Depth" selected="False" name="Depth" expanded="False" value="5" call="#param_06" path="1:0" type="float" icon="icons/height.png"/>
    <param tool_tip="Depth step per pass" selected="False" name="Depth step" expanded="False" value="1" call="#param_07" path="1:1" type="float" icon="icons/dz.png"/>
    <param tool_tip="Height" selected="False" name="Height" expanded="False" value="10" call="#param_04" path="1:2" type="float" icon="icons/height.png"/>
    <param tool_tip="Angle" selected="False" name="Angle" expanded="False" value="0" call="#param_05" path="1:3" type="float" icon="icons/angle.png"/>
    <param tool_tip="Y0" selected="False" name="Y0" expanded="False" value="0" call="#param_02" path="1:4" type="float" icon="icons/rect-corner.png"/>
    <param tool_tip="Width" selected="False" name="Width" expanded="False" value="20" call="#param_03" path="1:5" type="float" icon="icons/width.png"/>
    <param tool_tip="X0" selected="False" name="X0" expanded="False" value="0" call="#param_01" path="1:6" type="float" icon="icons/rect-corner.png"/>
    <param tool_tip="Surface height" selected="False" name="Surface" expanded="False" value="0" call="#param_08" path="1:7" type="float" icon="icons/dz.png"/>
    <param tool_tip="Rappid height" selected="True" name="Rappid" expanded="False" value="5" call="#param_09" path="1:8" type="float" icon="icons/height.png"/>
    <param tool_tip="Rappid height" selected="False" name="Final cut" expanded="False" value="0" call="#param_10" path="1:9" type="float" icon="icons/height.png"/>
  </feature>
</LinuxCNC-Features>
