Initial commit

This commit is contained in:
Mario Voigt 2020-07-30 01:16:18 +02:00
parent 9ead5330fa
commit fc012a2896
2983 changed files with 568355 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.pyc

BIN
extensions/boxes.exe Normal file

Binary file not shown.

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>AllEdges</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.AllEdges</id>
<param name="generator" type="string" gui-hidden="true">alledges</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="AllEdges">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
<page name="4" _gui-text="Hinges and HingePins">
<param name="Hinge_grip_percentage" type="int" max="9999" _gui-text="grip_percentage" gui-description="">0</param>
<param name="Hinge_outset" type="boolean" max="9999" _gui-text="outset" gui-description="have lid overlap at the sides (similar to OutSetEdge)">false</param>
<param name="Hinge_pinwidth" type="float" precision="2" max="9999" _gui-text="pinwidth" gui-description="set to lower value to get disks surrounding the pins">0.5</param>
<param name="Hinge_style" type="enum" _gui-text="style" gui-description='"outset" or "flush"'>
<item value="outset" selected="selected">outset</item>
<item value="flush">flush</item>
</param>
<param name="Hinge_axle" type="int" max="9999" _gui-text="axle" gui-description="diameter of the pin hole">2</param>
<param name="Hinge_grip_length" type="int" max="9999" _gui-text="grip_length" gui-description="fixed length of the grips on he lids">0</param>
<param name="Hinge_hingestrength" type="int" max="9999" _gui-text="hingestrength" gui-description="thickness of the arc holding the pin in place">1</param>
</page>
<page name="5" _gui-text="Slide-on Lids">
<param name="Lid_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="Lid_second_pin" type="boolean" max="9999" _gui-text="second_pin" gui-description="">true</param>
<param name="Lid_spring" type="enum" _gui-text="spring" gui-description="">
<item value="both" selected="selected">both</item>
<item value="none">none</item>
<item value="left">left</item>
<item value="right">right</item>
</param>
<param name="Lid_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="Lid_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="Lid_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="Lid_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">3.0</param>
<param name="Lid_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.05</param>
<param name="Lid_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="Lid_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="6" _gui-text="Click-on Lids">
<param name="Click_angle" type="int" max="9999" _gui-text="angle" gui-description="">5</param>
<param name="Click_bottom_radius" type="float" precision="2" max="9999" _gui-text="bottom_radius" gui-description="">0.1</param>
<param name="Click_depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="">3.0</param>
</page>
<page name="7" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>AngledBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.AngledBox</id>
<param name="generator" type="string" gui-hidden="true">angledbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="AngledBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="n" type="int" max="9999" _gui-text="n" gui-description="number of walls at one side (1+)">5</param>
<param name="top" type="enum" _gui-text="top" gui-description="style of the top and lid">
<item value="none" selected="selected">none</item>
<item value="angled hole">angled hole</item>
<item value="angled lid">angled lid</item>
<item value="angled lid2">angled lid2</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>AngledCutJig</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.AngledCutJig</id>
<param name="generator" type="string" gui-hidden="true">angledcutjig</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="AngledCutJig">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">50</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100</param>
<param name="angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="Angle of the cut">45.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Arcade</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Arcade</id>
<param name="generator" type="string" gui-hidden="true">arcade</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Arcade">
<param name="width" type="float" precision="2" max="9999" _gui-text="width" gui-description="inner width of the console">450.0</param>
<param name="monitor_height" type="float" precision="2" max="9999" _gui-text="monitor_height" gui-description="inner width of the console">350.0</param>
<param name="keyboard_depth" type="float" precision="2" max="9999" _gui-text="keyboard_depth" gui-description="inner width of the console">150.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Atreus21</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Atreus21</id>
<param name="generator" type="string" gui-hidden="true">atreus21</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Atreus21">
<param name="top1_thickness" type="float" precision="2" max="9999" _gui-text="top1_thickness" gui-description="thickness of the button hold layer, cherry like switches need 1.5mm or smaller to snap in">1.5</param>
<param name="top2_enable" type="boolean" max="9999" _gui-text="top2_enable" gui-description="enables another top layer that can hold CPG151101S11 sockets">false</param>
<param name="top2_thickness" type="float" precision="2" max="9999" _gui-text="top2_thickness" gui-description="thickness of the hotplug layer, CPG151101S11 sockets need 1.2mm to 1.5mm">1.5</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="int" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>BasedBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.BasedBox</id>
<param name="generator" type="string" gui-hidden="true">basedbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="BasedBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>BayonetBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.BayonetBox</id>
<param name="generator" type="string" gui-hidden="true">bayonetbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="BayonetBox">
<param name="diameter" type="float" precision="2" max="9999" _gui-text="diameter" gui-description="Diameter of the box in mm">50.0</param>
<param name="lugs" type="int" max="9999" _gui-text="lugs" gui-description="number of locking lugs">10</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>BinTray</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.BinTray</id>
<param name="generator" type="string" gui-hidden="true">bintray</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="BinTray">
<param name="sx" type="string" max="9999" _gui-text="sx" gui-description="sections left to right in mm. See --sy for format">50*3</param>
<param name="sy" type="string" max="9999" _gui-text="sy" gui-description='sections back to front in mm. Possible formats: overallwidth/numberof sections e.g. "250/5"; sectionwidth*numberofsections e.g. "50*5"; section widths separated by ":" e.g. "30:25.5:70'>50*3</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="front" type="float" precision="2" max="9999" _gui-text="front" gui-description="fraction of bin height covert with slope">0.4</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Shelves"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>BottleStack</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.BottleStack</id>
<param name="generator" type="string" gui-hidden="true">bottlestack</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="BottleStack">
<param name="diameter" type="float" precision="2" max="9999" _gui-text="diameter" gui-description="diameter of the bottles in mm">80</param>
<param name="number" type="int" max="9999" _gui-text="number" gui-description="number of bottles to hold in the bottom row">3</param>
<param name="depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="depth of the stand along the base of the bottles">80</param>
<param name="double" type="boolean" max="9999" _gui-text="double" gui-description="two pieces that can be combined to up to double the width">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>BurnTest</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.BurnTest</id>
<param name="generator" type="string" gui-hidden="true">burntest</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="BurnTest">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100</param>
<param name="step" type="float" precision="2" max="9999" _gui-text="step" gui-description="increases in burn value between the sides">0.01</param>
<param name="pairs" type="int" max="9999" _gui-text="pairs" gui-description="number of pairs (each testing four burn values)">2</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>CardBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.CardBox</id>
<param name="generator" type="string" gui-hidden="true">cardbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="CardBox">
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">30</param>
<param name="cardwidth" type="float" precision="2" max="9999" _gui-text="cardwidth" gui-description="Width of the cards">65</param>
<param name="cardheight" type="float" precision="2" max="9999" _gui-text="cardheight" gui-description="Height of the cards">90</param>
<param name="num" type="int" max="9999" _gui-text="num" gui-description="number of compartments">2</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Castle</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Castle</id>
<param name="generator" type="string" gui-hidden="true">castle</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Castle">
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Unstable"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>ClosedBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.ClosedBox</id>
<param name="generator" type="string" gui-hidden="true">closedbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="ClosedBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>ConcaveKnob</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.ConcaveKnob</id>
<param name="generator" type="string" gui-hidden="true">concaveknob</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="ConcaveKnob">
<param name="diameter" type="float" precision="2" max="9999" _gui-text="diameter" gui-description="Diameter of the knob (mm)">50.0</param>
<param name="serrations" type="int" max="9999" _gui-text="serrations" gui-description="Number of serrations">3</param>
<param name="rounded" type="float" precision="2" max="9999" _gui-text="rounded" gui-description="Amount of circumference used for non convex parts">0.2</param>
<param name="angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="Angle between convex and concave parts">70.0</param>
<param name="bolthole" type="float" precision="2" max="9999" _gui-text="bolthole" gui-description="Diameter of the bolt hole (mm)">6.0</param>
<param name="dhole" type="float" precision="2" max="9999" _gui-text="dhole" gui-description="D-Flat in fraction of the diameter">1.0</param>
<param name="hexhead" type="float" precision="2" max="9999" _gui-text="hexhead" gui-description="Width of the hex bolt head (mm)">10.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Console</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Console</id>
<param name="generator" type="string" gui-hidden="true">console</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Console">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100</param>
<param name="hi" type="float" precision="2" max="9999" _gui-text="hi" gui-description="inner height of inner walls in mm (unless outside selected)(leave to zero for same as outer walls)">30</param>
<param name="angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="angle of the front panel (90°=upright)">50</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Console2</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Console2</id>
<param name="generator" type="string" gui-hidden="true">console2</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Console2">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="front_height" type="float" precision="2" max="9999" _gui-text="front_height" gui-description="height of the front below the panel (in mm)">30</param>
<param name="angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="angle of the front panel (90°=upright)">50</param>
<param name="removable_backwall" type="boolean" max="9999" _gui-text="removable_backwall" gui-description="have latches at the backwall">true</param>
<param name="removable_panel" type="boolean" max="9999" _gui-text="removable_panel" gui-description="The panel is held by tabs and can be removed">true</param>
<param name="glued_panel" type="boolean" max="9999" _gui-text="glued_panel" gui-description="the panel is glued and not held by finger joints">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DinRailBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.DinRailBox</id>
<param name="generator" type="string" gui-hidden="true">dinrailbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="DinRailBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">70</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">90</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">60</param>
<param name="rail_width" type="float" precision="2" max="9999" _gui-text="rail_width" gui-description="width of the rail (typically 35 or 15mm)">35.0</param>
<param name="rail_offset" type="float" precision="2" max="9999" _gui-text="rail_offset" gui-description="offset of the rail from the middle of the box (in mm)">0.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.8</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DiscRack</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.DiscRack</id>
<param name="generator" type="string" gui-hidden="true">discrack</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="DiscRack">
<param name="sx" type="string" max="9999" _gui-text="sx" gui-description="sections left to right in mm. See --sy for format">20*10</param>
<param name="disc_diameter" type="float" precision="2" max="9999" _gui-text="disc_diameter" gui-description="Disc diameter in mm">150.0</param>
<param name="disc_thickness" type="float" precision="2" max="9999" _gui-text="disc_thickness" gui-description="Thickness of the discs in mm">5.0</param>
<param name="lower_factor" type="float" precision="2" max="9999" _gui-text="lower_factor" gui-description="Position of the lower rack grids along the radius">0.75</param>
<param name="rear_factor" type="float" precision="2" max="9999" _gui-text="rear_factor" gui-description="Position of the rear rack grids along the radius">0.75</param>
<param name="disc_outset" type="float" precision="2" max="9999" _gui-text="disc_outset" gui-description="Additional space kept between the disks and the outbox of the rack">3.0</param>
<param name="angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="Backwards slant of the rack">18</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Shelves"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Display</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Display</id>
<param name="generator" type="string" gui-hidden="true">display</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Display">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">150.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">200.0</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius of the corners in mm">5.0</param>
<param name="angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="greater zero for top wider as bottom">0.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DisplayCase</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.DisplayCase</id>
<param name="generator" type="string" gui-hidden="true">displaycase</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="DisplayCase">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="overhang" type="float" precision="2" max="9999" _gui-text="overhang" gui-description="overhang for joints in mm">2</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DisplayShelf</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.DisplayShelf</id>
<param name="generator" type="string" gui-hidden="true">displayshelf</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="DisplayShelf">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">400</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">300</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="num" type="int" max="9999" _gui-text="num" gui-description="number of shelves">3</param>
<param name="front" type="float" precision="2" max="9999" _gui-text="front" gui-description="height of front walls">20.0</param>
<param name="angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="angle of floors">30.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Shelves"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DividerTray</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.DividerTray</id>
<param name="generator" type="string" gui-hidden="true">dividertray</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="DividerTray">
<param name="sx" type="string" max="9999" _gui-text="sx" gui-description="sections left to right in mm. See --sy for format">50*3</param>
<param name="sy" type="string" max="9999" _gui-text="sy" gui-description='sections back to front in mm. Possible formats: overallwidth/numberof sections e.g. "250/5"; sectionwidth*numberofsections e.g. "50*5"; section widths separated by ":" e.g. "30:25.5:70'>50*3</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="slot_depth" type="float" precision="2" max="9999" _gui-text="slot_depth" gui-description="depth of the slot in mm">20</param>
<param name="slot_angle" type="float" precision="2" max="9999" _gui-text="slot_angle" gui-description="angle at which slots are generated, in degrees. 0° is vertical.">0</param>
<param name="slot_radius" type="float" precision="2" max="9999" _gui-text="slot_radius" gui-description="radius of the slot entrance in mm">2</param>
<param name="slot_extra_slack" type="float" precision="2" max="9999" _gui-text="slot_extra_slack" gui-description="extra slack (in addition to thickness and kerf) for slot width to help insert dividers">0.2</param>
<param name="divider_bottom_margin" type="float" precision="2" max="9999" _gui-text="divider_bottom_margin" gui-description="margin between box's bottom and divider's">0</param>
<param name="divider_upper_notch_radius" type="float" precision="2" max="9999" _gui-text="divider_upper_notch_radius" gui-description="divider's notch's upper radius">1</param>
<param name="divider_lower_notch_radius" type="float" precision="2" max="9999" _gui-text="divider_lower_notch_radius" gui-description="divider's notch's lower radius">8</param>
<param name="divider_notch_depth" type="float" precision="2" max="9999" _gui-text="divider_notch_depth" gui-description="divider's notch's depth">15</param>
<param name="left_wall" type="boolean" max="9999" _gui-text="left_wall" gui-description="generate wall on the left side">true</param>
<param name="right_wall" type="boolean" max="9999" _gui-text="right_wall" gui-description="generate wall on the right side">true</param>
<param name="bottom" type="boolean" max="9999" _gui-text="bottom" gui-description="generate wall on the bottom">false</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Trays and Drawer Inserts"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DrillBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.DrillBox</id>
<param name="generator" type="string" gui-hidden="true">drillbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="DrillBox">
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>ElectronicsBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.ElectronicsBox</id>
<param name="generator" type="string" gui-hidden="true">electronicsbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="ElectronicsBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="triangle" type="float" precision="2" max="9999" _gui-text="triangle" gui-description="Sides of the triangles holding the lid in mm">25.0</param>
<param name="d1" type="float" precision="2" max="9999" _gui-text="d1" gui-description="Diameter of the inner lid screw holes in mm">2.0</param>
<param name="d2" type="float" precision="2" max="9999" _gui-text="d2" gui-description="Diameter of the lid screw holes in mm">3.0</param>
<param name="d3" type="float" precision="2" max="9999" _gui-text="d3" gui-description="Diameter of the mounting screw holes in mm">3.0</param>
<param name="outsidemounts" type="boolean" max="9999" _gui-text="outsidemounts" gui-description="Add external mounting points">true</param>
<param name="holedist" type="float" precision="2" max="9999" _gui-text="holedist" gui-description="Distance of the screw holes from the wall in mm">7.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>EuroRackSkiff</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.EuroRackSkiff</id>
<param name="generator" type="string" gui-hidden="true">eurorackskiff</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="EuroRackSkiff">
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="hp" type="int" max="9999" _gui-text="hp" gui-description="Width of the case in HP">84</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>FlexBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.FlexBox</id>
<param name="generator" type="string" gui-hidden="true">flexbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="FlexBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="Radius of the latch in mm">15</param>
<param name="latchsize" type="float" precision="2" max="9999" _gui-text="latchsize" gui-description="size of latch in multiples of thickness">8</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes with flex"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>FlexBox2</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.FlexBox2</id>
<param name="generator" type="string" gui-hidden="true">flexbox2</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="FlexBox2">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="Radius of the corners in mm">15</param>
<param name="latchsize" type="float" precision="2" max="9999" _gui-text="latchsize" gui-description="size of latch in multiples of thickness">8</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes with flex"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>FlexBox3</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.FlexBox3</id>
<param name="generator" type="string" gui-hidden="true">flexbox3</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="FlexBox3">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="z" type="float" precision="2" max="9999" _gui-text="z" gui-description="height of the box">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="height of the lid">10.0</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius of the lids living hinge">10.0</param>
<param name="c" type="float" precision="2" max="9999" _gui-text="c" gui-description="clearance of the lid">1.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="int" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes with flex"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>FlexBox4</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.FlexBox4</id>
<param name="generator" type="string" gui-hidden="true">flexbox4</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="FlexBox4">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="Radius of the corners in mm">15</param>
<param name="latchsize" type="float" precision="2" max="9999" _gui-text="latchsize" gui-description="size of latch in multiples of thickness">8</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes with flex"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>FlexBox5</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.FlexBox5</id>
<param name="generator" type="string" gui-hidden="true">flexbox5</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="FlexBox5">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="top_diameter" type="float" precision="2" max="9999" _gui-text="top_diameter" gui-description="diameter at the top">60</param>
<param name="bottom_diameter" type="float" precision="2" max="9999" _gui-text="bottom_diameter" gui-description="diameter at the bottom">60</param>
<param name="latchsize" type="float" precision="2" max="9999" _gui-text="latchsize" gui-description="size of latch in multiples of thickness">8</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes with flex"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>FlexTest</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.FlexTest</id>
<param name="generator" type="string" gui-hidden="true">flextest</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="FlexTest">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>FlexTest2</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.FlexTest2</id>
<param name="generator" type="string" gui-hidden="true">flextest2</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="FlexTest2">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="fw" type="float" precision="2" max="9999" _gui-text="fw" gui-description="distance of flex cuts in multiples of thickness">1</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Folder</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Folder</id>
<param name="generator" type="string" gui-hidden="true">folder</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Folder">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">20</param>
<param name="r" type="float" precision="2" max="9999" _gui-text="r" gui-description="radius of the corners">10.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>GearBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.GearBox</id>
<param name="generator" type="string" gui-hidden="true">gearbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="GearBox">
<param name="teeth1" type="int" max="9999" _gui-text="teeth1" gui-description="number of teeth on ingoing shaft">8</param>
<param name="teeth2" type="int" max="9999" _gui-text="teeth2" gui-description="number of teeth on outgoing shaft">20</param>
<param name="modulus" type="float" precision="2" max="9999" _gui-text="modulus" gui-description="modulus of the theeth in mm">3</param>
<param name="shaft" type="float" precision="2" max="9999" _gui-text="shaft" gui-description="diameter of the shaft">6.0</param>
<param name="stages" type="int" max="9999" _gui-text="stages" gui-description="number of stages in the gear reduction">4</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Gears</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Gears</id>
<param name="generator" type="string" gui-hidden="true">gears</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Gears">
<param name="teeth1" type="int" max="9999" _gui-text="teeth1" gui-description="number of teeth">12</param>
<param name="shaft1" type="float" precision="2" max="9999" _gui-text="shaft1" gui-description="diameter of the shaft 1">6.0</param>
<param name="dpercentage1" type="float" precision="2" max="9999" _gui-text="dpercentage1" gui-description="percent of the D section of shaft 1 (100 for round shaft)">75</param>
<param name="teeth2" type="int" max="9999" _gui-text="teeth2" gui-description="number of teeth in the other size of gears">32</param>
<param name="shaft2" type="float" precision="2" max="9999" _gui-text="shaft2" gui-description="diameter of the shaft2 (zero for same as shaft 1)">0.0</param>
<param name="dpercentage2" type="float" precision="2" max="9999" _gui-text="dpercentage2" gui-description="percent of the D section of shaft 1 (0 for same as shaft 1)">0</param>
<param name="modulus" type="float" precision="2" max="9999" _gui-text="modulus" gui-description="width of teeth in mm">5</param>
<param name="pressure_angle" type="float" precision="2" max="9999" _gui-text="pressure_angle" gui-description="angle of the teeth touching (in degrees)">20</param>
<param name="profile_shift" type="float" precision="2" max="9999" _gui-text="profile_shift" gui-description="in precent of the modulus">20</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>HeartBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.HeartBox</id>
<param name="generator" type="string" gui-hidden="true">heartbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="HeartBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">150</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">50</param>
<param name="top" type="enum" _gui-text="top" gui-description="style of the top and lid">
<item value="closed" selected="selected">closed</item>
<item value="hole">hole</item>
<item value="lid">lid</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">1.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">1.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes with flex"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>HingeBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.HingeBox</id>
<param name="generator" type="string" gui-hidden="true">hingebox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="HingeBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="lidheight" type="float" precision="2" max="9999" _gui-text="lidheight" gui-description="height of lid in mm">20.0</param>
<param name="splitlid" type="float" precision="2" max="9999" _gui-text="splitlid" gui-description="split the lid in y direction (mm)">0.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Cabinet Hinges">
<param name="CabinetHinge_bore" type="float" precision="2" max="9999" _gui-text="bore" gui-description="diameter of the pin hole in mm">3.2</param>
<param name="CabinetHinge_eyes_per_hinge" type="int" max="9999" _gui-text="eyes_per_hinge" gui-description="pieces per hinge">5</param>
<param name="CabinetHinge_hinges" type="int" max="9999" _gui-text="hinges" gui-description="number of hinges per edge">2</param>
<param name="CabinetHinge_style" type="enum" _gui-text="style" gui-description="style of hinge used">
<item value="inside" selected="selected">inside</item>
<item value="outside">outside</item>
</param>
<param name="CabinetHinge_eye" type="float" precision="2" max="9999" _gui-text="eye" gui-description="radius of the eye (in multiples of thickness)">1.5</param>
<param name="CabinetHinge_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="space between eyes (in multiples of thickness)">0.05</param>
<param name="CabinetHinge_spacing" type="float" precision="2" max="9999" _gui-text="spacing" gui-description="minimum space around the hinge">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Hook</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Hook</id>
<param name="generator" type="string" gui-hidden="true">hook</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Hook">
<param name="width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the hook (back plate is a bit wider)">40.0</param>
<param name="height" type="float" precision="2" max="9999" _gui-text="height" gui-description="inner height of the hook">40.0</param>
<param name="depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="inner depth of the hook">40.0</param>
<param name="strength" type="float" precision="2" max="9999" _gui-text="strength" gui-description="width of the hook from the side">20.0</param>
<param name="angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="angle of the support underneeth">45.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>IntegratedHingeBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.IntegratedHingeBox</id>
<param name="generator" type="string" gui-hidden="true">integratedhingebox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="IntegratedHingeBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="lidheight" type="float" precision="2" max="9999" _gui-text="lidheight" gui-description="height of lid in mm">20.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Chest Hinges">
<param name="ChestHinge_hinge_strength" type="float" precision="2" max="9999" _gui-text="hinge_strength" gui-description="thickness of the arc holding the pin in place">1.0</param>
<param name="ChestHinge_pin_height" type="float" precision="2" max="9999" _gui-text="pin_height" gui-description="radius of the disc rotating in the hinge">2.0</param>
<param name="ChestHinge_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="">0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Keypad</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Keypad</id>
<param name="generator" type="string" gui-hidden="true">keypad</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Keypad">
<param name="h" type="int" max="9999" _gui-text="h" gui-description="height of the box">30</param>
<param name="btn_x" type="int" max="9999" _gui-text="btn_x" gui-description="number of buttons per row">3</param>
<param name="btn_y" type="int" max="9999" _gui-text="btn_y" gui-description="number of buttons per column">4</param>
<param name="top1_thickness" type="float" precision="2" max="9999" _gui-text="top1_thickness" gui-description="thickness of the button hold layer, cherry like switches need 1.5mm or smaller to snap in">1.5</param>
<param name="top2_enable" type="boolean" max="9999" _gui-text="top2_enable" gui-description="enables another top layer that can hold CPG151101S11 sockets">false</param>
<param name="top2_thickness" type="float" precision="2" max="9999" _gui-text="top2_thickness" gui-description="thickness of the hotplug layer, CPG151101S11 sockets need 1.2mm to 1.5mm">1.5</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="int" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>LBeam</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.LBeam</id>
<param name="generator" type="string" gui-hidden="true">lbeam</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="LBeam">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>LaserClamp</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.LaserClamp</id>
<param name="generator" type="string" gui-hidden="true">laserclamp</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="LaserClamp">
<param name="minheight" type="float" precision="2" max="9999" _gui-text="minheight" gui-description="minimal clamping height in mm">25.0</param>
<param name="maxheight" type="float" precision="2" max="9999" _gui-text="maxheight" gui-description="maximal clamping height in mm">50.0</param>
<param name="extraheight" type="float" precision="2" max="9999" _gui-text="extraheight" gui-description="extra height to make operation smoother in mm">0.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="int" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>LaserHoldfast</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.LaserHoldfast</id>
<param name="generator" type="string" gui-hidden="true">laserholdfast</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="LaserHoldfast">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">25</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">40</param>
<param name="hookheight" type="float" precision="2" max="9999" _gui-text="hookheight" gui-description="height of the top hook">5.0</param>
<param name="shaftwidth" type="float" precision="2" max="9999" _gui-text="shaftwidth" gui-description="width of the shaft">5.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>MagazinFile</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.MagazinFile</id>
<param name="generator" type="string" gui-hidden="true">magazinfile</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="MagazinFile">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="hi" type="float" precision="2" max="9999" _gui-text="hi" gui-description="inner height of inner walls in mm (unless outside selected)(leave to zero for same as outer walls)">0.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>MakitaPowerSupply</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.MakitaPowerSupply</id>
<param name="generator" type="string" gui-hidden="true">makitapowersupply</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="MakitaPowerSupply">
<param name="bananasocketdiameter" type="float" precision="2" max="9999" _gui-text="bananasocketdiameter" gui-description="diameter of the banana socket mounting holes">8.0</param>
<param name="flipswitchdiameter" type="float" precision="2" max="9999" _gui-text="flipswitchdiameter" gui-description="diameter of the flipswitch mounting hole">6.3</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>NemaMount</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.NemaMount</id>
<param name="generator" type="string" gui-hidden="true">nemamount</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="NemaMount">
<param name="size" type="enum" _gui-text="size" gui-description="Nema size of the motor">
<item value="8" selected="selected">8</item>
<item value="11">11</item>
<item value="14">14</item>
<item value="16">16</item>
<item value="17">17</item>
<item value="23">23</item>
<item value="24">24</item>
<item value="34">34</item>
<item value="42">42</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>NotesHolder</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.NotesHolder</id>
<param name="generator" type="string" gui-hidden="true">notesholder</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="NotesHolder">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">78</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">78</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">35</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="opening" type="float" precision="2" max="9999" _gui-text="opening" gui-description="percent of front that's open">40</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="int" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>OpenBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.OpenBox</id>
<param name="generator" type="string" gui-hidden="true">openbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="OpenBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>OrganPipe</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.OrganPipe</id>
<param name="generator" type="string" gui-hidden="true">organpipe</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="OrganPipe">
<param name="pitch" type="enum" _gui-text="pitch" gui-description="pitch">
<item value="c" selected="selected">c</item>
<item value="c#">c#</item>
<item value="d">d</item>
<item value="d#">d#</item>
<item value="e">e</item>
<item value="f">f</item>
<item value="f#">f#</item>
<item value="g">g</item>
<item value="g#">g#</item>
<item value="a">a</item>
<item value="a#">a#</item>
<item value="b">b</item>
</param>
<param name="octave" type="int" max="9999" _gui-text="octave" gui-description="Octave in International Pitch Notation (2 == C)">2</param>
<param name="intonation" type="float" precision="2" max="9999" _gui-text="intonation" gui-description="Intonation Number. 2 for max. efficiency, 3 max.">2.0</param>
<param name="mouthratio" type="float" precision="2" max="9999" _gui-text="mouthratio" gui-description="mouth to circumference ratio (0.1 to 0.45). Determines the width to depth ratio">0.25</param>
<param name="cutup" type="float" precision="2" max="9999" _gui-text="cutup" gui-description="Cutup to mouth ratio">0.3</param>
<param name="mensur" type="int" max="9999" _gui-text="mensur" gui-description="Distance in halftones in the Normalmensur by Töpfer">0</param>
<param name="windpressure" type="float" precision="2" max="9999" _gui-text="windpressure" gui-description="uses unit selected below">588.4</param>
<param name="windpressure_units" type="enum" _gui-text="windpressure_units" gui-description="in Pa">
<item value="Pa" selected="selected">Pa</item>
<item value="mBar">mBar</item>
<item value="mmHg">mmHg</item>
<item value="mmH2O">mmH2O</item>
</param>
<param name="stopped" type="boolean" max="9999" _gui-text="stopped" gui-description="pipe is closed at the top">false</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">3.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">3.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Unstable"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>OttoBody</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.OttoBody</id>
<param name="generator" type="string" gui-hidden="true">ottobody</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="OttoBody">
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Chest Hinges">
<param name="ChestHinge_hinge_strength" type="float" precision="2" max="9999" _gui-text="hinge_strength" gui-description="thickness of the arc holding the pin in place">1.0</param>
<param name="ChestHinge_pin_height" type="float" precision="2" max="9999" _gui-text="pin_height" gui-description="radius of the disc rotating in the hinge">2.0</param>
<param name="ChestHinge_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="">0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>OttoLegs</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.OttoLegs</id>
<param name="generator" type="string" gui-hidden="true">ottolegs</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="OttoLegs">
<param name="anklebolt1" type="float" precision="2" max="9999" _gui-text="anklebolt1" gui-description="diameter for hole for ankle bolts - foot side">3.0</param>
<param name="anklebolt2" type="float" precision="2" max="9999" _gui-text="anklebolt2" gui-description="diameter for hole for ankle bolts - leg side">2.6</param>
<param name="length" type="float" precision="2" max="9999" _gui-text="length" gui-description="length of legs (34mm min)">34.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">1.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">1.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>OttoSoles</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.OttoSoles</id>
<param name="generator" type="string" gui-hidden="true">ottosoles</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="OttoSoles">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">56.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">36.0</param>
<param name="width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of sole stripe">4.0</param>
<param name="chamfer" type="float" precision="2" max="9999" _gui-text="chamfer" gui-description="chamfer at the corners">5.0</param>
<param name="num" type="int" max="9999" _gui-text="num" gui-description="number of soles">2</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PaintStorage</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.PaintStorage</id>
<param name="generator" type="string" gui-hidden="true">paintstorage</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="PaintStorage">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">300</param>
<param name="canheight" type="int" max="9999" _gui-text="canheight" gui-description="Height of the paintcans">50</param>
<param name="candiameter" type="int" max="9999" _gui-text="candiameter" gui-description="Diameter of the paintcans">30</param>
<param name="minspace" type="int" max="9999" _gui-text="minspace" gui-description="Minimum space between the paintcans">10</param>
<param name="hexpattern" type="boolean" max="9999" _gui-text="hexpattern" gui-description="Use hexagonal arrangement for the holes instead of orthogonal">false</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Shelves"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Planetary</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Planetary</id>
<param name="generator" type="string" gui-hidden="true">planetary</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Planetary">
<param name="sunteeth" type="int" max="9999" _gui-text="sunteeth" gui-description="number of teeth on sun gear">8</param>
<param name="planetteeth" type="int" max="9999" _gui-text="planetteeth" gui-description="number of teeth on planets">20</param>
<param name="maxplanets" type="int" max="9999" _gui-text="maxplanets" gui-description="limit the number of planets (0 for as much as fit)">0</param>
<param name="deltateeth" type="int" max="9999" _gui-text="deltateeth" gui-description="enable secondary ring with given delta to the ring gear">0</param>
<param name="modulus" type="float" precision="2" max="9999" _gui-text="modulus" gui-description="modulus of the theeth in mm">3</param>
<param name="shaft" type="float" precision="2" max="9999" _gui-text="shaft" gui-description="diameter of the shaft">6.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Planetary2</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Planetary2</id>
<param name="generator" type="string" gui-hidden="true">planetary2</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Planetary2">
<param name="nema_mount" type="enum" _gui-text="nema_mount" gui-description="NEMA size of motor">
<item value="8">8</item>
<item value="11">11</item>
<item value="14">14</item>
<item value="16">16</item>
<item value="17">17</item>
<item value="23" selected="selected">23</item>
<item value="24">24</item>
<item value="34">34</item>
<item value="42">42</item>
</param>
<param name="profile" type="enum" _gui-text="profile" gui-description="profile of the teeth/belt">
<item value="40DP">40DP</item>
<item value="AT5">AT5</item>
<item value="GT2_2mm" selected="selected">GT2_2mm</item>
<item value="GT2_3mm">GT2_3mm</item>
<item value="GT2_5mm">GT2_5mm</item>
<item value="H">H</item>
<item value="HTD_3mm">HTD_3mm</item>
<item value="HTD_5mm">HTD_5mm</item>
<item value="HTD_8mm">HTD_8mm</item>
<item value="MXL">MXL</item>
<item value="T10">T10</item>
<item value="T2_5">T2_5</item>
<item value="T5">T5</item>
<item value="XL">XL</item>
</param>
<param name="sunteeth" type="int" max="9999" _gui-text="sunteeth" gui-description="number of teeth on sun gear">20</param>
<param name="planetteeth" type="int" max="9999" _gui-text="planetteeth" gui-description="number of teeth on planets">20</param>
<param name="maxplanets" type="int" max="9999" _gui-text="maxplanets" gui-description="limit the number of planets (0 for as much as fit)">0</param>
<param name="deltateeth" type="int" max="9999" _gui-text="deltateeth" gui-description="enable secondary ring with given delta to the ring gear">1</param>
<param name="modulus" type="float" precision="2" max="9999" _gui-text="modulus" gui-description="modulus of the theeth in mm">3</param>
<param name="shaft" type="float" precision="2" max="9999" _gui-text="shaft" gui-description="diameter of the shaft">6.0</param>
<param name="screw1" type="float" precision="2" max="9999" _gui-text="screw1" gui-description="diameter of lower part of the screw hole">2.4</param>
<param name="screw2" type="float" precision="2" max="9999" _gui-text="screw2" gui-description="diameter of upper part of the screw hole">4.0</param>
<param name="pinsize" type="float" precision="2" max="9999" _gui-text="pinsize" gui-description="diameter of alignment pins">3.1</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PoleHook</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.PoleHook</id>
<param name="generator" type="string" gui-hidden="true">polehook</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="PoleHook">
<param name="diameter" type="float" precision="2" max="9999" _gui-text="diameter" gui-description="diameter of the thing to hook">50.0</param>
<param name="screw" type="float" precision="2" max="9999" _gui-text="screw" gui-description="diameter of the screw in mm">7.8</param>
<param name="screwhead" type="float" precision="2" max="9999" _gui-text="screwhead" gui-description="with of the screw head in mm">13.0</param>
<param name="screwheadheight" type="float" precision="2" max="9999" _gui-text="screwheadheight" gui-description="height of the screw head in mm">5.5</param>
<param name="pin" type="float" precision="2" max="9999" _gui-text="pin" gui-description="diameter of the pin in mm">4.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Pulley</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Pulley</id>
<param name="generator" type="string" gui-hidden="true">pulley</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Pulley">
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">6.0</param>
<param name="profile" type="enum" _gui-text="profile" gui-description="profile of the teeth/belt">
<item value="40DP">40DP</item>
<item value="AT5">AT5</item>
<item value="GT2_2mm" selected="selected">GT2_2mm</item>
<item value="GT2_3mm">GT2_3mm</item>
<item value="GT2_5mm">GT2_5mm</item>
<item value="H">H</item>
<item value="HTD_3mm">HTD_3mm</item>
<item value="HTD_5mm">HTD_5mm</item>
<item value="HTD_8mm">HTD_8mm</item>
<item value="MXL">MXL</item>
<item value="T10">T10</item>
<item value="T2_5">T2_5</item>
<item value="T5">T5</item>
<item value="XL">XL</item>
</param>
<param name="teeth" type="int" max="9999" _gui-text="teeth" gui-description="number of teeth">20</param>
<param name="axle" type="float" precision="2" max="9999" _gui-text="axle" gui-description="diameter of the axle">5</param>
<param name="insideout" type="boolean" max="9999" _gui-text="insideout" gui-description="create a ring gear with the belt being pushed against from within">false</param>
<param name="top" type="float" precision="2" max="9999" _gui-text="top" gui-description="overlap of top rim (zero for none)">0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Rack10Box</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Rack10Box</id>
<param name="generator" type="string" gui-hidden="true">rack10box</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Rack10Box">
<param name="depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="inner depth in mm">100.0</param>
<param name="height" type="enum" _gui-text="height" gui-description="height in rack units">
<item value="1">1</item>
<item value="2" selected="selected">2</item>
<item value="3">3</item>
<item value="4">4</item>
<item value="5">5</item>
<item value="6">6</item>
<item value="7">7</item>
<item value="8">8</item>
<item value="9">9</item>
<item value="10">10</item>
<item value="11">11</item>
<item value="12">12</item>
<item value="13">13</item>
<item value="14">14</item>
<item value="15">15</item>
<item value="16">16</item>
</param>
<param name="triangle" type="float" precision="2" max="9999" _gui-text="triangle" gui-description="Sides of the triangles holding the lid in mm">25.0</param>
<param name="d1" type="float" precision="2" max="9999" _gui-text="d1" gui-description="Diameter of the inner lid screw holes in mm">2.0</param>
<param name="d2" type="float" precision="2" max="9999" _gui-text="d2" gui-description="Diameter of the lid screw holes in mm">3.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Rack19Box</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Rack19Box</id>
<param name="generator" type="string" gui-hidden="true">rack19box</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Rack19Box">
<param name="depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="inner depth in mm">100.0</param>
<param name="height" type="enum" _gui-text="height" gui-description="height in rack units">
<item value="1">1</item>
<item value="2" selected="selected">2</item>
<item value="3">3</item>
<item value="4">4</item>
<item value="5">5</item>
<item value="6">6</item>
<item value="7">7</item>
<item value="8">8</item>
<item value="9">9</item>
<item value="10">10</item>
<item value="11">11</item>
<item value="12">12</item>
<item value="13">13</item>
<item value="14">14</item>
<item value="15">15</item>
<item value="16">16</item>
</param>
<param name="triangle" type="float" precision="2" max="9999" _gui-text="triangle" gui-description="Sides of the triangles holding the lid in mm">25.0</param>
<param name="d1" type="float" precision="2" max="9999" _gui-text="d1" gui-description="Diameter of the inner lid screw holes in mm">2.0</param>
<param name="d2" type="float" precision="2" max="9999" _gui-text="d2" gui-description="Diameter of the lid screw holes in mm">3.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Rack19HalfWidth</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Rack19HalfWidth</id>
<param name="generator" type="string" gui-hidden="true">rack19halfwidth</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Rack19HalfWidth">
<param name="ru_count" type="float" precision="2" max="9999" _gui-text="ru_count" gui-description="number of rack units">1</param>
<param name="holes" type="string" max="9999" _gui-text="holes" gui-description="mounting patterns: x=xlr, m=midi, p=9v-power, w=6.5mm-wire, space=next row">xxmpwx</param>
<param name="z" type="float" precision="2" max="9999" _gui-text="z" gui-description="depth of the shorter (rackear) side">20</param>
<param name="deepz" type="float" precision="2" max="9999" _gui-text="deepz" gui-description="depth of the longer (screwed to another half sized thing) side">124</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>RackBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.RackBox</id>
<param name="generator" type="string" gui-hidden="true">rackbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="RackBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="triangle" type="float" precision="2" max="9999" _gui-text="triangle" gui-description="Sides of the triangles holding the lid in mm">25.0</param>
<param name="d1" type="float" precision="2" max="9999" _gui-text="d1" gui-description="Diameter of the inner lid screw holes in mm">2.0</param>
<param name="d2" type="float" precision="2" max="9999" _gui-text="d2" gui-description="Diameter of the lid screw holes in mm">3.0</param>
<param name="d3" type="float" precision="2" max="9999" _gui-text="d3" gui-description="Diameter of the mounting screw holes in mm">4.0</param>
<param name="holedist" type="float" precision="2" max="9999" _gui-text="holedist" gui-description="Distance of the screw holes from the wall in mm">7.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1.2</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,282 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>RectangularWall</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.RectangularWall</id>
<param name="generator" type="string" gui-hidden="true">rectangularwall</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="RectangularWall">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="c">c Abstract Edge Class</item>
<item value="C">C Abstract Edge Class</item>
<item value="d">d Edge (parallel slot wall Holes)</item>
<item value="D">D Edge (parallel slot wall Holes)</item>
<item value="e">e Straight Edge</item>
<item value="E">E Straight Edge (outset by thickness)</item>
<item value="f">f Finger Joint</item>
<item value="F">F Finger Joint (opposing side)</item>
<item value="g">g Corrugated edge useful as an gipping area</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="i">i Straight edge with hinge eye</item>
<item value="I">I Edge with hinge pin</item>
<item value="j">j Straight edge with hinge eye (other end)</item>
<item value="J">J Edge with hinge pin (other end)</item>
<item value="k">k Straight edge with hinge eye (both ends)</item>
<item value="K">K Edge with hinge pin (both ends)</item>
<item value="l">l Edge for slide on lid (back)</item>
<item value="L">L Edge for slide on lid (box back)</item>
<item value="m">m Edge for slide on lid (left)</item>
<item value="M">M Edge for slide on lid (box left)</item>
<item value="n">n Edge for slide on lid (right)</item>
<item value="o">o Edge with chest hinge</item>
<item value="O">O Edge with chest hinge (other end)</item>
<item value="p">p Edge with chest hinge</item>
<item value="P">P Edge with chest hinge (other end)</item>
<item value="q">q Edge with pins for an chest hinge</item>
<item value="Q">Q Edge opposing a chest hinge</item>
<item value="R">R Rack (and pinion) Edge</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="S">S Stackable (top)</item>
<item value="u">u Edge with cabinet hinges</item>
<item value="U">U Edge with cabinet hinges top side</item>
<item value="v">v Edge with cabinet hinges for 90° lid</item>
<item value="V">V Edge with cabinet hinges 90° lid</item>
</param>
<param name="right_edge" type="enum" gui-text="right_edge" gui-description="edge type for right edge">
<item value="c">c Abstract Edge Class</item>
<item value="C">C Abstract Edge Class</item>
<item value="d">d Edge (parallel slot wall Holes)</item>
<item value="D">D Edge (parallel slot wall Holes)</item>
<item value="e">e Straight Edge</item>
<item value="E">E Straight Edge (outset by thickness)</item>
<item value="f">f Finger Joint</item>
<item value="F">F Finger Joint (opposing side)</item>
<item value="g">g Corrugated edge useful as an gipping area</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="i">i Straight edge with hinge eye</item>
<item value="I">I Edge with hinge pin</item>
<item value="j">j Straight edge with hinge eye (other end)</item>
<item value="J">J Edge with hinge pin (other end)</item>
<item value="k">k Straight edge with hinge eye (both ends)</item>
<item value="K">K Edge with hinge pin (both ends)</item>
<item value="l">l Edge for slide on lid (back)</item>
<item value="L">L Edge for slide on lid (box back)</item>
<item value="m">m Edge for slide on lid (left)</item>
<item value="M">M Edge for slide on lid (box left)</item>
<item value="n">n Edge for slide on lid (right)</item>
<item value="o">o Edge with chest hinge</item>
<item value="O">O Edge with chest hinge (other end)</item>
<item value="p">p Edge with chest hinge</item>
<item value="P">P Edge with chest hinge (other end)</item>
<item value="q">q Edge with pins for an chest hinge</item>
<item value="Q">Q Edge opposing a chest hinge</item>
<item value="R">R Rack (and pinion) Edge</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="S">S Stackable (top)</item>
<item value="u">u Edge with cabinet hinges</item>
<item value="U">U Edge with cabinet hinges top side</item>
<item value="v">v Edge with cabinet hinges for 90° lid</item>
<item value="V">V Edge with cabinet hinges 90° lid</item>
</param>
<param name="top_edge" type="enum" gui-text="top_edge" gui-description="edge type for top edge">
<item value="c">c Abstract Edge Class</item>
<item value="C">C Abstract Edge Class</item>
<item value="d">d Edge (parallel slot wall Holes)</item>
<item value="D">D Edge (parallel slot wall Holes)</item>
<item value="e">e Straight Edge</item>
<item value="E">E Straight Edge (outset by thickness)</item>
<item value="f">f Finger Joint</item>
<item value="F">F Finger Joint (opposing side)</item>
<item value="g">g Corrugated edge useful as an gipping area</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="i">i Straight edge with hinge eye</item>
<item value="I">I Edge with hinge pin</item>
<item value="j">j Straight edge with hinge eye (other end)</item>
<item value="J">J Edge with hinge pin (other end)</item>
<item value="k">k Straight edge with hinge eye (both ends)</item>
<item value="K">K Edge with hinge pin (both ends)</item>
<item value="l">l Edge for slide on lid (back)</item>
<item value="L">L Edge for slide on lid (box back)</item>
<item value="m">m Edge for slide on lid (left)</item>
<item value="M">M Edge for slide on lid (box left)</item>
<item value="n">n Edge for slide on lid (right)</item>
<item value="o">o Edge with chest hinge</item>
<item value="O">O Edge with chest hinge (other end)</item>
<item value="p">p Edge with chest hinge</item>
<item value="P">P Edge with chest hinge (other end)</item>
<item value="q">q Edge with pins for an chest hinge</item>
<item value="Q">Q Edge opposing a chest hinge</item>
<item value="R">R Rack (and pinion) Edge</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="S">S Stackable (top)</item>
<item value="u">u Edge with cabinet hinges</item>
<item value="U">U Edge with cabinet hinges top side</item>
<item value="v">v Edge with cabinet hinges for 90° lid</item>
<item value="V">V Edge with cabinet hinges 90° lid</item>
</param>
<param name="left_edge" type="enum" gui-text="left_edge" gui-description="edge type for left edge">
<item value="c">c Abstract Edge Class</item>
<item value="C">C Abstract Edge Class</item>
<item value="d">d Edge (parallel slot wall Holes)</item>
<item value="D">D Edge (parallel slot wall Holes)</item>
<item value="e">e Straight Edge</item>
<item value="E">E Straight Edge (outset by thickness)</item>
<item value="f">f Finger Joint</item>
<item value="F">F Finger Joint (opposing side)</item>
<item value="g">g Corrugated edge useful as an gipping area</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="i">i Straight edge with hinge eye</item>
<item value="I">I Edge with hinge pin</item>
<item value="j">j Straight edge with hinge eye (other end)</item>
<item value="J">J Edge with hinge pin (other end)</item>
<item value="k">k Straight edge with hinge eye (both ends)</item>
<item value="K">K Edge with hinge pin (both ends)</item>
<item value="l">l Edge for slide on lid (back)</item>
<item value="L">L Edge for slide on lid (box back)</item>
<item value="m">m Edge for slide on lid (left)</item>
<item value="M">M Edge for slide on lid (box left)</item>
<item value="n">n Edge for slide on lid (right)</item>
<item value="o">o Edge with chest hinge</item>
<item value="O">O Edge with chest hinge (other end)</item>
<item value="p">p Edge with chest hinge</item>
<item value="P">P Edge with chest hinge (other end)</item>
<item value="q">q Edge with pins for an chest hinge</item>
<item value="Q">Q Edge opposing a chest hinge</item>
<item value="R">R Rack (and pinion) Edge</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="S">S Stackable (top)</item>
<item value="u">u Edge with cabinet hinges</item>
<item value="U">U Edge with cabinet hinges top side</item>
<item value="v">v Edge with cabinet hinges for 90° lid</item>
<item value="V">V Edge with cabinet hinges 90° lid</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Cabinet Hinges">
<param name="CabinetHinge_bore" type="float" precision="2" max="9999" _gui-text="bore" gui-description="diameter of the pin hole in mm">3.2</param>
<param name="CabinetHinge_eyes_per_hinge" type="int" max="9999" _gui-text="eyes_per_hinge" gui-description="pieces per hinge">5</param>
<param name="CabinetHinge_hinges" type="int" max="9999" _gui-text="hinges" gui-description="number of hinges per edge">2</param>
<param name="CabinetHinge_style" type="enum" _gui-text="style" gui-description="style of hinge used">
<item value="inside" selected="selected">inside</item>
<item value="outside">outside</item>
</param>
<param name="CabinetHinge_eye" type="float" precision="2" max="9999" _gui-text="eye" gui-description="radius of the eye (in multiples of thickness)">1.5</param>
<param name="CabinetHinge_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="space between eyes (in multiples of thickness)">0.05</param>
<param name="CabinetHinge_spacing" type="float" precision="2" max="9999" _gui-text="spacing" gui-description="minimum space around the hinge">2.0</param>
</page>
<page name="3" _gui-text="Click-on Lids">
<param name="Click_angle" type="int" max="9999" _gui-text="angle" gui-description="">5</param>
<param name="Click_bottom_radius" type="float" precision="2" max="9999" _gui-text="bottom_radius" gui-description="">0.1</param>
<param name="Click_depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="">3.0</param>
</page>
<page name="4" _gui-text="Dove Tail Joints">
<param name="DoveTail_angle" type="int" max="9999" _gui-text="angle" gui-description="how much should fingers widen (-80 to 80)">50</param>
<param name="DoveTail_depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="how far the dove tails stick out of/into the edge">1.5</param>
<param name="DoveTail_radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius used on all four corners">0.2</param>
<param name="DoveTail_size" type="int" max="9999" _gui-text="size" gui-description="from one middle of a dove tail to another">3</param>
</page>
<page name="5" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="6" _gui-text="rack (and pinion) edge">
<param name="Gear_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="pressure angle">20.0</param>
<param name="Gear_clearance" type="float" precision="2" max="9999" _gui-text="clearance" gui-description="clearance">0.0</param>
<param name="Gear_dimension" type="float" precision="2" max="9999" _gui-text="dimension" gui-description="modulus of the gear (in mm)">3.0</param>
<param name="Gear_profile_shift" type="float" precision="2" max="9999" _gui-text="profile_shift" gui-description="Profile shift">20.0</param>
</page>
<page name="7" _gui-text="GrippingEdge">
<param name="Grip_outset" type="boolean" max="9999" _gui-text="outset" gui-description="extend outward the straight edge">true</param>
<param name="Grip_style" type="enum" _gui-text="style" gui-description='"wave" or "bumps"'>
<item value="wave" selected="selected">wave</item>
<item value="bumps">bumps</item>
</param>
<param name="Grip_depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="depth of the grooves">0.3</param>
</page>
<page name="8" _gui-text="Hinges and HingePins">
<param name="Hinge_grip_percentage" type="int" max="9999" _gui-text="grip_percentage" gui-description="">0</param>
<param name="Hinge_outset" type="boolean" max="9999" _gui-text="outset" gui-description="have lid overlap at the sides (similar to OutSetEdge)">false</param>
<param name="Hinge_pinwidth" type="float" precision="2" max="9999" _gui-text="pinwidth" gui-description="set to lower value to get disks surrounding the pins">0.5</param>
<param name="Hinge_style" type="enum" _gui-text="style" gui-description='"outset" or "flush"'>
<item value="outset" selected="selected">outset</item>
<item value="flush">flush</item>
</param>
<param name="Hinge_axle" type="int" max="9999" _gui-text="axle" gui-description="diameter of the pin hole">2</param>
<param name="Hinge_grip_length" type="int" max="9999" _gui-text="grip_length" gui-description="fixed length of the grips on he lids">0</param>
<param name="Hinge_hingestrength" type="int" max="9999" _gui-text="hingestrength" gui-description="thickness of the arc holding the pin in place">1</param>
</page>
<page name="9" _gui-text="Chest Hinges">
<param name="ChestHinge_hinge_strength" type="float" precision="2" max="9999" _gui-text="hinge_strength" gui-description="thickness of the arc holding the pin in place">1.0</param>
<param name="ChestHinge_pin_height" type="float" precision="2" max="9999" _gui-text="pin_height" gui-description="radius of the disc rotating in the hinge">2.0</param>
<param name="ChestHinge_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="">0.1</param>
</page>
<page name="10" _gui-text="Slide-on Lids">
<param name="Lid_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="Lid_second_pin" type="boolean" max="9999" _gui-text="second_pin" gui-description="">true</param>
<param name="Lid_spring" type="enum" _gui-text="spring" gui-description="">
<item value="both" selected="selected">both</item>
<item value="none">none</item>
<item value="left">left</item>
<item value="right">right</item>
</param>
<param name="Lid_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="Lid_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="Lid_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="Lid_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">3.0</param>
<param name="Lid_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.05</param>
<param name="Lid_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="Lid_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="11" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>RegularBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.RegularBox</id>
<param name="generator" type="string" gui-hidden="true">regularbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="RegularBox">
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="inner radius if the box (at the corners)">50.0</param>
<param name="n" type="int" max="9999" _gui-text="n" gui-description="number of sides">5</param>
<param name="top" type="enum" _gui-text="top" gui-description="style of the top and lid">
<item value="none" selected="selected">none</item>
<item value="hole">hole</item>
<item value="angled hole">angled hole</item>
<item value="angled lid">angled lid</item>
<item value="angled lid2">angled lid2</item>
<item value="round lid">round lid</item>
<item value="bayonet mount">bayonet mount</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>RobotArm</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.RobotArm</id>
<param name="generator" type="string" gui-hidden="true">robotarm</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="RobotArm">
<param name="type1" type="enum" _gui-text="type1" gui-description="type of arm segment">
<item value="none" selected="selected">none</item>
<item value="RobotArmMM">RobotArmMM</item>
<item value="RobotArmMm">RobotArmMm</item>
<item value="RobotArmUU">RobotArmUU</item>
<item value="RobotArmUu">RobotArmUu</item>
<item value="RobotArmMu">RobotArmMu</item>
</param>
<param name="servo1a" type="enum" _gui-text="servo1a" gui-description="type of servo to use">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="servo1b" type="enum" _gui-text="servo1b" gui-description="type of servo to use on second side (if different is supported)">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="length1" type="float" precision="2" max="9999" _gui-text="length1" gui-description="length of segment axle to axle">50.0</param>
<param name="type2" type="enum" _gui-text="type2" gui-description="type of arm segment">
<item value="none" selected="selected">none</item>
<item value="RobotArmMM">RobotArmMM</item>
<item value="RobotArmMm">RobotArmMm</item>
<item value="RobotArmUU">RobotArmUU</item>
<item value="RobotArmUu">RobotArmUu</item>
<item value="RobotArmMu">RobotArmMu</item>
</param>
<param name="servo2a" type="enum" _gui-text="servo2a" gui-description="type of servo to use">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="servo2b" type="enum" _gui-text="servo2b" gui-description="type of servo to use on second side (if different is supported)">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="length2" type="float" precision="2" max="9999" _gui-text="length2" gui-description="length of segment axle to axle">50.0</param>
<param name="type3" type="enum" _gui-text="type3" gui-description="type of arm segment">
<item value="none" selected="selected">none</item>
<item value="RobotArmMM">RobotArmMM</item>
<item value="RobotArmMm">RobotArmMm</item>
<item value="RobotArmUU">RobotArmUU</item>
<item value="RobotArmUu">RobotArmUu</item>
<item value="RobotArmMu">RobotArmMu</item>
</param>
<param name="servo3a" type="enum" _gui-text="servo3a" gui-description="type of servo to use">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="servo3b" type="enum" _gui-text="servo3b" gui-description="type of servo to use on second side (if different is supported)">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="length3" type="float" precision="2" max="9999" _gui-text="length3" gui-description="length of segment axle to axle">50.0</param>
<param name="type4" type="enum" _gui-text="type4" gui-description="type of arm segment">
<item value="none" selected="selected">none</item>
<item value="RobotArmMM">RobotArmMM</item>
<item value="RobotArmMm">RobotArmMm</item>
<item value="RobotArmUU">RobotArmUU</item>
<item value="RobotArmUu">RobotArmUu</item>
<item value="RobotArmMu">RobotArmMu</item>
</param>
<param name="servo4a" type="enum" _gui-text="servo4a" gui-description="type of servo to use">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="servo4b" type="enum" _gui-text="servo4b" gui-description="type of servo to use on second side (if different is supported)">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="length4" type="float" precision="2" max="9999" _gui-text="length4" gui-description="length of segment axle to axle">50.0</param>
<param name="type5" type="enum" _gui-text="type5" gui-description="type of arm segment">
<item value="none" selected="selected">none</item>
<item value="RobotArmMM">RobotArmMM</item>
<item value="RobotArmMm">RobotArmMm</item>
<item value="RobotArmUU">RobotArmUU</item>
<item value="RobotArmUu">RobotArmUu</item>
<item value="RobotArmMu">RobotArmMu</item>
</param>
<param name="servo5a" type="enum" _gui-text="servo5a" gui-description="type of servo to use">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="servo5b" type="enum" _gui-text="servo5b" gui-description="type of servo to use on second side (if different is supported)">
<item value="Servo9g" selected="selected">Servo9g</item>
</param>
<param name="length5" type="float" precision="2" max="9999" _gui-text="length5" gui-description="length of segment axle to axle">50.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Rotary</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Rotary</id>
<param name="generator" type="string" gui-hidden="true">rotary</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Rotary">
<param name="diameter" type="float" precision="2" max="9999" _gui-text="diameter" gui-description="outer diameter of the wheels (including O rings)">72.0</param>
<param name="rubberthickness" type="float" precision="2" max="9999" _gui-text="rubberthickness" gui-description="diameter of the strings of the O rings">5.0</param>
<param name="axle" type="float" precision="2" max="9999" _gui-text="axle" gui-description="diameter of the axles">6.0</param>
<param name="knifethickness" type="float" precision="2" max="9999" _gui-text="knifethickness" gui-description="thickness of the knifes in mm. Use 0 for use with honey comb table.">8.0</param>
<param name="beamwidth" type="float" precision="2" max="9999" _gui-text="beamwidth" gui-description="width of the (aluminium) profile connecting the parts">32.0</param>
<param name="beamheight" type="float" precision="2" max="9999" _gui-text="beamheight" gui-description="height of the (aluminium) profile connecting the parts">7.1</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Unstable"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>RoundedBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.RoundedBox</id>
<param name="generator" type="string" gui-hidden="true">roundedbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="RoundedBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="Radius of the corners in mm">15</param>
<param name="wallpieces" type="enum" _gui-text="wallpieces" gui-description="# pieces of outer wall">
<item value="1" selected="selected">1</item>
<item value="2">2</item>
<item value="3">3</item>
<item value="4">4</item>
</param>
<param name="edge_style" type="enum" gui-text="edge_style" gui-description="edge type for top and bottom edges">
<item value="f">f Finger Joint</item>
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
</param>
<param name="top" type="enum" _gui-text="top" gui-description="style of the top and lid">
<item value="closed">closed</item>
<item value="hole">hole</item>
<item value="lid">lid</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes with flex"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>RoyalGame</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.RoyalGame</id>
<param name="generator" type="string" gui-hidden="true">royalgame</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="RoyalGame">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">200</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SBCMicroRack</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SBCMicroRack</id>
<param name="generator" type="string" gui-hidden="true">sbcmicrorack</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SBCMicroRack">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">56</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">85</param>
<param name="sbcs" type="int" max="9999" _gui-text="sbcs" gui-description="how many slots for sbcs">5</param>
<param name="clearance_x" type="int" max="9999" _gui-text="clearance_x" gui-description="clearance for the board in the box (x) in mm">3</param>
<param name="clearance_y" type="int" max="9999" _gui-text="clearance_y" gui-description="clearance for the board in the box (y) in mm">3</param>
<param name="clearance_z" type="int" max="9999" _gui-text="clearance_z" gui-description="SBC Clearance in mm">28</param>
<param name="hole_dist_edge" type="float" precision="2" max="9999" _gui-text="hole_dist_edge" gui-description="hole distance from edge in mm">3.5</param>
<param name="hole_grid_dimension_x" type="int" max="9999" _gui-text="hole_grid_dimension_x" gui-description="width of x hole area">58</param>
<param name="hole_grid_dimension_y" type="int" max="9999" _gui-text="hole_grid_dimension_y" gui-description="width of y hole area">49</param>
<param name="hole_diameter" type="float" precision="2" max="9999" _gui-text="hole_diameter" gui-description="hole diameters">2.75</param>
<param name="netusb_z" type="int" max="9999" _gui-text="netusb_z" gui-description="height of the net/usb hole mm">18</param>
<param name="netusb_x" type="int" max="9999" _gui-text="netusb_x" gui-description="width of the net/usb hole in mm">53</param>
<param name="stable" type="boolean" max="9999" _gui-text="stable" gui-description='draw some holes to put a 1/4" dowel through at the base and top'>false</param>
<param name="switch" type="boolean" max="9999" _gui-text="switch" gui-description="adds an additional vertical segment to hold the switch in place, works best w/ --stable">false</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Shelves"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>ShutterBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.ShutterBox</id>
<param name="generator" type="string" gui-hidden="true">shutterbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="ShutterBox">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">150</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius of the corners">40.0</param>
<param name="style" type="enum" _gui-text="style" gui-description="Number of rounded top corners">
<item value="single" selected="selected">single</item>
<item value="double">double</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">2.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.75</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes with flex"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SideDoorHousing</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SideDoorHousing</id>
<param name="generator" type="string" gui-hidden="true">sidedoorhousing</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SideDoorHousing">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="double_door" type="boolean" max="9999" _gui-text="double_door" gui-description="allow removing the backwall, too">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Silverware</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Silverware</id>
<param name="generator" type="string" gui-hidden="true">silverware</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Silverware">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">250</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">154</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">120</param>
<param name="cornerradius" type="int" max="9999" _gui-text="cornerradius" gui-description="Radius of the corners">30</param>
<param name="handleheight" type="int" max="9999" _gui-text="handleheight" gui-description="Height of the handle">150</param>
<param name="handlewidth" type="int" max="9999" _gui-text="handlewidth" gui-description="Width of the handle">120</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Unstable"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallCaliper</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallCaliper</id>
<param name="generator" type="string" gui-hidden="true">slatwallcaliper</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallCaliper">
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100</param>
<param name="width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the long end">18.0</param>
<param name="heigth" type="float" precision="2" max="9999" _gui-text="heigth" gui-description="heigth of the body">6.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="SlatWallEdges">
<param name="SlatWall_bottom_hook" type="enum" _gui-text="bottom_hook" gui-description='"spring", "stud" or "none"'>
<item value="hook" selected="selected">hook</item>
<item value="spring">spring</item>
<item value="stud">stud</item>
<item value="none">none</item>
</param>
<param name="SlatWall_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="SlatWall_hook_extra_height" type="float" precision="2" max="9999" _gui-text="hook_extra_height" gui-description="space surrounding connectors (in multiples of thickness)">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallChiselHolder</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallChiselHolder</id>
<param name="generator" type="string" gui-hidden="true">slatwallchiselholder</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallChiselHolder">
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">120</param>
<param name="tooldiameter" type="float" precision="2" max="9999" _gui-text="tooldiameter" gui-description="diameter of the tool including space to grab">30.0</param>
<param name="holediameter" type="float" precision="2" max="9999" _gui-text="holediameter" gui-description="diameter of the hole for the tool (handle should not fit through)">30.0</param>
<param name="slot_width" type="float" precision="2" max="9999" _gui-text="slot_width" gui-description="width of slots">5.0</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius at the slots">5.0</param>
<param name="number" type="int" max="9999" _gui-text="number" gui-description="number of tools/slots">6</param>
<param name="hooks" type="enum" _gui-text="hooks" gui-description="amount of hooks / braces">
<item value="all" selected="selected">all</item>
<item value="odds">odds</item>
<item value="everythird">everythird</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="SlatWallEdges">
<param name="SlatWall_bottom_hook" type="enum" _gui-text="bottom_hook" gui-description='"spring", "stud" or "none"'>
<item value="hook" selected="selected">hook</item>
<item value="spring">spring</item>
<item value="stud">stud</item>
<item value="none">none</item>
</param>
<param name="SlatWall_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="SlatWall_hook_extra_height" type="float" precision="2" max="9999" _gui-text="hook_extra_height" gui-description="space surrounding connectors (in multiples of thickness)">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallConsole</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallConsole</id>
<param name="generator" type="string" gui-hidden="true">slatwallconsole</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallConsole">
<param name="sx" type="string" max="9999" _gui-text="sx" gui-description="sections left to right in mm. See --sy for format">100</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="top_depth" type="float" precision="2" max="9999" _gui-text="top_depth" gui-description="depth at the top">50</param>
<param name="bottom_depth" type="float" precision="2" max="9999" _gui-text="bottom_depth" gui-description="depth at the bottom">35</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="SlatWallEdges">
<param name="SlatWall_bottom_hook" type="enum" _gui-text="bottom_hook" gui-description='"spring", "stud" or "none"'>
<item value="hook" selected="selected">hook</item>
<item value="spring">spring</item>
<item value="stud">stud</item>
<item value="none">none</item>
</param>
<param name="SlatWall_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="SlatWall_hook_extra_height" type="float" precision="2" max="9999" _gui-text="hook_extra_height" gui-description="space surrounding connectors (in multiples of thickness)">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallDrillBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallDrillBox</id>
<param name="generator" type="string" gui-hidden="true">slatwalldrillbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallDrillBox">
<param name="sx" type="string" max="9999" _gui-text="sx" gui-description="sections left to right in mm. See --sy for format">25*6</param>
<param name="sy" type="string" max="9999" _gui-text="sy" gui-description='sections back to front in mm. Possible formats: overallwidth/numberof sections e.g. "250/5"; sectionwidth*numberofsections e.g. "50*5"; section widths separated by ":" e.g. "30:25.5:70'>10:20:30</param>
<param name="sh" type="string" max="9999" _gui-text="sh" gui-description="sections bottom to top in mm. See --sy for format">25:40:60</param>
<param name="extra_height" type="float" precision="2" max="9999" _gui-text="extra_height" gui-description="height difference left to right">15.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="SlatWallEdges">
<param name="SlatWall_bottom_hook" type="enum" _gui-text="bottom_hook" gui-description='"spring", "stud" or "none"'>
<item value="hook" selected="selected">hook</item>
<item value="spring">spring</item>
<item value="stud">stud</item>
<item value="none">none</item>
</param>
<param name="SlatWall_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="SlatWall_hook_extra_height" type="float" precision="2" max="9999" _gui-text="hook_extra_height" gui-description="space surrounding connectors (in multiples of thickness)">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallEdges</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallEdges</id>
<param name="generator" type="string" gui-hidden="true">slatwalledges</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallEdges">
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">120</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="SlatWallEdges">
<param name="SlatWall_bottom_hook" type="enum" _gui-text="bottom_hook" gui-description='"spring", "stud" or "none"'>
<item value="hook" selected="selected">hook</item>
<item value="spring">spring</item>
<item value="stud">stud</item>
<item value="none">none</item>
</param>
<param name="SlatWall_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="SlatWall_hook_extra_height" type="float" precision="2" max="9999" _gui-text="hook_extra_height" gui-description="space surrounding connectors (in multiples of thickness)">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallPlaneHolder</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallPlaneHolder</id>
<param name="generator" type="string" gui-hidden="true">slatwallplaneholder</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallPlaneHolder">
<param name="width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the plane">80</param>
<param name="length" type="float" precision="2" max="9999" _gui-text="length" gui-description="legth of the plane">250</param>
<param name="hold_length" type="float" precision="2" max="9999" _gui-text="hold_length" gui-description="legth of the part hiolding the plane over the front">30</param>
<param name="height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the front of plane">80</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="SlatWallEdges">
<param name="SlatWall_bottom_hook" type="enum" _gui-text="bottom_hook" gui-description='"spring", "stud" or "none"'>
<item value="hook" selected="selected">hook</item>
<item value="spring">spring</item>
<item value="stud">stud</item>
<item value="none">none</item>
</param>
<param name="SlatWall_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="SlatWall_hook_extra_height" type="float" precision="2" max="9999" _gui-text="hook_extra_height" gui-description="space surrounding connectors (in multiples of thickness)">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallPliersHolder</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallPliersHolder</id>
<param name="generator" type="string" gui-hidden="true">slatwallpliersholder</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallPliersHolder">
<param name="sx" type="string" max="9999" _gui-text="sx" gui-description="sections left to right in mm. See --sy for format">100*3</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">50</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">50</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="bracing angle - less for more bracing">45</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallSlottedHolder</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallSlottedHolder</id>
<param name="generator" type="string" gui-hidden="true">slatwallslottedholder</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallSlottedHolder">
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">120</param>
<param name="slot_depth" type="float" precision="2" max="9999" _gui-text="slot_depth" gui-description="depth of slots from the front">50.0</param>
<param name="additional_depth" type="float" precision="2" max="9999" _gui-text="additional_depth" gui-description="depth behind the lots">50.0</param>
<param name="slot_width" type="float" precision="2" max="9999" _gui-text="slot_width" gui-description="width of slots">5.0</param>
<param name="tool_width" type="float" precision="2" max="9999" _gui-text="tool_width" gui-description="overall width for the tools">35.0</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius of the slots at the front">5.0</param>
<param name="number" type="int" max="9999" _gui-text="number" gui-description="number of tools/slots">6</param>
<param name="hooks" type="enum" _gui-text="hooks" gui-description="amount of hooks / braces">
<item value="all" selected="selected">all</item>
<item value="odds">odds</item>
<item value="everythird">everythird</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="SlatWallEdges">
<param name="SlatWall_bottom_hook" type="enum" _gui-text="bottom_hook" gui-description='"spring", "stud" or "none"'>
<item value="hook" selected="selected">hook</item>
<item value="spring">spring</item>
<item value="stud">stud</item>
<item value="none">none</item>
</param>
<param name="SlatWall_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="SlatWall_hook_extra_height" type="float" precision="2" max="9999" _gui-text="hook_extra_height" gui-description="space surrounding connectors (in multiples of thickness)">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallTypeTray</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallTypeTray</id>
<param name="generator" type="string" gui-hidden="true">slatwalltypetray</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallTypeTray">
<param name="sx" type="string" max="9999" _gui-text="sx" gui-description="sections left to right in mm. See --sy for format">50*3</param>
<param name="sy" type="string" max="9999" _gui-text="sy" gui-description='sections back to front in mm. Possible formats: overallwidth/numberof sections e.g. "250/5"; sectionwidth*numberofsections e.g. "50*5"; section widths separated by ":" e.g. "30:25.5:70'>50*3</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="hi" type="float" precision="2" max="9999" _gui-text="hi" gui-description="inner height of inner walls in mm (unless outside selected)(leave to zero for same as outer walls)">0.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="back_height" type="float" precision="2" max="9999" _gui-text="back_height" gui-description="additional height of the back wall">0.0</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius for strengthening walls with the hooks">0.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
<page name="4" _gui-text="SlatWallEdges">
<param name="SlatWall_bottom_hook" type="enum" _gui-text="bottom_hook" gui-description='"spring", "stud" or "none"'>
<item value="hook" selected="selected">hook</item>
<item value="spring">spring</item>
<item value="stud">stud</item>
<item value="none">none</item>
</param>
<param name="SlatWall_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="SlatWall_hook_extra_height" type="float" precision="2" max="9999" _gui-text="hook_extra_height" gui-description="space surrounding connectors (in multiples of thickness)">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SlatwallWrenchHolder</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SlatwallWrenchHolder</id>
<param name="generator" type="string" gui-hidden="true">slatwallwrenchholder</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SlatwallWrenchHolder">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100</param>
<param name="depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="depth of the sides (in mm)">30.0</param>
<param name="number" type="int" max="9999" _gui-text="number" gui-description="number of wrenches (in mm)">11</param>
<param name="min_width" type="float" precision="2" max="9999" _gui-text="min_width" gui-description="width of smallest wrench (in mm)">8.0</param>
<param name="max_width" type="float" precision="2" max="9999" _gui-text="max_width" gui-description="width of largest wrench (in mm)">25.0</param>
<param name="min_strength" type="float" precision="2" max="9999" _gui-text="min_strength" gui-description="strength of smallest wrench (in mm)">3.0</param>
<param name="max_strength" type="float" precision="2" max="9999" _gui-text="max_strength" gui-description="strength of largest wrench (in mm)">5.0</param>
<param name="extra_distance" type="float" precision="2" max="9999" _gui-text="extra_distance" gui-description="additional distance between wrenches (in mm)">0.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="SlatWallEdges">
<param name="SlatWall_bottom_hook" type="enum" _gui-text="bottom_hook" gui-description='"spring", "stud" or "none"'>
<item value="hook" selected="selected">hook</item>
<item value="spring">spring</item>
<item value="stud">stud</item>
<item value="none">none</item>
</param>
<param name="SlatWall_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="SlatWall_hook_extra_height" type="float" precision="2" max="9999" _gui-text="hook_extra_height" gui-description="space surrounding connectors (in multiples of thickness)">2.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="SlatWall"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SpicesRack</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.SpicesRack</id>
<param name="generator" type="string" gui-hidden="true">spicesrack</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="SpicesRack">
<param name="diameter" type="float" precision="2" max="9999" _gui-text="diameter" gui-description="diameter of spice cans">55.0</param>
<param name="height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the cans that needs to be supported">60.0</param>
<param name="space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between cans">10.0</param>
<param name="numx" type="int" max="9999" _gui-text="numx" gui-description="number of cans in a row">5</param>
<param name="numy" type="int" max="9999" _gui-text="numy" gui-description="number of cans in a column">6</param>
<param name="in_place_supports" type="boolean" max="9999" _gui-text="in_place_supports" gui-description="place supports pieces in holes (check for fit yourself)">false</param>
<param name="feet" type="boolean" max="9999" _gui-text="feet" gui-description="add feet so the rack can stand on the ground">false</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">1.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Shelves"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Stachel</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.Stachel</id>
<param name="generator" type="string" gui-hidden="true">stachel</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="Stachel">
<param name="flutediameter" type="float" precision="2" max="9999" _gui-text="flutediameter" gui-description="diameter of the flutes bottom in mm">115.0</param>
<param name="polediameter" type="float" precision="2" max="9999" _gui-text="polediameter" gui-description="diameter if the pin in mm">25.0</param>
<param name="wall" type="float" precision="2" max="9999" _gui-text="wall" gui-description="width of the surrounding wall in mm">7.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>StorageRack</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.StorageRack</id>
<param name="generator" type="string" gui-hidden="true">storagerack</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="StorageRack">
<param name="depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="depth of the rack">200</param>
<param name="rail" type="float" precision="2" max="9999" _gui-text="rail" gui-description="depth of the rack">30</param>
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="sh" type="string" max="9999" _gui-text="sh" gui-description="sections bottom to top in mm. See --sy for format">50*3</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="top_edge" type="enum" gui-text="top_edge" gui-description="edge type for top edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="e">e Straight Edge</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Shelves"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>StorageShelf</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.StorageShelf</id>
<param name="generator" type="string" gui-hidden="true">storageshelf</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="StorageShelf">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="sy" type="string" max="9999" _gui-text="sy" gui-description='sections back to front in mm. Possible formats: overallwidth/numberof sections e.g. "250/5"; sectionwidth*numberofsections e.g. "50*5"; section widths separated by ":" e.g. "30:25.5:70'>50*3</param>
<param name="sh" type="string" max="9999" _gui-text="sh" gui-description="sections bottom to top in mm. See --sy for format">50*3</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="top_edge" type="enum" gui-text="top_edge" gui-description="edge type for top edge">
<item value="e">e Straight Edge</item>
<item value="f">f Finger Joint</item>
<item value="F">F Finger Joint (opposing side)</item>
<item value="c">c Abstract Edge Class</item>
<item value="E">E Straight Edge (outset by thickness)</item>
<item value="S">S Stackable (top)</item>
<item value="i">i Straight edge with hinge eye</item>
<item value="k">k Straight edge with hinge eye (both ends)</item>
<item value="v">v Edge with cabinet hinges for 90° lid</item>
<item value="L">L Edge for slide on lid (box back)</item>
<item value="t">t Triangle for handle</item>
</param>
<param name="retainer" type="float" precision="2" max="9999" _gui-text="retainer" gui-description="height of wall atthe front edges">0.0</param>
<param name="retainer_hole_edge" type="boolean" max="9999" _gui-text="retainer_hole_edge" gui-description="use finger hole edge for retainer walls">false</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
<page name="4" _gui-text="Hinges and HingePins">
<param name="Hinge_grip_percentage" type="int" max="9999" _gui-text="grip_percentage" gui-description="">0</param>
<param name="Hinge_outset" type="boolean" max="9999" _gui-text="outset" gui-description="have lid overlap at the sides (similar to OutSetEdge)">false</param>
<param name="Hinge_pinwidth" type="float" precision="2" max="9999" _gui-text="pinwidth" gui-description="set to lower value to get disks surrounding the pins">0.5</param>
<param name="Hinge_style" type="enum" _gui-text="style" gui-description='"outset" or "flush"'>
<item value="outset" selected="selected">outset</item>
<item value="flush">flush</item>
</param>
<param name="Hinge_axle" type="int" max="9999" _gui-text="axle" gui-description="diameter of the pin hole">2</param>
<param name="Hinge_grip_length" type="int" max="9999" _gui-text="grip_length" gui-description="fixed length of the grips on he lids">0</param>
<param name="Hinge_hingestrength" type="int" max="9999" _gui-text="hingestrength" gui-description="thickness of the arc holding the pin in place">1</param>
</page>
<page name="5" _gui-text="Cabinet Hinges">
<param name="CabinetHinge_bore" type="float" precision="2" max="9999" _gui-text="bore" gui-description="diameter of the pin hole in mm">3.2</param>
<param name="CabinetHinge_eyes_per_hinge" type="int" max="9999" _gui-text="eyes_per_hinge" gui-description="pieces per hinge">5</param>
<param name="CabinetHinge_hinges" type="int" max="9999" _gui-text="hinges" gui-description="number of hinges per edge">2</param>
<param name="CabinetHinge_style" type="enum" _gui-text="style" gui-description="style of hinge used">
<item value="inside" selected="selected">inside</item>
<item value="outside">outside</item>
</param>
<param name="CabinetHinge_eye" type="float" precision="2" max="9999" _gui-text="eye" gui-description="radius of the eye (in multiples of thickness)">1.5</param>
<param name="CabinetHinge_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="space between eyes (in multiples of thickness)">0.05</param>
<param name="CabinetHinge_spacing" type="float" precision="2" max="9999" _gui-text="spacing" gui-description="minimum space around the hinge">2.0</param>
</page>
<page name="6" _gui-text="Slide-on Lids">
<param name="Lid_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="Lid_second_pin" type="boolean" max="9999" _gui-text="second_pin" gui-description="">true</param>
<param name="Lid_spring" type="enum" _gui-text="spring" gui-description="">
<item value="both" selected="selected">both</item>
<item value="none">none</item>
<item value="left">left</item>
<item value="right">right</item>
</param>
<param name="Lid_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="Lid_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="Lid_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="Lid_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">3.0</param>
<param name="Lid_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.05</param>
<param name="Lid_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="Lid_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="7" _gui-text="Click-on Lids">
<param name="Click_angle" type="int" max="9999" _gui-text="angle" gui-description="">5</param>
<param name="Click_bottom_radius" type="float" precision="2" max="9999" _gui-text="bottom_radius" gui-description="">0.1</param>
<param name="Click_depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="">3.0</param>
</page>
<page name="8" _gui-text="RoundedTriangleEdge">
<param name="RoundedTriangleEdge_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height above the wall">150.0</param>
<param name="RoundedTriangleEdge_r_hole" type="float" precision="2" max="9999" _gui-text="r_hole" gui-description="radius of hole">2.0</param>
<param name="RoundedTriangleEdge_radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius of top corner">30.0</param>
<param name="RoundedTriangleEdge_outset" type="int" max="9999" _gui-text="outset" gui-description="extend the triangle along the length of the edge">1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Shelves"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>TrafficLight</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.TrafficLight</id>
<param name="generator" type="string" gui-hidden="true">trafficlight</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="TrafficLight">
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="inner depth not including the shades">100</param>
<param name="shades" type="float" precision="2" max="9999" _gui-text="shades" gui-description="depth of the shaders">50</param>
<param name="n" type="int" max="9999" _gui-text="n" gui-description="number of lights">3</param>
<param name="upright" type="boolean" max="9999" _gui-text="upright" gui-description="stack lights upright (or side by side)">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>TrayInsert</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.TrayInsert</id>
<param name="generator" type="string" gui-hidden="true">trayinsert</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="TrayInsert">
<param name="sx" type="string" max="9999" _gui-text="sx" gui-description="sections left to right in mm. See --sy for format">50*3</param>
<param name="sy" type="string" max="9999" _gui-text="sy" gui-description='sections back to front in mm. Possible formats: overallwidth/numberof sections e.g. "250/5"; sectionwidth*numberofsections e.g. "50*5"; section widths separated by ":" e.g. "30:25.5:70'>50*3</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Trays and Drawer Inserts"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>TriangleLamp</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.TriangleLamp</id>
<param name="generator" type="string" gui-hidden="true">trianglelamp</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="TriangleLamp">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">250</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">40</param>
<param name="cornersize" type="float" precision="2" max="9999" _gui-text="cornersize" gui-description="short side of the corner triangles">30</param>
<param name="screenholesize" type="float" precision="2" max="9999" _gui-text="screenholesize" gui-description="diameter of the holes in the screen">4</param>
<param name="screwholesize" type="float" precision="2" max="9999" _gui-text="screwholesize" gui-description="diameter of the holes in the wood">2</param>
<param name="sharpcorners" type="boolean" max="9999" _gui-text="sharpcorners" gui-description="extend walls for 45° corners. Requires grinding a 22.5° bevel.">false</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">3.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">3.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Misc"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>TwoPiece</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.TwoPiece</id>
<param name="generator" type="string" gui-hidden="true">twopiece</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="TwoPiece">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="play" type="float" precision="2" max="9999" _gui-text="play" gui-description="play between the two parts as multipleof the wall thickness">0.05</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>TypeTray</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.TypeTray</id>
<param name="generator" type="string" gui-hidden="true">typetray</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="TypeTray">
<param name="sx" type="string" max="9999" _gui-text="sx" gui-description="sections left to right in mm. See --sy for format">50*3</param>
<param name="sy" type="string" max="9999" _gui-text="sy" gui-description='sections back to front in mm. Possible formats: overallwidth/numberof sections e.g. "250/5"; sectionwidth*numberofsections e.g. "50*5"; section widths separated by ":" e.g. "30:25.5:70'>50*3</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="hi" type="float" precision="2" max="9999" _gui-text="hi" gui-description="inner height of inner walls in mm (unless outside selected)(leave to zero for same as outer walls)">0.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="top_edge" type="enum" gui-text="top_edge" gui-description="edge type for top edge">
<item value="e">e Straight Edge</item>
<item value="f">f Finger Joint</item>
<item value="F">F Finger Joint (opposing side)</item>
<item value="c">c Abstract Edge Class</item>
<item value="E">E Straight Edge (outset by thickness)</item>
<item value="S">S Stackable (top)</item>
<item value="i">i Straight edge with hinge eye</item>
<item value="k">k Straight edge with hinge eye (both ends)</item>
<item value="v">v Edge with cabinet hinges for 90° lid</item>
<item value="L">L Edge for slide on lid (box back)</item>
<item value="t">t Triangle for handle</item>
</param>
<param name="gripheight" type="float" precision="2" max="9999" _gui-text="gripheight" gui-description="height of the grip hole in mm">30</param>
<param name="gripwidth" type="float" precision="2" max="9999" _gui-text="gripwidth" gui-description="width of th grip hole in mm (zero for no hole)">70</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">0.5</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
<page name="4" _gui-text="Hinges and HingePins">
<param name="Hinge_grip_percentage" type="int" max="9999" _gui-text="grip_percentage" gui-description="">0</param>
<param name="Hinge_outset" type="boolean" max="9999" _gui-text="outset" gui-description="have lid overlap at the sides (similar to OutSetEdge)">false</param>
<param name="Hinge_pinwidth" type="float" precision="2" max="9999" _gui-text="pinwidth" gui-description="set to lower value to get disks surrounding the pins">0.5</param>
<param name="Hinge_style" type="enum" _gui-text="style" gui-description='"outset" or "flush"'>
<item value="outset" selected="selected">outset</item>
<item value="flush">flush</item>
</param>
<param name="Hinge_axle" type="int" max="9999" _gui-text="axle" gui-description="diameter of the pin hole">2</param>
<param name="Hinge_grip_length" type="int" max="9999" _gui-text="grip_length" gui-description="fixed length of the grips on he lids">0</param>
<param name="Hinge_hingestrength" type="int" max="9999" _gui-text="hingestrength" gui-description="thickness of the arc holding the pin in place">1</param>
</page>
<page name="5" _gui-text="Cabinet Hinges">
<param name="CabinetHinge_bore" type="float" precision="2" max="9999" _gui-text="bore" gui-description="diameter of the pin hole in mm">3.2</param>
<param name="CabinetHinge_eyes_per_hinge" type="int" max="9999" _gui-text="eyes_per_hinge" gui-description="pieces per hinge">5</param>
<param name="CabinetHinge_hinges" type="int" max="9999" _gui-text="hinges" gui-description="number of hinges per edge">2</param>
<param name="CabinetHinge_style" type="enum" _gui-text="style" gui-description="style of hinge used">
<item value="inside" selected="selected">inside</item>
<item value="outside">outside</item>
</param>
<param name="CabinetHinge_eye" type="float" precision="2" max="9999" _gui-text="eye" gui-description="radius of the eye (in multiples of thickness)">1.5</param>
<param name="CabinetHinge_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="space between eyes (in multiples of thickness)">0.05</param>
<param name="CabinetHinge_spacing" type="float" precision="2" max="9999" _gui-text="spacing" gui-description="minimum space around the hinge">2.0</param>
</page>
<page name="6" _gui-text="Slide-on Lids">
<param name="Lid_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="Lid_second_pin" type="boolean" max="9999" _gui-text="second_pin" gui-description="">true</param>
<param name="Lid_spring" type="enum" _gui-text="spring" gui-description="">
<item value="both" selected="selected">both</item>
<item value="none">none</item>
<item value="left">left</item>
<item value="right">right</item>
</param>
<param name="Lid_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="Lid_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="Lid_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="Lid_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">3.0</param>
<param name="Lid_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.05</param>
<param name="Lid_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="Lid_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="7" _gui-text="Click-on Lids">
<param name="Click_angle" type="int" max="9999" _gui-text="angle" gui-description="">5</param>
<param name="Click_bottom_radius" type="float" precision="2" max="9999" _gui-text="bottom_radius" gui-description="">0.1</param>
<param name="Click_depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="">3.0</param>
</page>
<page name="8" _gui-text="RoundedTriangleEdge">
<param name="RoundedTriangleEdge_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height above the wall">150.0</param>
<param name="RoundedTriangleEdge_r_hole" type="float" precision="2" max="9999" _gui-text="r_hole" gui-description="radius of hole">2.0</param>
<param name="RoundedTriangleEdge_radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius of top corner">30.0</param>
<param name="RoundedTriangleEdge_outset" type="int" max="9999" _gui-text="outset" gui-description="extend the triangle along the length of the edge">1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Trays and Drawer Inserts"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>UBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.UBox</id>
<param name="generator" type="string" gui-hidden="true">ubox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="UBox">
<param name="top_edge" type="enum" gui-text="top_edge" gui-description="edge type for top edge">
<item value="e">e Straight Edge</item>
<item value="f">f Finger Joint</item>
<item value="F">F Finger Joint (opposing side)</item>
<item value="c">c Abstract Edge Class</item>
<item value="E">E Straight Edge (outset by thickness)</item>
<item value="S">S Stackable (top)</item>
<item value="i">i Straight edge with hinge eye</item>
<item value="k">k Straight edge with hinge eye (both ends)</item>
<item value="v">v Edge with cabinet hinges for 90° lid</item>
<item value="L">L Edge for slide on lid (box back)</item>
<item value="t">t Triangle for handle</item>
</param>
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius of bottom corners">30.0</param>
<param name="lid" type="enum" _gui-text="lid" gui-description="additional lid">
<item value="default (none)" selected="selected">default (none)</item>
<item value="chest">chest</item>
<item value="flat">flat</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
<page name="4" _gui-text="Hinges and HingePins">
<param name="Hinge_grip_percentage" type="int" max="9999" _gui-text="grip_percentage" gui-description="">0</param>
<param name="Hinge_outset" type="boolean" max="9999" _gui-text="outset" gui-description="have lid overlap at the sides (similar to OutSetEdge)">false</param>
<param name="Hinge_pinwidth" type="float" precision="2" max="9999" _gui-text="pinwidth" gui-description="set to lower value to get disks surrounding the pins">0.5</param>
<param name="Hinge_style" type="enum" _gui-text="style" gui-description='"outset" or "flush"'>
<item value="outset" selected="selected">outset</item>
<item value="flush">flush</item>
</param>
<param name="Hinge_axle" type="int" max="9999" _gui-text="axle" gui-description="diameter of the pin hole">2</param>
<param name="Hinge_grip_length" type="int" max="9999" _gui-text="grip_length" gui-description="fixed length of the grips on he lids">0</param>
<param name="Hinge_hingestrength" type="int" max="9999" _gui-text="hingestrength" gui-description="thickness of the arc holding the pin in place">1</param>
</page>
<page name="5" _gui-text="Cabinet Hinges">
<param name="CabinetHinge_bore" type="float" precision="2" max="9999" _gui-text="bore" gui-description="diameter of the pin hole in mm">3.2</param>
<param name="CabinetHinge_eyes_per_hinge" type="int" max="9999" _gui-text="eyes_per_hinge" gui-description="pieces per hinge">5</param>
<param name="CabinetHinge_hinges" type="int" max="9999" _gui-text="hinges" gui-description="number of hinges per edge">2</param>
<param name="CabinetHinge_style" type="enum" _gui-text="style" gui-description="style of hinge used">
<item value="inside" selected="selected">inside</item>
<item value="outside">outside</item>
</param>
<param name="CabinetHinge_eye" type="float" precision="2" max="9999" _gui-text="eye" gui-description="radius of the eye (in multiples of thickness)">1.5</param>
<param name="CabinetHinge_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="space between eyes (in multiples of thickness)">0.05</param>
<param name="CabinetHinge_spacing" type="float" precision="2" max="9999" _gui-text="spacing" gui-description="minimum space around the hinge">2.0</param>
</page>
<page name="6" _gui-text="Slide-on Lids">
<param name="Lid_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="Lid_second_pin" type="boolean" max="9999" _gui-text="second_pin" gui-description="">true</param>
<param name="Lid_spring" type="enum" _gui-text="spring" gui-description="">
<item value="both" selected="selected">both</item>
<item value="none">none</item>
<item value="left">left</item>
<item value="right">right</item>
</param>
<param name="Lid_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="Lid_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="Lid_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="Lid_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">3.0</param>
<param name="Lid_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.05</param>
<param name="Lid_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="Lid_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="7" _gui-text="Click-on Lids">
<param name="Click_angle" type="int" max="9999" _gui-text="angle" gui-description="">5</param>
<param name="Click_bottom_radius" type="float" precision="2" max="9999" _gui-text="bottom_radius" gui-description="">0.1</param>
<param name="Click_depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="">3.0</param>
</page>
<page name="8" _gui-text="RoundedTriangleEdge">
<param name="RoundedTriangleEdge_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height above the wall">150.0</param>
<param name="RoundedTriangleEdge_r_hole" type="float" precision="2" max="9999" _gui-text="r_hole" gui-description="radius of hole">2.0</param>
<param name="RoundedTriangleEdge_radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius of top corner">30.0</param>
<param name="RoundedTriangleEdge_outset" type="float" precision="2" max="9999" _gui-text="outset" gui-description="extend the triangle along the length of the edge">0.0</param>
</page>
<page name="9" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes with flex"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>UnevenHeightBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.UnevenHeightBox</id>
<param name="generator" type="string" gui-hidden="true">unevenheightbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="UnevenHeightBox">
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="height0" type="float" precision="2" max="9999" _gui-text="height0" gui-description="height of the front left corner in mm">50</param>
<param name="height1" type="float" precision="2" max="9999" _gui-text="height1" gui-description="height of the front right corner in mm">50</param>
<param name="height2" type="float" precision="2" max="9999" _gui-text="height2" gui-description="height of the right back corner in mm">100</param>
<param name="height3" type="float" precision="2" max="9999" _gui-text="height3" gui-description="height of the left back corner in mm">100</param>
<param name="lid" type="boolean" max="9999" _gui-text="lid" gui-description="add a lid (works best with high corners opposing each other)">false</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>UniversalBox</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.UniversalBox</id>
<param name="generator" type="string" gui-hidden="true">universalbox</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="UniversalBox">
<param name="top_edge" type="enum" gui-text="top_edge" gui-description="edge type for top edge">
<item value="e">e Straight Edge</item>
<item value="f">f Finger Joint</item>
<item value="F">F Finger Joint (opposing side)</item>
<item value="c">c Abstract Edge Class</item>
<item value="E">E Straight Edge (outset by thickness)</item>
<item value="S">S Stackable (top)</item>
<item value="i">i Straight edge with hinge eye</item>
<item value="k">k Straight edge with hinge eye (both ends)</item>
<item value="v">v Edge with cabinet hinges for 90° lid</item>
<item value="L">L Edge for slide on lid (box back)</item>
<item value="t">t Triangle for handle</item>
</param>
<param name="bottom_edge" type="enum" gui-text="bottom_edge" gui-description="edge type for bottom edge">
<item value="F">F Finger Joint (opposing side)</item>
<item value="h">h Edge (parallel Finger Joint Holes)</item>
<item value="s">s Stackable (bottom, finger joint holes)</item>
<item value="e">e Straight Edge</item>
</param>
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">100.0</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">100.0</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">100.0</param>
<param name="outside" type="boolean" max="9999" _gui-text="outside" gui-description="treat sizes as outside measurements that include the walls">true</param>
<param name="lid" type="enum" _gui-text="lid" gui-description="additional lid (for straight top_edge only)">
<item value="default (none)" selected="selected">default (none)</item>
<item value="chest">chest</item>
<item value="flat">flat</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="3" _gui-text="Stackable Edges">
<param name="Stackable_angle" type="int" max="9999" _gui-text="angle" gui-description="inside angle of the feet">60</param>
<param name="Stackable_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height of the feet">2.0</param>
<param name="Stackable_holedistance" type="float" precision="2" max="9999" _gui-text="holedistance" gui-description="distance from finger holes to bottom edge">1.0</param>
<param name="Stackable_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of the feet">4.0</param>
</page>
<page name="4" _gui-text="Hinges and HingePins">
<param name="Hinge_grip_percentage" type="int" max="9999" _gui-text="grip_percentage" gui-description="">0</param>
<param name="Hinge_outset" type="boolean" max="9999" _gui-text="outset" gui-description="have lid overlap at the sides (similar to OutSetEdge)">true</param>
<param name="Hinge_pinwidth" type="float" precision="2" max="9999" _gui-text="pinwidth" gui-description="set to lower value to get disks surrounding the pins">0.5</param>
<param name="Hinge_style" type="enum" _gui-text="style" gui-description='"outset" or "flush"'>
<item value="outset" selected="selected">outset</item>
<item value="flush">flush</item>
</param>
<param name="Hinge_axle" type="int" max="9999" _gui-text="axle" gui-description="diameter of the pin hole">2</param>
<param name="Hinge_grip_length" type="int" max="9999" _gui-text="grip_length" gui-description="fixed length of the grips on he lids">0</param>
<param name="Hinge_hingestrength" type="int" max="9999" _gui-text="hingestrength" gui-description="thickness of the arc holding the pin in place">1</param>
</page>
<page name="5" _gui-text="Cabinet Hinges">
<param name="CabinetHinge_bore" type="float" precision="2" max="9999" _gui-text="bore" gui-description="diameter of the pin hole in mm">3.2</param>
<param name="CabinetHinge_eyes_per_hinge" type="int" max="9999" _gui-text="eyes_per_hinge" gui-description="pieces per hinge">5</param>
<param name="CabinetHinge_hinges" type="int" max="9999" _gui-text="hinges" gui-description="number of hinges per edge">2</param>
<param name="CabinetHinge_style" type="enum" _gui-text="style" gui-description="style of hinge used">
<item value="inside" selected="selected">inside</item>
<item value="outside">outside</item>
</param>
<param name="CabinetHinge_eye" type="float" precision="2" max="9999" _gui-text="eye" gui-description="radius of the eye (in multiples of thickness)">1.5</param>
<param name="CabinetHinge_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="space between eyes (in multiples of thickness)">0.05</param>
<param name="CabinetHinge_spacing" type="float" precision="2" max="9999" _gui-text="spacing" gui-description="minimum space around the hinge">2.0</param>
</page>
<page name="6" _gui-text="Slide-on Lids">
<param name="Lid_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="Lid_second_pin" type="boolean" max="9999" _gui-text="second_pin" gui-description="">true</param>
<param name="Lid_spring" type="enum" _gui-text="spring" gui-description="">
<item value="both" selected="selected">both</item>
<item value="none">none</item>
<item value="left">left</item>
<item value="right">right</item>
</param>
<param name="Lid_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="Lid_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="Lid_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="Lid_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">3.0</param>
<param name="Lid_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.05</param>
<param name="Lid_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="Lid_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
<page name="7" _gui-text="Click-on Lids">
<param name="Click_angle" type="int" max="9999" _gui-text="angle" gui-description="">5</param>
<param name="Click_bottom_radius" type="float" precision="2" max="9999" _gui-text="bottom_radius" gui-description="">0.1</param>
<param name="Click_depth" type="float" precision="2" max="9999" _gui-text="depth" gui-description="">3.0</param>
</page>
<page name="8" _gui-text="RoundedTriangleEdge">
<param name="RoundedTriangleEdge_height" type="float" precision="2" max="9999" _gui-text="height" gui-description="height above the wall">150.0</param>
<param name="RoundedTriangleEdge_r_hole" type="float" precision="2" max="9999" _gui-text="r_hole" gui-description="radius of hole">2.0</param>
<param name="RoundedTriangleEdge_radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="radius of top corner">30.0</param>
<param name="RoundedTriangleEdge_outset" type="int" max="9999" _gui-text="outset" gui-description="extend the triangle along the length of the edge">1</param>
</page>
<page name="9" _gui-text="Flex">
<param name="Flex_stretch" type="float" precision="2" max="9999" _gui-text="stretch" gui-description="Hint of how much the flex part should be shortend">1.05</param>
<param name="Flex_connection" type="float" precision="2" max="9999" _gui-text="connection" gui-description="width of the gaps in the cuts">1.0</param>
<param name="Flex_distance" type="float" precision="2" max="9999" _gui-text="distance" gui-description="width of the pattern perpendicular to the cuts">0.5</param>
<param name="Flex_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="">5.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Boxes"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>WaivyKnob</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.WaivyKnob</id>
<param name="generator" type="string" gui-hidden="true">waivyknob</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="WaivyKnob">
<param name="diameter" type="float" precision="2" max="9999" _gui-text="diameter" gui-description="Diameter of the knob (mm)">50.0</param>
<param name="serrations" type="int" max="9999" _gui-text="serrations" gui-description="Number of serrations">20</param>
<param name="serrationangle" type="float" precision="2" max="9999" _gui-text="serrationangle" gui-description="higher values for deeper serrations (degrees)">45.0</param>
<param name="bolthole" type="float" precision="2" max="9999" _gui-text="bolthole" gui-description="Diameter of the bolt hole (mm)">6.0</param>
<param name="dhole" type="float" precision="2" max="9999" _gui-text="dhole" gui-description="D-Flat in fraction of the diameter">1.0</param>
<param name="hexhead" type="float" precision="2" max="9999" _gui-text="hexhead" gui-description="Width of the hex bolt head (mm)">10.0</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Parts and Samples"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>WineRack</_name>
<dependency type="executable" location="extensions">boxes.exe</dependency>
<id>info.festi.boxes.py.WineRack</id>
<param name="generator" type="string" gui-hidden="true">winerack</param>
<param name="tab" type="notebook">
<page name="0" _gui-text="WineRack">
<param name="x" type="float" precision="2" max="9999" _gui-text="x" gui-description="inner width in mm (unless outside selected)">400</param>
<param name="y" type="float" precision="2" max="9999" _gui-text="y" gui-description="inner depth in mm (unless outside selected)">300</param>
<param name="h" type="float" precision="2" max="9999" _gui-text="h" gui-description="inner height in mm (unless outside selected)">210</param>
<param name="radius" type="float" precision="2" max="9999" _gui-text="radius" gui-description="Radius of comb">46.0</param>
<param name="walls" type="enum" _gui-text="walls" gui-description="which of the honey comb walls to add">
<item value="minimal">minimal</item>
<item value="no_verticals">no_verticals</item>
<item value="all" selected="selected">all</item>
</param>
</page>
<page name="1" _gui-text="Default">
<param name="thickness" type="float" precision="2" max="9999" _gui-text="thickness" gui-description="thickness of the material">3.0</param>
<param name="tabs" type="float" precision="2" max="9999" _gui-text="tabs" gui-description="width of tabs holding the parts in place in mm (not supported everywhere)">0.0</param>
<param name="debug" type="boolean" max="9999" _gui-text="debug" gui-description="print surrounding boxes for some structures">false</param>
<param name="reference" type="float" precision="2" max="9999" _gui-text="reference" gui-description="print reference rectangle with given length (zero to disable)">100</param>
<param name="burn" type="float" precision="2" max="9999" _gui-text="burn" gui-description='burn correction in mm (bigger values for tighter fit). Use BurnTest in "Parts and Samples" to find the right value.'>0.1</param>
</page>
<page name="2" _gui-text="Finger Joints">
<param name="FingerJoint_angle" type="float" precision="2" max="9999" _gui-text="angle" gui-description="">90.0</param>
<param name="FingerJoint_style" type="enum" _gui-text="style" gui-description="style of the fingers">
<item value="rectangular" selected="selected">rectangular</item>
<item value="springs">springs</item>
</param>
<param name="FingerJoint_surroundingspaces" type="float" precision="2" max="9999" _gui-text="surroundingspaces" gui-description="maximum space at the start and end in multiple of normal spaces">2.0</param>
<param name="FingerJoint_edge_width" type="float" precision="2" max="9999" _gui-text="edge_width" gui-description="space below holes of FingerHoleEdge">1.0</param>
<param name="FingerJoint_finger" type="float" precision="2" max="9999" _gui-text="finger" gui-description="width of the fingers">2.0</param>
<param name="FingerJoint_play" type="float" precision="2" max="9999" _gui-text="play" gui-description="extra space to allow finger move in and out">0.0</param>
<param name="FingerJoint_space" type="float" precision="2" max="9999" _gui-text="space" gui-description="space between fingers">2.0</param>
<param name="FingerJoint_width" type="float" precision="2" max="9999" _gui-text="width" gui-description="width of finger holes">1.0</param>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="Boxes.py">
<submenu _name="Shelves"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions">boxes.exe</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Cards Layout Guides</_name>
<id>fablabchemnitz.de.CardLayoutGuides</id>
<param name="layout" type="enum" gui-text="Layout Type">
<item value="SIMPLE">Simple Grid</item>
<item value="FOLDING">Folding Grid</item>
</param>
<param name="card_width" type="float" precision="1" min="5" max="1000" gui-text="Card width (mm)">60</param>
<param name="card_height" type="float" precision="1" min="5" max="1000" gui-text="Card height (mm)">30</param>
<param name="orientation" type="enum" gui-text="Card Orientation">
<item value="HORIZONTAL">Horizontal</item>
<item value="VERTICAL">Vertical</item>
</param>
<param name="card_margin" type="float" precision="1" min="0" max="200" gui-text="Card margin(mm)">2</param>
<param name="bleed_margin" type="float" precision="1" min="0" max="200" gui-text="Bleed margin(mm)">2</param>
<param name="page_margin" type="float" precision="1" min="0" max="200" gui-text="Page margin(mm)">15</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="FabLab Chemnitz">
<submenu _name="Grids/Guides" />
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions" interpreter="python">fablabchemnitz_CardLayoutGuides.py</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,481 @@
#!/usr/bin/env python3
# Copyright 2016 Luke Phillips (lukerazor@hotmail.com)
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# Extension dirs
# linux:~/.config/inkscape/extensions
# windows: [Drive]:\Program Files\Inkscape\share\extensions
from lxml import etree
import inkex
import copy
import math
FOLD_GAP = 5
CROP_GAP = 2
CROP_LENGTH = 3
inkex.NSS[u'cs'] = u'http://www.razorfoss.org/cardlayoutguides/'
def PrintDebug(string):
inkex.utils.debug( _(str(string)) )
def RoundAndDeduplicatePoints(points):
return sorted(list(set(map(lambda x: round(x, 3), points))))
class Point():
def __init__(self, x, y):
self.x = x
self.y = y
def rotate(self, angle, origin):
"""
Rotate a point counterclockwise by a given angle around a given origin.
The angle should be given in degrees.
"""
rads = math.radians(angle)
newX = origin.x + math.cos(rads) * (self.x - origin.x) - math.sin(rads) * (self.y - origin.y)
newY = origin.y + math.sin(rads) * (self.x - origin.x) + math.cos(rads) * (self.y - origin.y)
return Point(newX, newY)
def add(self, point):
return Point(self.x + point.x, self.y + point.y)
@staticmethod
def parsePoint(pointString):
x, y = map(lambda v: float(v), pointString.split(","))
return Point(x, y)
@staticmethod
def parse(pointString, orientationString=None):
p1 = Point.parsePoint(pointString)
p = Point(p1.x, p1.y)
if orientationString != None:
po = Point.parsePoint(orientationString)
p = p1.add(po.rotate(270, Point(0, 0)))
return p
class LineGeneratorBase(object):
def __init__(self, card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc):
self.UnitConverterFunc = unitConverterFunc
self.card_width = card_width
self.card_height = card_height
self.card_margin = card_margin
self.bleed_margin = bleed_margin
self.PageWidth = pageWidth
self.PageHeight = pageHeight
self.page_margin = page_margin
self.ContainerWidth = -1
self.ContainerHeight = -1
self.GuideOffsetsWithFold = [
0,
self.bleed_margin, self.card_margin, self.card_height - 2*self.card_margin, self.card_margin, self.bleed_margin,
2*FOLD_GAP,
self.bleed_margin, self.card_margin, self.card_height - 2*self.card_margin, self.card_margin, self.bleed_margin
]
self.GuideOffsetsNoFold = [
0,
self.bleed_margin, self.card_margin,
self.card_width - 2*self.card_margin,
self.card_margin, self.bleed_margin
]
def CalcPageLeftMargin(self):
return (self.PageWidth - self.ContentWidth) / 2.0
def CalcPageBottomMargin(self):
return (self.PageHeight - self.ContentHeight) / 2.0
def DrawGuide(self, xmlParent, xpos, ypos):
posString = "{},{}".format(xpos, ypos)
attribs = {'position': posString, 'orientation': posString}
etree.SubElement(xmlParent, inkex.addNS('guide',"sodipodi"), attribs)
def ConvertPoint(self, p):
# convert point into svg approriate values, including catering for inkscapes "alternative" axis sytem ie 0, 0 is bottom left not top left
newX = self.UnitConverterFunc("{}mm".format(p.x))
newY = self.PageHeight - self.UnitConverterFunc("{}mm".format(p.y))
return Point(newX, newY)
def DrawLine(self, xmlParent, p1, p2):
cp1 = self.ConvertPoint(p1)
cp2 = self.ConvertPoint(p2)
pathStr = "M {},{} {}, {}".format(cp1.x, cp1.y, cp2.x, cp2.y)
style = {'stroke': '#000000', 'stroke-width': self.UnitConverterFunc('0.25mm'), 'fill': 'none'}
attribs = {'style': str(inkex.Style(style)), 'd': pathStr}
etree.SubElement(xmlParent, inkex.addNS('path','svg'), attribs )
def DrawVerticleGuides(self, xmlParent, positions, gap):
curPos = self.CalcPageLeftMargin()
lastPos = -1
while curPos + self.ContainerWidth <= self.PageWidth - self.page_margin:
for offset in positions:
curPos += offset
if curPos != lastPos: # don't double draw
self.DrawGuide(xmlParent, curPos, 0)
lastPos = curPos
curPos += gap
def DrawHorizontalGuides(self, xmlParent, positions, gap):
curPos = self.CalcPageBottomMargin()
lastPos = -1
while curPos + self.ContainerHeight <= self.PageHeight - self.page_margin:
for offset in positions:
curPos += offset
if curPos != lastPos: # don't double draw
self.DrawGuide(xmlParent, 0, curPos)
lastPos = curPos
curPos += gap
def GenerateFoldLines(self, xmlParent):
lines = self.GetFoldLinePositions()
for line in lines:
self.DrawLine(xmlParent, line[0], line[1])
def GenerateCropMarks(self, xmlParent):
lines = self.GetCropMarkLines()
for line in lines:
self.DrawLine(xmlParent, line[0], line[1])
@staticmethod
def CreateLineGenerator(layout, orientation, card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc):
if layout == "SIMPLE":
return SimpleGridLineGenerator(orientation, card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc)
if orientation == "HORIZONTAL":
return LineGeneratorForHorizontalCards(card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc)
return LineGeneratorForVerticalCards(card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc)
class SimpleGridLineGenerator(LineGeneratorBase):
def __init__(self, orientation, card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc):
if orientation == "HORIZONTAL":
super(SimpleGridLineGenerator, self).__init__(card_height, card_width, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc)
else:
super(SimpleGridLineGenerator, self).__init__(card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc)
self.ContainerWidth = self.card_width + 2 * bleed_margin
self.ContainerHeight = self.card_height + 2 * bleed_margin
# num across
# num down
self.NumContainersAcross = int((self.PageWidth - 2*self.page_margin) // self.ContainerWidth) # round down division
self.NumContainersDown = int((self.PageHeight - 2*self.page_margin) // self.ContainerHeight) # round down division
# content sizes
self.ContentWidth = self.NumContainersAcross * self.ContainerWidth
self.ContentHeight = self.NumContainersDown * self.ContainerHeight
def GenerateGuides(self, xmlParent):
horizontalOffsets = self.GuideOffsetsNoFold = [
0,
self.bleed_margin, self.card_margin,
self.card_width - 2*self.card_margin,
self.card_margin, self.bleed_margin
]
verticalOffsets = self.GuideOffsetsNoFold = [
0,
self.bleed_margin, self.card_margin,
self.card_height - 2*self.card_margin,
self.card_margin, self.bleed_margin
]
self.DrawVerticleGuides(xmlParent, horizontalOffsets, 0)
self.DrawHorizontalGuides(xmlParent, verticalOffsets, 0)
def GetFoldLinePositions(self):
return [] # no fold lines in simple grid
def GetCropMarkLines(self):
lines = []
leftMargin = self.CalcPageLeftMargin()
bottomMargin = self.CalcPageBottomMargin()
#determine all horizontal crop marks, duplicates possible
# figure out the ypos
horizontal_ypos = []
for idx in range(self.NumContainersDown):
bottomY = self.bleed_margin
topY = bottomY + self.card_height
containerOffset = bottomMargin + idx*self.ContainerHeight
horizontal_ypos.append(containerOffset + bottomY)
horizontal_ypos.append(containerOffset + topY)
horizontal_ypos = RoundAndDeduplicatePoints(horizontal_ypos) # remove duplicate positions
horizontal_xpos = [leftMargin - CROP_GAP, self.PageWidth - leftMargin + CROP_GAP + CROP_LENGTH]
for xpos in horizontal_xpos:
for ypos in horizontal_ypos:
lines.append([
Point(xpos - CROP_LENGTH, ypos),
Point(xpos, ypos)
])
#determine all vertical crop marks, duplicates possible
# figure out the xpos
vertical_xpos = []
for idx in range(self.NumContainersAcross):
leftX = self.bleed_margin
rightX = leftX + self.card_width
containerOffset = leftMargin + idx*self.ContainerWidth
vertical_xpos.append(containerOffset + leftX)
vertical_xpos.append(containerOffset + rightX)
vertical_xpos = RoundAndDeduplicatePoints(vertical_xpos) # remove duplicate positions
vertical_ypos = [bottomMargin - CROP_GAP, self.PageHeight - bottomMargin + CROP_GAP + CROP_LENGTH]
for xpos in vertical_xpos:
for ypos in vertical_ypos:
lines.append([
Point(xpos, ypos),
Point(xpos, ypos - CROP_LENGTH)
])
return lines
class LineGeneratorForVerticalCards(LineGeneratorBase):
def __init__(self, card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc):
super(LineGeneratorForVerticalCards, self).__init__(card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc)
self.ContainerWidth = card_width + 2*bleed_margin
self.ContainerHeight = 2*(card_height + 2*bleed_margin + FOLD_GAP)
# num across
self.NumContainersAcross = int((self.PageWidth - 2*self.page_margin) // self.ContainerWidth) # round down division
# num down
contentHeight = lambda n: n * self.ContainerHeight + (n - 1)*(2*FOLD_GAP)
workingHeight = self.PageHeight - 2*self.page_margin
self.NumContainersDown = int(workingHeight // self.ContainerHeight) # round down division for nominal value
if contentHeight(self.NumContainersDown) > workingHeight:
self.NumContainersDown -= 1
# content sizes
self.ContentWidth = self.NumContainersAcross * self.ContainerWidth
self.ContentHeight = contentHeight(self.NumContainersDown)
def GenerateGuides(self, xmlParent):
self.DrawVerticleGuides(xmlParent, self.GuideOffsetsNoFold, 0)
self.DrawHorizontalGuides(xmlParent, self.GuideOffsetsWithFold, 2*FOLD_GAP)
def GetFoldLinePositions(self):
lines = []
leftMargin = self.CalcPageLeftMargin()
for idx in range(self.NumContainersDown):
foldY = self.CalcPageBottomMargin() + idx*(self.ContainerHeight + 2*FOLD_GAP) + self.ContainerHeight/2
lines.append([Point(leftMargin, foldY), Point(self.PageWidth - leftMargin, foldY)])
return lines
def GetCropMarkLines(self):
lines = []
leftMargin = self.CalcPageLeftMargin()
bottomMargin = self.CalcPageBottomMargin()
vertical_ypos = []
# determine all of the hornzontal facing crop marks, no duplicates possible
for idx in range(self.NumContainersDown):
bottomY = self.bleed_margin
topY = bottomY + self.card_height
containerOffset = bottomMargin + idx*(self.ContainerHeight + 2*FOLD_GAP)
vertical_ypos += [
containerOffset - CROP_GAP,
containerOffset + 2*self.bleed_margin + 2*self.card_margin + self.card_height + CROP_GAP + CROP_LENGTH
] # stash for later
for ypos in [containerOffset + bottomY, containerOffset + topY]:
for xpos in [leftMargin - CROP_GAP, self.PageWidth - leftMargin + CROP_GAP + CROP_LENGTH]:
lines.append([
Point(xpos, ypos),
Point(xpos - CROP_LENGTH, ypos)
])
#determine all vertical crop marks, duplicates possible
# figure out the xpos
vertical_xpos = []
for idx in range(self.NumContainersAcross):
leftX = self.bleed_margin
rightX = leftX + self.card_width
containerOffset = leftMargin + idx*self.ContainerWidth
vertical_xpos.append(containerOffset + leftX)
vertical_xpos.append(containerOffset + rightX)
vertical_xpos = list(set(vertical_xpos)) # remove duplicate positions
for xpos in vertical_xpos:
for ypos in vertical_ypos:
lines.append([
Point(xpos, ypos),
Point(xpos, ypos - CROP_LENGTH)
])
return lines
class LineGeneratorForHorizontalCards(LineGeneratorBase):
def __init__(self, card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc):
super(LineGeneratorForHorizontalCards, self).__init__(card_width, card_height, card_margin, bleed_margin, pageWidth, pageHeight, page_margin, unitConverterFunc)
self.ContainerWidth = 2*(card_height + 2 * bleed_margin + FOLD_GAP)
self.ContainerHeight = card_width + 2 * bleed_margin
# num across
contentWidth = lambda n: n * self.ContainerWidth + (n - 1)*(2*FOLD_GAP)
workingWidth = self.PageWidth - 2*self.page_margin
self.NumContainersAcross = int(workingWidth // self.ContainerWidth) # round down division for nominal value
if contentWidth(self.NumContainersAcross) > workingWidth:
self.NumContainersAcross -= 1
# num down
self.NumContainersDown = int((self.PageHeight - 2*self.page_margin) // self.ContainerHeight) # round down division
# content sizes
self.ContentWidth = contentWidth(self.NumContainersAcross)
self.ContentHeight = self.NumContainersDown * self.ContainerHeight
def GenerateGuides(self, xmlParent):
self.DrawVerticleGuides(xmlParent, self.GuideOffsetsWithFold, 2*FOLD_GAP)
self.DrawHorizontalGuides(xmlParent, self.GuideOffsetsNoFold, 0)
def GetFoldLinePositions(self):
lines = []
bottomMargin = self.CalcPageBottomMargin()
for idx in range(self.NumContainersAcross):
foldX = self.CalcPageLeftMargin() + idx*(self.ContainerWidth + 2*FOLD_GAP) + self.ContainerWidth/2
lines.append([Point(foldX, bottomMargin), Point(foldX, self.PageHeight - bottomMargin)])
return lines
def GetCropMarkLines(self):
lines = []
leftMargin = self.CalcPageLeftMargin()
bottomMargin = self.CalcPageBottomMargin()
horizontal_xpos = []
# determine all of the vertical facing crop marks, no duplicates possible
for idx in range(self.NumContainersAcross):
leftX = self.bleed_margin
rightX = leftX + self.card_height
containerOffset = leftMargin + idx*(self.ContainerWidth + 2*FOLD_GAP)
horizontal_xpos += [
containerOffset - CROP_GAP,
containerOffset + 2*self.bleed_margin + 2*self.card_margin + self.card_height + CROP_GAP + CROP_LENGTH
] # stash for later
for xpos in [containerOffset + leftX, containerOffset + rightX]:
for ypos in [bottomMargin - CROP_GAP, self.PageHeight - bottomMargin + CROP_GAP + CROP_LENGTH]:
lines.append([
Point(xpos, ypos),
Point(xpos, ypos - CROP_LENGTH)
])
#determine all horizontal crop marks, duplicates possible
# figure out the xpos
horizontal_ypos = []
for idx in range(self.NumContainersDown):
bottomY = self.bleed_margin
topY = bottomY + self.card_width
containerOffset = bottomMargin + idx*self.ContainerHeight
horizontal_ypos.append(containerOffset + bottomY)
horizontal_ypos.append(containerOffset + topY)
horizontal_ypos = RoundAndDeduplicatePoints(horizontal_ypos) # remove duplicate positions
for ypos in horizontal_ypos:
for xpos in horizontal_xpos:
lines.append([
Point(xpos, ypos),
Point(xpos - CROP_LENGTH, ypos)
])
return lines
class FoldedCardLayoutGuidesEffect(inkex.Effect):
def __init__(self):
inkex.Effect.__init__(self)
self.arg_parser.add_argument('-l', '--layout')
self.arg_parser.add_argument('-w', '--card_width', type = float)
self.arg_parser.add_argument('-d', '--card_height', type = float)
self.arg_parser.add_argument('-o', '--orientation')
self.arg_parser.add_argument('-c', '--card_margin', type = float)
self.arg_parser.add_argument('-b', '--bleed_margin', type = float)
self.arg_parser.add_argument('-p', '--page_margin', type = float)
def effect(self):
# find dimensions of page
pageWidth = self.svg.uutounit(self.svg.width, "mm")
pageHeight = self.svg.uutounit(self.svg.height, "mm")
opt = self.options
guideParent = self.document.xpath('//sodipodi:namedview',namespaces=inkex.NSS)[0]
### GUIDES
# remove all the existing guides
[node.getparent().remove(node) for node in self.document.xpath('//sodipodi:guide',namespaces=inkex.NSS)]
# create the generator object
gen = LineGeneratorBase.CreateLineGenerator(opt.layout, opt.orientation, opt.card_width, opt.card_height, opt.card_margin, opt.bleed_margin, pageWidth, pageHeight, opt.page_margin, self.svg.unittouu)
gen.GenerateGuides(guideParent)
### FOLD LINES
# remove any existing 'Crop marks' layer
[node.getparent().remove(node) for node in self.document.xpath("//svg:g[@inkscape:label='Crop Marks']",namespaces=inkex.NSS)]
svg = self.document.xpath('//svg:svg', namespaces=inkex.NSS)[0]
layer = etree.SubElement(svg, inkex.addNS('g',"svg"), {})
layer.set(inkex.addNS('label', 'inkscape'), "Crop Marks")
layer.set(inkex.addNS('groupmode', 'inkscape'), 'layer')
#layer.set(inkex.addNS('insensitive', 'sodipodi'), 'true')
gen.GenerateFoldLines(layer)
### CROP MARKS
gen.GenerateCropMarks(layer)
if __name__ == '__main__':
FoldedCardLayoutGuidesEffect().run()

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Hex Tiles</_name>
<id>fablabchemnitz.de.HexLayoutGuides</id>
<param name="hex_diameter" type="float" precision="1" min="5" max="1000" gui-text="Hex Diameter (mm)">19</param>
<param name="hex_margin" type="float" precision="1" min="0" max="200" gui-text="Hex margin(mm)">2</param>
<param name="bleed_margin" type="float" precision="1" min="0" max="200" gui-text="Bleed margin(mm)">2</param>
<param name="page_margin" type="float" precision="1" min="0" max="200" gui-text="Page margin(mm)">15</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu _name="FabLab Chemnitz">
<submenu _name="Grids/Guides" />
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="extensions" interpreter="python">fablabchemnitz_HexLayoutGuides.py</command>
</script>
</inkscape-extension>

Some files were not shown because too many files have changed in this diff Show More