diff --git a/rocolib/builders/boat/BatteryStackMountBuilder.py b/rocolib/builders/boat/BatteryStackMountBuilder.py
index aec222856be4b87c0075462c4c56bf53649f80b9..6a77c3d3d546dc1ab6a0dd9a2e4534d4266be831 100644
--- a/rocolib/builders/boat/BatteryStackMountBuilder.py
+++ b/rocolib/builders/boat/BatteryStackMountBuilder.py
@@ -21,9 +21,17 @@ c.addSubcomponent("rarm", "Rectangle", inherit=True)
 c.addConstraint(("rarm", "l"), ("numBatteries","boatwidth", "boatdepth"), "((0.5 * x[1] - 0.5 * ( 9 * x[0])) ** 2 + (x[2] - 17) ** 2) ** 0.5")
 c.addConstConstraint(("rarm", "w"), 60)
 #
-c.addConnection(("larm", "l"), ("holder", "topedge1"), angle=45)
-c.addConnection(("rarm", "l"), ("holder", "botedge1"), angle=45)
-
-
+c.addConnection(("larm", "l"), ("holder", "topedge3"), angle=-45)
+c.addConnection(("rarm", "l"), ("holder", "botedge3"), angle=-45)
+
+c.addSubcomponent("terminals", "Cutout")
+c.addConstConstraint(("terminals", "dx"), 6)
+c.addConstraint(("terminals", "dy"), "numBatteries", "x * 6")
+c.addConnection(("holder", "face3"),
+                   ("terminals", "decoration"),
+                   mode="hole", offset=Function(params=("numBatteries"), fnstring="(-22, 0)")) #,offset=Function(params=("dxServoArm"), fnstring="(7, 0)"
+
+c.inheritInterface("leftArmInterface", ("larm", "r"))
+c.inheritInterface("rightArmInterface", ("rarm", "r"))
 
 c.toLibrary("BatteryStackMount")
diff --git a/rocolib/builders/boat/BoatWithServoMountBuilder.py b/rocolib/builders/boat/BoatWithServoMountBuilder.py
index cf26d2cd793603e72b271925cd624efd1e04c544..f31edcdc3aacb1f323cd199396ab9bd7b9b713c3 100644
--- a/rocolib/builders/boat/BoatWithServoMountBuilder.py
+++ b/rocolib/builders/boat/BoatWithServoMountBuilder.py
@@ -7,8 +7,8 @@ c.addSubcomponent("lServoMount", "SideServoMount", inherit="depth")
 c.addSubcomponent("rServoMount", "SideServoMount", inherit="depth")
 
 #topDistance and botDistance (and servoMount length) determine the dimensions of the boat hull
-c.addParameter("topDistance", 150, paramType="length", minValue=0) #servo mount length above the connecting edge
-c.addParameter("botDistance", 100, paramType="length", minValue=73) #servo mount length below the connecting edge
+c.addParameter("topDistance", 50, paramType="length", minValue=0) #servo mount length above the connecting edge
+c.addParameter("botDistance", 80, paramType="length", minValue=73) #servo mount length below the connecting edge
 
 c.addConstraint(("boat","boat.length"), ("topDistance", "botDistance", "lServoMount.depth"), "x[0] + x[1] + x[2]")
 
diff --git a/rocolib/library/BatteryStackMount.yaml b/rocolib/library/BatteryStackMount.yaml
index 42f6b72c1a024dfcf6e1e950c96f0eb49d339b21..fe3f08a6fa9b5678ec934ce03ace34295662740d 100644
--- a/rocolib/library/BatteryStackMount.yaml
+++ b/rocolib/library/BatteryStackMount.yaml
@@ -3,15 +3,30 @@ connections:
   - - larm
     - l
   - - holder
-    - topedge1
-  - angle: 45
+    - topedge3
+  - angle: -45
   connection1:
   - - rarm
     - l
   - - holder
-    - botedge1
-  - angle: 45
-interfaces: {}
+    - botedge3
+  - angle: -45
+  connection2:
+  - - holder
+    - face3
+  - - terminals
+    - decoration
+  - mode: hole
+    offset:
+      function: (-22, 0)
+      parameter: numBatteries
+interfaces:
+  leftArmInterface:
+    interface: r
+    subcomponent: larm
+  rightArmInterface:
+    interface: r
+    subcomponent: rarm
 parameters:
   _dx:
     defaultValue: 0
@@ -253,3 +268,11 @@ subcomponents:
         function: ((0.5 * x[1] - 0.5 * ( 9 * x[0])) ** 2 + (x[2] - 17) ** 2) ** 0.5
         parameter: *id001
       w: 60
+  terminals:
+    classname: Cutout
+    kwargs: {}
+    parameters:
+      dx: 6
+      dy:
+        function: x * 6
+        parameter: numBatteries
diff --git a/rocolib/library/BoatWithServoMount.yaml b/rocolib/library/BoatWithServoMount.yaml
index 676203464a676cf4296a3a31a99fa1def0d3f6a9..952da8a633f9837830ef7532874ead98d82a547a 100644
--- a/rocolib/library/BoatWithServoMount.yaml
+++ b/rocolib/library/BoatWithServoMount.yaml
@@ -56,7 +56,7 @@ parameters:
       units: mm
       valueType: (float, int)
   botDistance:
-    defaultValue: 100
+    defaultValue: 80
     spec:
       minValue: 73
       units: mm
@@ -86,7 +86,7 @@ parameters:
       units: mm
       valueType: (float, int)
   topDistance:
-    defaultValue: 150
+    defaultValue: 50
     spec:
       minValue: 0
       units: mm
diff --git a/rocolib/output/BatteryStackMount/graph-anim.svg b/rocolib/output/BatteryStackMount/graph-anim.svg
index a75ae5952f249a14f2871026cc5c5921e5ad5703..c9b49e0e7619b1e5fd9780a2fa203eb9cd803391 100644
--- a/rocolib/output/BatteryStackMount/graph-anim.svg
+++ b/rocolib/output/BatteryStackMount/graph-anim.svg
@@ -1,28 +1,32 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="full" height="164.000000mm" version="1.1" viewBox="0.000000 0.000000 150.308556 164.000000" width="150.308556mm">
   <defs/>
-  <line stroke="#000000" x1="150.30855606972293" x2="88.65427803486148" y1="27.0" y2="27.0"/>
-  <line stroke="#000000" x1="150.30855606972293" x2="150.30855606972293" y1="87.00000000000001" y2="27.0"/>
-  <line stroke="#000000" x1="88.65427803486148" x2="150.30855606972293" y1="87.00000000000001" y2="87.00000000000001"/>
-  <line opacity="0.25" stroke="#0000ff" x1="88.65427803486148" x2="88.65427803486148" y1="87.00000000000001" y2="27.0"/>
-  <line opacity="0.5" stroke="#0000ff" x1="88.65427803486148" x2="61.65427803486147" y1="87.00000000000001" y2="87.00000000000001"/>
-  <line opacity="0.25" stroke="#0000ff" x1="61.65427803486147" x2="61.65427803486147" y1="27.0" y2="87.00000000000001"/>
-  <line opacity="0.5" stroke="#0000ff" x1="88.65427803486148" x2="61.65427803486147" y1="27.0" y2="27.0"/>
-  <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="104.00000000000001" y2="87.00000000000001"/>
+  <line stroke="#000000" x1="150.30855606972293" x2="88.65427803486148" y1="104.00000000000001" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="150.30855606972293" x2="150.30855606972293" y1="164.0" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="88.65427803486148" x2="150.30855606972293" y1="164.0" y2="164.0"/>
+  <line opacity="0.25" stroke="#ff0000" x1="88.65427803486148" x2="88.65427803486148" y1="164.0" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="61.65427803486147" x2="88.65427803486148" y1="164.0" y2="164.0"/>
+  <line opacity="0.25" stroke="#ff0000" x1="61.65427803486147" x2="61.65427803486147" y1="104.00000000000001" y2="164.0"/>
   <line opacity="0.5" stroke="#0000ff" x1="88.65427803486148" x2="61.65427803486147" y1="104.00000000000001" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="0.0" x2="61.65427803486147" y1="164.0" y2="164.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="104.00000000000001" y2="164.0"/>
+  <line stroke="#000000" x1="61.65427803486147" x2="0.0" y1="104.00000000000001" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="104.00000000000001" y2="87.00000000000001"/>
   <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="87.00000000000001" y2="104.00000000000001"/>
-  <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="164.0" y2="104.00000000000001"/>
-  <line stroke="#000000" x1="61.65427803486147" x2="88.65427803486148" y1="164.0" y2="164.0"/>
-  <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="104.00000000000001" y2="164.0"/>
-  <line stroke="#000000" x1="0.0" x2="61.65427803486147" y1="87.00000000000001" y2="87.00000000000001"/>
-  <line stroke="#000000" x1="0.0" x2="0.0" y1="27.0" y2="87.00000000000001"/>
-  <line stroke="#000000" x1="61.65427803486147" x2="0.0" y1="27.0" y2="27.0"/>
+  <line opacity="0.5" stroke="#0000ff" x1="88.65427803486148" x2="61.65427803486147" y1="87.00000000000001" y2="87.00000000000001"/>
+  <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="87.00000000000001" y2="27.000000000000004"/>
+  <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="27.000000000000004" y2="87.00000000000001"/>
+  <line opacity="0.5" stroke="#0000ff" x1="88.65427803486148" x2="61.65427803486147" y1="27.000000000000004" y2="27.000000000000004"/>
   <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="27.000000000000004" y2="10.000000000000002"/>
   <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="10.000000000000002" y2="27.000000000000004"/>
   <line opacity="0.5" stroke="#0000ff" x1="61.65427803486147" x2="88.65427803486148" y1="10.000000000000002" y2="10.000000000000002"/>
   <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="0.0" y2="10.000000000000002"/>
   <line stroke="#000000" x1="88.65427803486148" x2="61.65427803486147" y1="0.0" y2="0.0"/>
   <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="10.000000000000002" y2="0.0"/>
+  <line stroke="#888888" x1="84.15427803486146" x2="84.15427803486146" y1="109.00000000000001" y2="115.00000000000001"/>
+  <line stroke="#888888" x1="84.15427803486146" x2="66.15427803486146" y1="115.00000000000001" y2="115.00000000000001"/>
+  <line stroke="#888888" x1="66.15427803486146" x2="66.15427803486146" y1="115.00000000000001" y2="109.00000000000001"/>
+  <line stroke="#888888" x1="66.15427803486146" x2="84.15427803486146" y1="109.00000000000001" y2="109.00000000000001"/>
   <line stroke="#888888" x1="70.40427803486146" x2="79.90427803486146" y1="156.25000000000003" y2="156.25000000000003"/>
   <line stroke="#888888" x1="79.90427803486146" x2="79.90427803486146" y1="156.25000000000003" y2="156.75"/>
   <line stroke="#888888" x1="79.90427803486146" x2="70.40427803486146" y1="156.75" y2="156.75"/>
diff --git a/rocolib/output/BatteryStackMount/graph-autofold-default.dxf b/rocolib/output/BatteryStackMount/graph-autofold-default.dxf
index 0bb0ae0188404fc28ccbc97f11ab064e8f5ef179..23fb3127b6a1e5018a3cb805670418068220bb89 100644
--- a/rocolib/output/BatteryStackMount/graph-autofold-default.dxf
+++ b/rocolib/output/BatteryStackMount/graph-autofold-default.dxf
@@ -557,7 +557,7 @@ CONTINUOUS
   0
 LAYER
   2
-45
+-45
  70
 0
  62
@@ -975,13 +975,13 @@ cut
  10
 150.30855606972293
  20
-27.0
+104.00000000000001
  30
 0.0
  11
 88.65427803486148
  21
-27.0
+104.00000000000001
  31
 0.0
   0
@@ -993,13 +993,13 @@ cut
  10
 150.30855606972293
  20
-87.00000000000001
+164.0
  30
 0.0
  11
 150.30855606972293
  21
-27.0
+104.00000000000001
  31
 0.0
   0
@@ -1011,13 +1011,13 @@ cut
  10
 88.65427803486148
  20
-87.00000000000001
+164.0
  30
 0.0
  11
 150.30855606972293
  21
-87.00000000000001
+164.0
  31
 0.0
   0
@@ -1027,37 +1027,35 @@ DOTTED
  62
 1
   8
-45
+-45
  10
 88.65427803486148
  20
-87.00000000000001
+164.0
  30
 0.0
  11
 88.65427803486148
  21
-27.0
+104.00000000000001
  31
 0.0
   0
 LINE
-  6
-DOTTED
  62
-1
+5
   8
-90
+cut
  10
-88.65427803486148
+61.65427803486147
  20
-87.00000000000001
+164.0
  30
 0.0
  11
-61.65427803486147
+88.65427803486148
  21
-87.00000000000001
+164.0
  31
 0.0
   0
@@ -1067,17 +1065,17 @@ DOTTED
  62
 1
   8
-45
+-45
  10
 61.65427803486147
  20
-27.0
+104.00000000000001
  30
 0.0
  11
 61.65427803486147
  21
-87.00000000000001
+164.0
  31
 0.0
   0
@@ -1091,13 +1089,13 @@ DOTTED
  10
 88.65427803486148
  20
-27.0
+104.00000000000001
  30
 0.0
  11
 61.65427803486147
  21
-27.0
+104.00000000000001
  31
 0.0
   0
@@ -1107,35 +1105,33 @@ LINE
   8
 cut
  10
-88.65427803486148
+0.0
  20
-104.00000000000001
+164.0
  30
 0.0
  11
-88.65427803486148
+61.65427803486147
  21
-87.00000000000001
+164.0
  31
 0.0
   0
 LINE
-  6
-DOTTED
  62
-1
+5
   8
-90
+cut
  10
-88.65427803486148
+0.0
  20
 104.00000000000001
  30
 0.0
  11
-61.65427803486147
+0.0
  21
-104.00000000000001
+164.0
  31
 0.0
   0
@@ -1147,11 +1143,11 @@ cut
  10
 61.65427803486147
  20
-87.00000000000001
+104.00000000000001
  30
 0.0
  11
-61.65427803486147
+0.0
  21
 104.00000000000001
  31
@@ -1165,13 +1161,13 @@ cut
  10
 88.65427803486148
  20
-164.0
+104.00000000000001
  30
 0.0
  11
 88.65427803486148
  21
-104.00000000000001
+87.00000000000001
  31
 0.0
   0
@@ -1183,31 +1179,33 @@ cut
  10
 61.65427803486147
  20
-164.0
+87.00000000000001
  30
 0.0
  11
-88.65427803486148
+61.65427803486147
  21
-164.0
+104.00000000000001
  31
 0.0
   0
 LINE
+  6
+DOTTED
  62
-5
+1
   8
-cut
+90
  10
-61.65427803486147
+88.65427803486148
  20
-104.00000000000001
+87.00000000000001
  30
 0.0
  11
 61.65427803486147
  21
-164.0
+87.00000000000001
  31
 0.0
   0
@@ -1217,15 +1215,15 @@ LINE
   8
 cut
  10
-0.0
+88.65427803486148
  20
 87.00000000000001
  30
 0.0
  11
-61.65427803486147
+88.65427803486148
  21
-87.00000000000001
+27.000000000000004
  31
 0.0
   0
@@ -1235,33 +1233,35 @@ LINE
   8
 cut
  10
-0.0
+61.65427803486147
  20
-27.0
+27.000000000000004
  30
 0.0
  11
-0.0
+61.65427803486147
  21
 87.00000000000001
  31
 0.0
   0
 LINE
+  6
+DOTTED
  62
-5
+1
   8
-cut
+90
  10
-61.65427803486147
+88.65427803486148
  20
-27.0
+27.000000000000004
  30
 0.0
  11
-0.0
+61.65427803486147
  21
-27.0
+27.000000000000004
  31
 0.0
   0
@@ -1381,6 +1381,78 @@ LINE
   8
 cut
  10
+84.15427803486146
+ 20
+109.00000000000001
+ 30
+0.0
+ 11
+84.15427803486146
+ 21
+115.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+84.15427803486146
+ 20
+115.00000000000001
+ 30
+0.0
+ 11
+66.15427803486146
+ 21
+115.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+66.15427803486146
+ 20
+115.00000000000001
+ 30
+0.0
+ 11
+66.15427803486146
+ 21
+109.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+66.15427803486146
+ 20
+109.00000000000001
+ 30
+0.0
+ 11
+84.15427803486146
+ 21
+109.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
 70.40427803486146
  20
 156.25000000000003
diff --git a/rocolib/output/BatteryStackMount/graph-autofold-graph.dxf b/rocolib/output/BatteryStackMount/graph-autofold-graph.dxf
index 69c4d514f30c1d6e07c8e4af6f3576fa7784f86e..4516004874f20a6d4f7159ac3d7107fc19719e90 100644
--- a/rocolib/output/BatteryStackMount/graph-autofold-graph.dxf
+++ b/rocolib/output/BatteryStackMount/graph-autofold-graph.dxf
@@ -945,13 +945,13 @@ LINE
  10
 150.30855606972293
  20
-27.0
+104.00000000000001
  30
 0.0
  11
 88.65427803486148
  21
-27.0
+104.00000000000001
  31
 0.0
   0
@@ -963,13 +963,13 @@ LINE
  10
 150.30855606972293
  20
-87.00000000000001
+164.0
  30
 0.0
  11
 150.30855606972293
  21
-27.0
+104.00000000000001
  31
 0.0
   0
@@ -981,13 +981,13 @@ LINE
  10
 88.65427803486148
  20
-87.00000000000001
+164.0
  30
 0.0
  11
 150.30855606972293
  21
-87.00000000000001
+164.0
  31
 0.0
   0
@@ -1001,33 +1001,31 @@ DOTTED
  10
 88.65427803486148
  20
-87.00000000000001
+164.0
  30
 0.0
  11
 88.65427803486148
  21
-27.0
+104.00000000000001
  31
 0.0
   0
 LINE
-  6
-DOTTED
  62
-1
+5
   8
 0
  10
-88.65427803486148
+61.65427803486147
  20
-87.00000000000001
+164.0
  30
 0.0
  11
-61.65427803486147
+88.65427803486148
  21
-87.00000000000001
+164.0
  31
 0.0
   0
@@ -1041,13 +1039,13 @@ DOTTED
  10
 61.65427803486147
  20
-27.0
+104.00000000000001
  30
 0.0
  11
 61.65427803486147
  21
-87.00000000000001
+164.0
  31
 0.0
   0
@@ -1061,13 +1059,13 @@ DOTTED
  10
 88.65427803486148
  20
-27.0
+104.00000000000001
  30
 0.0
  11
 61.65427803486147
  21
-27.0
+104.00000000000001
  31
 0.0
   0
@@ -1077,35 +1075,33 @@ LINE
   8
 0
  10
-88.65427803486148
+0.0
  20
-104.00000000000001
+164.0
  30
 0.0
  11
-88.65427803486148
+61.65427803486147
  21
-87.00000000000001
+164.0
  31
 0.0
   0
 LINE
-  6
-DOTTED
  62
-1
+5
   8
 0
  10
-88.65427803486148
+0.0
  20
 104.00000000000001
  30
 0.0
  11
-61.65427803486147
+0.0
  21
-104.00000000000001
+164.0
  31
 0.0
   0
@@ -1117,11 +1113,11 @@ LINE
  10
 61.65427803486147
  20
-87.00000000000001
+104.00000000000001
  30
 0.0
  11
-61.65427803486147
+0.0
  21
 104.00000000000001
  31
@@ -1135,13 +1131,13 @@ LINE
  10
 88.65427803486148
  20
-164.0
+104.00000000000001
  30
 0.0
  11
 88.65427803486148
  21
-104.00000000000001
+87.00000000000001
  31
 0.0
   0
@@ -1153,31 +1149,33 @@ LINE
  10
 61.65427803486147
  20
-164.0
+87.00000000000001
  30
 0.0
  11
-88.65427803486148
+61.65427803486147
  21
-164.0
+104.00000000000001
  31
 0.0
   0
 LINE
+  6
+DOTTED
  62
-5
+1
   8
 0
  10
-61.65427803486147
+88.65427803486148
  20
-104.00000000000001
+87.00000000000001
  30
 0.0
  11
 61.65427803486147
  21
-164.0
+87.00000000000001
  31
 0.0
   0
@@ -1187,15 +1185,15 @@ LINE
   8
 0
  10
-0.0
+88.65427803486148
  20
 87.00000000000001
  30
 0.0
  11
-61.65427803486147
+88.65427803486148
  21
-87.00000000000001
+27.000000000000004
  31
 0.0
   0
@@ -1205,33 +1203,35 @@ LINE
   8
 0
  10
-0.0
+61.65427803486147
  20
-27.0
+27.000000000000004
  30
 0.0
  11
-0.0
+61.65427803486147
  21
 87.00000000000001
  31
 0.0
   0
 LINE
+  6
+DOTTED
  62
-5
+1
   8
 0
  10
-61.65427803486147
+88.65427803486148
  20
-27.0
+27.000000000000004
  30
 0.0
  11
-0.0
+61.65427803486147
  21
-27.0
+27.000000000000004
  31
 0.0
   0
@@ -1351,6 +1351,78 @@ LINE
   8
 0
  10
+84.15427803486146
+ 20
+109.00000000000001
+ 30
+0.0
+ 11
+84.15427803486146
+ 21
+115.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+84.15427803486146
+ 20
+115.00000000000001
+ 30
+0.0
+ 11
+66.15427803486146
+ 21
+115.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+66.15427803486146
+ 20
+115.00000000000001
+ 30
+0.0
+ 11
+66.15427803486146
+ 21
+109.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+66.15427803486146
+ 20
+109.00000000000001
+ 30
+0.0
+ 11
+84.15427803486146
+ 21
+109.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
 70.40427803486146
  20
 156.25000000000003
diff --git a/rocolib/output/BatteryStackMount/graph-lasercutter.svg b/rocolib/output/BatteryStackMount/graph-lasercutter.svg
index 692c901170ebabcbfbd26c4ec5abf9332e2999d8..29e877aa50384264f0345c6290b94c9b9ef2844a 100644
--- a/rocolib/output/BatteryStackMount/graph-lasercutter.svg
+++ b/rocolib/output/BatteryStackMount/graph-lasercutter.svg
@@ -1,28 +1,32 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="full" height="164.000000mm" version="1.1" viewBox="0.000000 0.000000 150.308556 164.000000" width="150.308556mm">
   <defs/>
-  <line stroke="#000000" x1="150.30855606972293" x2="88.65427803486148" y1="27.0" y2="27.0"/>
-  <line stroke="#000000" x1="150.30855606972293" x2="150.30855606972293" y1="87.00000000000001" y2="27.0"/>
-  <line stroke="#000000" x1="88.65427803486148" x2="150.30855606972293" y1="87.00000000000001" y2="87.00000000000001"/>
-  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="88.65427803486148" x2="88.65427803486148" y1="87.00000000000001" y2="27.0"/>
-  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="88.65427803486148" x2="61.65427803486147" y1="87.00000000000001" y2="87.00000000000001"/>
-  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="61.65427803486147" x2="61.65427803486147" y1="27.0" y2="87.00000000000001"/>
-  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="88.65427803486148" x2="61.65427803486147" y1="27.0" y2="27.0"/>
-  <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="104.00000000000001" y2="87.00000000000001"/>
+  <line stroke="#000000" x1="150.30855606972293" x2="88.65427803486148" y1="104.00000000000001" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="150.30855606972293" x2="150.30855606972293" y1="164.0" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="88.65427803486148" x2="150.30855606972293" y1="164.0" y2="164.0"/>
+  <line stroke="#ff0000" stroke-dasharray="2 6" stroke-dashoffset="5" x1="88.65427803486148" x2="88.65427803486148" y1="164.0" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="61.65427803486147" x2="88.65427803486148" y1="164.0" y2="164.0"/>
+  <line stroke="#ff0000" stroke-dasharray="2 6" stroke-dashoffset="5" x1="61.65427803486147" x2="61.65427803486147" y1="104.00000000000001" y2="164.0"/>
   <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="88.65427803486148" x2="61.65427803486147" y1="104.00000000000001" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="0.0" x2="61.65427803486147" y1="164.0" y2="164.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="104.00000000000001" y2="164.0"/>
+  <line stroke="#000000" x1="61.65427803486147" x2="0.0" y1="104.00000000000001" y2="104.00000000000001"/>
+  <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="104.00000000000001" y2="87.00000000000001"/>
   <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="87.00000000000001" y2="104.00000000000001"/>
-  <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="164.0" y2="104.00000000000001"/>
-  <line stroke="#000000" x1="61.65427803486147" x2="88.65427803486148" y1="164.0" y2="164.0"/>
-  <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="104.00000000000001" y2="164.0"/>
-  <line stroke="#000000" x1="0.0" x2="61.65427803486147" y1="87.00000000000001" y2="87.00000000000001"/>
-  <line stroke="#000000" x1="0.0" x2="0.0" y1="27.0" y2="87.00000000000001"/>
-  <line stroke="#000000" x1="61.65427803486147" x2="0.0" y1="27.0" y2="27.0"/>
+  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="88.65427803486148" x2="61.65427803486147" y1="87.00000000000001" y2="87.00000000000001"/>
+  <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="87.00000000000001" y2="27.000000000000004"/>
+  <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="27.000000000000004" y2="87.00000000000001"/>
+  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="88.65427803486148" x2="61.65427803486147" y1="27.000000000000004" y2="27.000000000000004"/>
   <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="27.000000000000004" y2="10.000000000000002"/>
   <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="10.000000000000002" y2="27.000000000000004"/>
   <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="61.65427803486147" x2="88.65427803486148" y1="10.000000000000002" y2="10.000000000000002"/>
   <line stroke="#000000" x1="61.65427803486147" x2="61.65427803486147" y1="0.0" y2="10.000000000000002"/>
   <line stroke="#000000" x1="88.65427803486148" x2="61.65427803486147" y1="0.0" y2="0.0"/>
   <line stroke="#000000" x1="88.65427803486148" x2="88.65427803486148" y1="10.000000000000002" y2="0.0"/>
+  <line stroke="#888888" x1="84.15427803486146" x2="84.15427803486146" y1="109.00000000000001" y2="115.00000000000001"/>
+  <line stroke="#888888" x1="84.15427803486146" x2="66.15427803486146" y1="115.00000000000001" y2="115.00000000000001"/>
+  <line stroke="#888888" x1="66.15427803486146" x2="66.15427803486146" y1="115.00000000000001" y2="109.00000000000001"/>
+  <line stroke="#888888" x1="66.15427803486146" x2="84.15427803486146" y1="109.00000000000001" y2="109.00000000000001"/>
   <line stroke="#888888" x1="70.40427803486146" x2="79.90427803486146" y1="156.25000000000003" y2="156.25000000000003"/>
   <line stroke="#888888" x1="79.90427803486146" x2="79.90427803486146" y1="156.25000000000003" y2="156.75"/>
   <line stroke="#888888" x1="79.90427803486146" x2="70.40427803486146" y1="156.75" y2="156.75"/>
diff --git a/rocolib/output/BatteryStackMount/graph-model.png b/rocolib/output/BatteryStackMount/graph-model.png
index b04258df45ba243f722895b9dbc3d32360275d84..564ba0dd32929f3aa03863e063990d27a6b5059d 100644
Binary files a/rocolib/output/BatteryStackMount/graph-model.png and b/rocolib/output/BatteryStackMount/graph-model.png differ
diff --git a/rocolib/output/BatteryStackMount/graph-model.stl b/rocolib/output/BatteryStackMount/graph-model.stl
index 04bcc086aedb4570a9e8660a0ae2b0dbe34815b6..1b2f49cc22684b5a272ffe325f30e0f57c63beef 100644
--- a/rocolib/output/BatteryStackMount/graph-model.stl
+++ b/rocolib/output/BatteryStackMount/graph-model.stl
@@ -15,86 +15,128 @@ endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0499 -0.0300 -0.0191
-vertex -0.0499 0.0300 -0.0191
-vertex -0.0499 0.0300 -0.0807
+vertex -0.0499 -0.0300 0.0191
+vertex -0.0499 0.0300 0.0191
+vertex -0.0499 0.0300 0.0807
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0499 0.0300 -0.0807
-vertex -0.0499 -0.0300 -0.0807
-vertex -0.0499 -0.0300 -0.0191
+vertex -0.0499 0.0300 0.0807
+vertex -0.0499 -0.0300 0.0807
+vertex -0.0499 -0.0300 0.0191
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0379 -0.0300 -0.0311
-vertex -0.0188 -0.0300 -0.0120
+vertex -0.0499 0.0300 0.0191
+vertex -0.0308 0.0300 -0.0000
+vertex -0.0428 0.0300 -0.0120
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0428 0.0300 -0.0120
+vertex -0.0619 0.0300 0.0071
+vertex -0.0499 0.0300 0.0191
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0619 0.0300 0.0071
+vertex -0.0428 0.0300 -0.0120
+vertex -0.0428 -0.0300 -0.0120
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0428 -0.0300 -0.0120
+vertex -0.0619 -0.0300 0.0071
+vertex -0.0619 0.0300 0.0071
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0619 -0.0300 0.0071
+vertex -0.0428 -0.0300 -0.0120
 vertex -0.0308 -0.0300 0.0000
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
 vertex -0.0308 -0.0300 0.0000
-vertex -0.0499 -0.0300 -0.0191
-vertex -0.0379 -0.0300 -0.0311
+vertex -0.0499 -0.0300 0.0191
+vertex -0.0619 -0.0300 0.0071
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0499 -0.0300 -0.0191
 vertex -0.0308 -0.0300 0.0000
-vertex -0.0308 0.0300 0.0000
+vertex -0.0340 -0.0250 0.0032
+vertex -0.0467 -0.0250 0.0159
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0308 0.0300 0.0000
-vertex -0.0499 0.0300 -0.0191
-vertex -0.0499 -0.0300 -0.0191
+vertex -0.0340 -0.0250 0.0032
+vertex -0.0308 -0.0300 0.0000
+vertex -0.0340 -0.0190 0.0032
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0499 -0.0300 0.0191
+vertex -0.0467 -0.0250 0.0159
+vertex -0.0467 -0.0190 0.0159
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0499 0.0300 -0.0191
+vertex -0.0467 -0.0250 0.0159
+vertex -0.0499 -0.0300 0.0191
+vertex -0.0308 -0.0300 0.0000
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0340 -0.0190 0.0032
 vertex -0.0308 0.0300 0.0000
-vertex -0.0188 0.0300 -0.0120
+vertex -0.0499 0.0300 0.0191
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0188 0.0300 -0.0120
-vertex -0.0379 0.0300 -0.0311
-vertex -0.0499 0.0300 -0.0191
+vertex -0.0308 0.0300 0.0000
+vertex -0.0340 -0.0190 0.0032
+vertex -0.0308 -0.0300 0.0000
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0379 0.0300 -0.0311
-vertex -0.0188 0.0300 -0.0120
-vertex -0.0188 -0.0300 -0.0120
+vertex -0.0467 -0.0190 0.0159
+vertex -0.0499 0.0300 0.0191
+vertex -0.0499 -0.0300 0.0191
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0188 -0.0300 -0.0120
-vertex -0.0379 -0.0300 -0.0311
-vertex -0.0379 0.0300 -0.0311
+vertex -0.0499 0.0300 0.0191
+vertex -0.0467 -0.0190 0.0159
+vertex -0.0340 -0.0190 0.0032
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0188 -0.0200 -0.0120
-vertex -0.0188 -0.0300 -0.0120
-vertex -0.0379 -0.0300 -0.0311
+vertex -0.0308 0.0200 -0.0000
+vertex -0.0308 0.0300 -0.0000
+vertex -0.0499 0.0300 0.0191
 endloop
 endfacet
 facet normal 0 0 0
 outer loop
-vertex -0.0379 -0.0300 -0.0311
-vertex -0.0379 -0.0200 -0.0311
-vertex -0.0188 -0.0200 -0.0120
+vertex -0.0499 0.0300 0.0191
+vertex -0.0499 0.0200 0.0191
+vertex -0.0308 0.0200 -0.0000
 endloop
 endfacet
 endsolid python
diff --git a/rocolib/output/BatteryStackMount/graph-silhouette.dxf b/rocolib/output/BatteryStackMount/graph-silhouette.dxf
index 69c4d514f30c1d6e07c8e4af6f3576fa7784f86e..ff766518e117139ecb9083126d4ecb44214c7270 100644
--- a/rocolib/output/BatteryStackMount/graph-silhouette.dxf
+++ b/rocolib/output/BatteryStackMount/graph-silhouette.dxf
@@ -945,13 +945,13 @@ LINE
  10
 150.30855606972293
  20
-27.0
+104.00000000000001
  30
 0.0
  11
 88.65427803486148
  21
-27.0
+104.00000000000001
  31
 0.0
   0
@@ -963,13 +963,13 @@ LINE
  10
 150.30855606972293
  20
-87.00000000000001
+164.0
  30
 0.0
  11
 150.30855606972293
  21
-27.0
+104.00000000000001
  31
 0.0
   0
@@ -981,13 +981,13 @@ LINE
  10
 88.65427803486148
  20
-87.00000000000001
+164.0
  30
 0.0
  11
 150.30855606972293
  21
-87.00000000000001
+164.0
  31
 0.0
   0
@@ -995,39 +995,37 @@ LINE
   6
 DOTTED
  62
-1
+3
   8
 0
  10
 88.65427803486148
  20
-87.00000000000001
+164.0
  30
 0.0
  11
 88.65427803486148
  21
-27.0
+104.00000000000001
  31
 0.0
   0
 LINE
-  6
-DOTTED
  62
-1
+5
   8
 0
  10
-88.65427803486148
+61.65427803486147
  20
-87.00000000000001
+164.0
  30
 0.0
  11
-61.65427803486147
+88.65427803486148
  21
-87.00000000000001
+164.0
  31
 0.0
   0
@@ -1035,19 +1033,19 @@ LINE
   6
 DOTTED
  62
-1
+3
   8
 0
  10
 61.65427803486147
  20
-27.0
+104.00000000000001
  30
 0.0
  11
 61.65427803486147
  21
-87.00000000000001
+164.0
  31
 0.0
   0
@@ -1061,13 +1059,13 @@ DOTTED
  10
 88.65427803486148
  20
-27.0
+104.00000000000001
  30
 0.0
  11
 61.65427803486147
  21
-27.0
+104.00000000000001
  31
 0.0
   0
@@ -1077,35 +1075,33 @@ LINE
   8
 0
  10
-88.65427803486148
+0.0
  20
-104.00000000000001
+164.0
  30
 0.0
  11
-88.65427803486148
+61.65427803486147
  21
-87.00000000000001
+164.0
  31
 0.0
   0
 LINE
-  6
-DOTTED
  62
-1
+5
   8
 0
  10
-88.65427803486148
+0.0
  20
 104.00000000000001
  30
 0.0
  11
-61.65427803486147
+0.0
  21
-104.00000000000001
+164.0
  31
 0.0
   0
@@ -1117,11 +1113,11 @@ LINE
  10
 61.65427803486147
  20
-87.00000000000001
+104.00000000000001
  30
 0.0
  11
-61.65427803486147
+0.0
  21
 104.00000000000001
  31
@@ -1135,13 +1131,13 @@ LINE
  10
 88.65427803486148
  20
-164.0
+104.00000000000001
  30
 0.0
  11
 88.65427803486148
  21
-104.00000000000001
+87.00000000000001
  31
 0.0
   0
@@ -1153,31 +1149,33 @@ LINE
  10
 61.65427803486147
  20
-164.0
+87.00000000000001
  30
 0.0
  11
-88.65427803486148
+61.65427803486147
  21
-164.0
+104.00000000000001
  31
 0.0
   0
 LINE
+  6
+DOTTED
  62
-5
+1
   8
 0
  10
-61.65427803486147
+88.65427803486148
  20
-104.00000000000001
+87.00000000000001
  30
 0.0
  11
 61.65427803486147
  21
-164.0
+87.00000000000001
  31
 0.0
   0
@@ -1187,15 +1185,15 @@ LINE
   8
 0
  10
-0.0
+88.65427803486148
  20
 87.00000000000001
  30
 0.0
  11
-61.65427803486147
+88.65427803486148
  21
-87.00000000000001
+27.000000000000004
  31
 0.0
   0
@@ -1205,33 +1203,35 @@ LINE
   8
 0
  10
-0.0
+61.65427803486147
  20
-27.0
+27.000000000000004
  30
 0.0
  11
-0.0
+61.65427803486147
  21
 87.00000000000001
  31
 0.0
   0
 LINE
+  6
+DOTTED
  62
-5
+1
   8
 0
  10
-61.65427803486147
+88.65427803486148
  20
-27.0
+27.000000000000004
  30
 0.0
  11
-0.0
+61.65427803486147
  21
-27.0
+27.000000000000004
  31
 0.0
   0
@@ -1351,6 +1351,78 @@ LINE
   8
 0
  10
+84.15427803486146
+ 20
+109.00000000000001
+ 30
+0.0
+ 11
+84.15427803486146
+ 21
+115.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+84.15427803486146
+ 20
+115.00000000000001
+ 30
+0.0
+ 11
+66.15427803486146
+ 21
+115.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+66.15427803486146
+ 20
+115.00000000000001
+ 30
+0.0
+ 11
+66.15427803486146
+ 21
+109.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+66.15427803486146
+ 20
+109.00000000000001
+ 30
+0.0
+ 11
+84.15427803486146
+ 21
+109.00000000000001
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
 70.40427803486146
  20
 156.25000000000003
diff --git a/rocolib/output/BatteryStackMount/tree.png b/rocolib/output/BatteryStackMount/tree.png
index 5bd7f15ee0f59ded404e1017601d2c4706d16dc5..7d43e2bb388d1281155ba767a4b1cfc2862eaa3b 100644
Binary files a/rocolib/output/BatteryStackMount/tree.png and b/rocolib/output/BatteryStackMount/tree.png differ
diff --git a/rocolib/output/ServoMotor/graph-anim.svg b/rocolib/output/ServoMotor/graph-anim.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5730a6d83177aa905714095a504c9a3f8e0273ac
--- /dev/null
+++ b/rocolib/output/ServoMotor/graph-anim.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="full" height="0.000000mm" version="1.1" viewBox="0.000000 0.000000 0.000000 0.000000" width="0.000000mm">
+  <defs/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="0.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="0.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="0.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="0.0"/>
+</svg>
diff --git a/rocolib/output/ServoMotor/graph-autofold-default.dxf b/rocolib/output/ServoMotor/graph-autofold-default.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..a0085cb1230b662e343278508f946899f048087c
--- /dev/null
+++ b/rocolib/output/ServoMotor/graph-autofold-default.dxf
@@ -0,0 +1,1024 @@
+  0
+SECTION
+  2
+HEADER
+  9
+$ACADVER
+  1
+AC1009
+  9
+$INSBASE
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+  9
+$EXTMIN
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+  9
+$EXTMAX
+ 10
+100.0
+ 20
+100.0
+ 30
+0.0
+  9
+$UNITMODE
+ 70
+0
+  9
+$AUNITS
+ 70
+0
+  9
+$ANGBASE
+ 50
+0.0
+  9
+$ANGDIR
+ 70
+0
+  0
+ENDSEC
+  0
+SECTION
+  2
+TABLES
+  0
+TABLE
+  2
+LTYPE
+ 70
+20
+  0
+LTYPE
+  2
+CONTINUOUS
+ 70
+0
+  3
+Solid
+ 72
+65
+ 73
+0
+ 40
+0.0
+  0
+LTYPE
+  2
+CENTER
+ 70
+0
+  3
+Center ____ _ ____ _ ____ _ ____ _ ____ _ ____
+ 72
+65
+ 73
+4
+ 40
+2.0
+ 49
+1.25
+ 49
+-0.25
+ 49
+0.25
+ 49
+-0.25
+  0
+LTYPE
+  2
+CENTERX2
+ 70
+0
+  3
+Center (2x) ________  __  ________  __  ________
+ 72
+65
+ 73
+4
+ 40
+3.5
+ 49
+2.5
+ 49
+-0.25
+ 49
+0.5
+ 49
+-0.25
+  0
+LTYPE
+  2
+CENTER2
+ 70
+0
+  3
+Center (.5x) ____ _ ____ _ ____ _ ____ _ ____
+ 72
+65
+ 73
+4
+ 40
+1.0
+ 49
+0.625
+ 49
+-0.125
+ 49
+0.125
+ 49
+-0.125
+  0
+LTYPE
+  2
+DASHED
+ 70
+0
+  3
+Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _
+ 72
+65
+ 73
+2
+ 40
+0.6
+ 49
+0.5
+ 49
+-0.1
+  0
+LTYPE
+  2
+DASHEDX2
+ 70
+0
+  3
+Dashed (2x) ____  ____  ____  ____  ____  ____
+ 72
+65
+ 73
+2
+ 40
+1.2
+ 49
+1.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DASHED2
+ 70
+0
+  3
+Dashed (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _
+ 72
+65
+ 73
+2
+ 40
+0.3
+ 49
+0.25
+ 49
+-0.05
+  0
+LTYPE
+  2
+PHANTOM
+ 70
+0
+  3
+Phantom ______  __  __  ______  __  __  ______
+ 72
+65
+ 73
+6
+ 40
+2.5
+ 49
+1.25
+ 49
+-0.25
+ 49
+0.25
+ 49
+-0.25
+ 49
+0.25
+ 49
+-0.25
+  0
+LTYPE
+  2
+PHANTOMX2
+ 70
+0
+  3
+Phantom (2x)____________    ____    ____    ____________
+ 72
+65
+ 73
+6
+ 40
+4.25
+ 49
+2.5
+ 49
+-0.25
+ 49
+0.5
+ 49
+-0.25
+ 49
+0.5
+ 49
+-0.25
+  0
+LTYPE
+  2
+PHANTOM2
+ 70
+0
+  3
+Phantom (.5x) ___ _ _ ___ _ _ ___ _ _ ___ _ _ ___
+ 72
+65
+ 73
+6
+ 40
+1.25
+ 49
+0.625
+ 49
+-0.125
+ 49
+0.125
+ 49
+-0.125
+ 49
+0.125
+ 49
+-0.125
+  0
+LTYPE
+  2
+DASHDOT
+ 70
+0
+  3
+Dash dot __ . __ . __ . __ . __ . __ . __ . __
+ 72
+65
+ 73
+4
+ 40
+1.4
+ 49
+1.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DASHDOTX2
+ 70
+0
+  3
+Dash dot (2x) ____  .  ____  .  ____  .  ____
+ 72
+65
+ 73
+4
+ 40
+2.4
+ 49
+2.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DASHDOT2
+ 70
+0
+  3
+Dash dot (.5x) _ . _ . _ . _ . _ . _ . _ . _
+ 72
+65
+ 73
+4
+ 40
+0.7
+ 49
+0.5
+ 49
+-0.1
+ 49
+0.0
+ 49
+-0.1
+  0
+LTYPE
+  2
+DOT
+ 70
+0
+  3
+Dot .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
+ 72
+65
+ 73
+2
+ 40
+0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DOTX2
+ 70
+0
+  3
+Dot (2x) .    .    .    .    .    .    .    . 
+ 72
+65
+ 73
+2
+ 40
+0.4
+ 49
+0.0
+ 49
+-0.4
+  0
+LTYPE
+  2
+DOT2
+ 70
+0
+  3
+Dot (.5) . . . . . . . . . . . . . . . . . . . 
+ 72
+65
+ 73
+2
+ 40
+0.1
+ 49
+0.0
+ 49
+-0.1
+  0
+LTYPE
+  2
+DIVIDE
+ 70
+0
+  3
+Divide __ . . __ . . __ . . __ . . __ . . __
+ 72
+65
+ 73
+6
+ 40
+1.6
+ 49
+1.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DIVIDEX2
+ 70
+0
+  3
+Divide (2x) ____  . .  ____  . .  ____  . .  ____
+ 72
+65
+ 73
+6
+ 40
+2.6
+ 49
+2.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DIVIDE2
+ 70
+0
+  3
+Divide(.5x) _ . _ . _ . _ . _ . _ . _ . _
+ 72
+65
+ 73
+6
+ 40
+0.8
+ 49
+0.5
+ 49
+-0.1
+ 49
+0.0
+ 49
+-0.1
+ 49
+0.0
+ 49
+-0.1
+  0
+LTYPE
+  2
+DOTTED
+ 70
+0
+  3
+
+ 72
+65
+ 73
+2
+ 40
+1.0
+ 49
+0.0
+ 49
+-1.0
+  0
+ENDTAB
+  0
+TABLE
+  2
+LAYER
+ 70
+6
+  0
+LAYER
+  2
+DIMENSIONS
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+TABLEBACKGROUND
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+TABLECONTENT
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+TABLEGRID
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+VIEWPORTS
+ 70
+0
+ 62
+7
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+0
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+ENDTAB
+  0
+TABLE
+  2
+STYLE
+ 70
+12
+  0
+STYLE
+  2
+STANDARD
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arial.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arial.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_BOLD
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arialbd.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+ariali.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_BOLD_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arialbi.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_BLACK
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+ariblk.ttf
+  4
+
+  0
+STYLE
+  2
+ISOCPEUR
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+isocpeur.ttf
+  4
+
+  0
+STYLE
+  2
+ISOCPEUR_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+isocpeui.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+times.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES_BOLD
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+timesbd.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+timesi.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES_BOLD_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+timesbi.ttf
+  4
+
+  0
+ENDTAB
+  0
+TABLE
+  2
+VIEW
+ 70
+0
+  0
+ENDTAB
+  0
+TABLE
+  2
+APPID
+ 70
+1
+  0
+APPID
+  2
+DXFWRITE
+ 70
+0
+  0
+ENDTAB
+  0
+TABLE
+  2
+VPORT
+ 70
+0
+  0
+ENDTAB
+  0
+TABLE
+  2
+UCS
+ 70
+0
+  0
+ENDTAB
+  0
+ENDSEC
+  0
+SECTION
+  2
+BLOCKS
+  0
+ENDSEC
+  0
+SECTION
+  2
+ENTITIES
+  0
+VIEWPORT
+  8
+VIEWPORTS
+ 67
+1
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 40
+1.0
+ 41
+1.0
+ 68
+1
+ 69
+1
+1001
+ACAD
+1000
+MVIEW
+1002
+{
+1070
+16
+1010
+0.0
+1020
+0.0
+1030
+0.0
+1010
+0.0
+1020
+0.0
+1030
+0.0
+1040
+0.0
+1040
+1.0
+1040
+0.0
+1040
+0.0
+1040
+50.0
+1040
+0.0
+1040
+0.0
+1070
+0
+1070
+100
+1070
+1
+1070
+3
+1070
+0
+1070
+0
+1070
+0
+1070
+0
+1040
+0.0
+1040
+0.0
+1040
+0.0
+1040
+0.1
+1040
+0.1
+1040
+0.1
+1040
+0.1
+1070
+0
+1002
+{
+1002
+}
+1002
+}
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+ENDSEC
+  0
+EOF
diff --git a/rocolib/output/ServoMotor/graph-autofold-graph.dxf b/rocolib/output/ServoMotor/graph-autofold-graph.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..09a96ac0fc3584ecd6191f5e8c6e8652e92a4d91
--- /dev/null
+++ b/rocolib/output/ServoMotor/graph-autofold-graph.dxf
@@ -0,0 +1,1014 @@
+  0
+SECTION
+  2
+HEADER
+  9
+$ACADVER
+  1
+AC1009
+  9
+$INSBASE
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+  9
+$EXTMIN
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+  9
+$EXTMAX
+ 10
+100.0
+ 20
+100.0
+ 30
+0.0
+  9
+$UNITMODE
+ 70
+0
+  9
+$AUNITS
+ 70
+0
+  9
+$ANGBASE
+ 50
+0.0
+  9
+$ANGDIR
+ 70
+0
+  0
+ENDSEC
+  0
+SECTION
+  2
+TABLES
+  0
+TABLE
+  2
+LTYPE
+ 70
+20
+  0
+LTYPE
+  2
+CONTINUOUS
+ 70
+0
+  3
+Solid
+ 72
+65
+ 73
+0
+ 40
+0.0
+  0
+LTYPE
+  2
+CENTER
+ 70
+0
+  3
+Center ____ _ ____ _ ____ _ ____ _ ____ _ ____
+ 72
+65
+ 73
+4
+ 40
+2.0
+ 49
+1.25
+ 49
+-0.25
+ 49
+0.25
+ 49
+-0.25
+  0
+LTYPE
+  2
+CENTERX2
+ 70
+0
+  3
+Center (2x) ________  __  ________  __  ________
+ 72
+65
+ 73
+4
+ 40
+3.5
+ 49
+2.5
+ 49
+-0.25
+ 49
+0.5
+ 49
+-0.25
+  0
+LTYPE
+  2
+CENTER2
+ 70
+0
+  3
+Center (.5x) ____ _ ____ _ ____ _ ____ _ ____
+ 72
+65
+ 73
+4
+ 40
+1.0
+ 49
+0.625
+ 49
+-0.125
+ 49
+0.125
+ 49
+-0.125
+  0
+LTYPE
+  2
+DASHED
+ 70
+0
+  3
+Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _
+ 72
+65
+ 73
+2
+ 40
+0.6
+ 49
+0.5
+ 49
+-0.1
+  0
+LTYPE
+  2
+DASHEDX2
+ 70
+0
+  3
+Dashed (2x) ____  ____  ____  ____  ____  ____
+ 72
+65
+ 73
+2
+ 40
+1.2
+ 49
+1.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DASHED2
+ 70
+0
+  3
+Dashed (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _
+ 72
+65
+ 73
+2
+ 40
+0.3
+ 49
+0.25
+ 49
+-0.05
+  0
+LTYPE
+  2
+PHANTOM
+ 70
+0
+  3
+Phantom ______  __  __  ______  __  __  ______
+ 72
+65
+ 73
+6
+ 40
+2.5
+ 49
+1.25
+ 49
+-0.25
+ 49
+0.25
+ 49
+-0.25
+ 49
+0.25
+ 49
+-0.25
+  0
+LTYPE
+  2
+PHANTOMX2
+ 70
+0
+  3
+Phantom (2x)____________    ____    ____    ____________
+ 72
+65
+ 73
+6
+ 40
+4.25
+ 49
+2.5
+ 49
+-0.25
+ 49
+0.5
+ 49
+-0.25
+ 49
+0.5
+ 49
+-0.25
+  0
+LTYPE
+  2
+PHANTOM2
+ 70
+0
+  3
+Phantom (.5x) ___ _ _ ___ _ _ ___ _ _ ___ _ _ ___
+ 72
+65
+ 73
+6
+ 40
+1.25
+ 49
+0.625
+ 49
+-0.125
+ 49
+0.125
+ 49
+-0.125
+ 49
+0.125
+ 49
+-0.125
+  0
+LTYPE
+  2
+DASHDOT
+ 70
+0
+  3
+Dash dot __ . __ . __ . __ . __ . __ . __ . __
+ 72
+65
+ 73
+4
+ 40
+1.4
+ 49
+1.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DASHDOTX2
+ 70
+0
+  3
+Dash dot (2x) ____  .  ____  .  ____  .  ____
+ 72
+65
+ 73
+4
+ 40
+2.4
+ 49
+2.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DASHDOT2
+ 70
+0
+  3
+Dash dot (.5x) _ . _ . _ . _ . _ . _ . _ . _
+ 72
+65
+ 73
+4
+ 40
+0.7
+ 49
+0.5
+ 49
+-0.1
+ 49
+0.0
+ 49
+-0.1
+  0
+LTYPE
+  2
+DOT
+ 70
+0
+  3
+Dot .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
+ 72
+65
+ 73
+2
+ 40
+0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DOTX2
+ 70
+0
+  3
+Dot (2x) .    .    .    .    .    .    .    . 
+ 72
+65
+ 73
+2
+ 40
+0.4
+ 49
+0.0
+ 49
+-0.4
+  0
+LTYPE
+  2
+DOT2
+ 70
+0
+  3
+Dot (.5) . . . . . . . . . . . . . . . . . . . 
+ 72
+65
+ 73
+2
+ 40
+0.1
+ 49
+0.0
+ 49
+-0.1
+  0
+LTYPE
+  2
+DIVIDE
+ 70
+0
+  3
+Divide __ . . __ . . __ . . __ . . __ . . __
+ 72
+65
+ 73
+6
+ 40
+1.6
+ 49
+1.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DIVIDEX2
+ 70
+0
+  3
+Divide (2x) ____  . .  ____  . .  ____  . .  ____
+ 72
+65
+ 73
+6
+ 40
+2.6
+ 49
+2.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DIVIDE2
+ 70
+0
+  3
+Divide(.5x) _ . _ . _ . _ . _ . _ . _ . _
+ 72
+65
+ 73
+6
+ 40
+0.8
+ 49
+0.5
+ 49
+-0.1
+ 49
+0.0
+ 49
+-0.1
+ 49
+0.0
+ 49
+-0.1
+  0
+LTYPE
+  2
+DOTTED
+ 70
+0
+  3
+
+ 72
+65
+ 73
+2
+ 40
+1.0
+ 49
+0.0
+ 49
+-1.0
+  0
+ENDTAB
+  0
+TABLE
+  2
+LAYER
+ 70
+5
+  0
+LAYER
+  2
+DIMENSIONS
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+TABLEBACKGROUND
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+TABLECONTENT
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+TABLEGRID
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+VIEWPORTS
+ 70
+0
+ 62
+7
+  6
+CONTINUOUS
+  0
+ENDTAB
+  0
+TABLE
+  2
+STYLE
+ 70
+12
+  0
+STYLE
+  2
+STANDARD
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arial.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arial.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_BOLD
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arialbd.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+ariali.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_BOLD_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arialbi.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_BLACK
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+ariblk.ttf
+  4
+
+  0
+STYLE
+  2
+ISOCPEUR
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+isocpeur.ttf
+  4
+
+  0
+STYLE
+  2
+ISOCPEUR_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+isocpeui.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+times.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES_BOLD
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+timesbd.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+timesi.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES_BOLD_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+timesbi.ttf
+  4
+
+  0
+ENDTAB
+  0
+TABLE
+  2
+VIEW
+ 70
+0
+  0
+ENDTAB
+  0
+TABLE
+  2
+APPID
+ 70
+1
+  0
+APPID
+  2
+DXFWRITE
+ 70
+0
+  0
+ENDTAB
+  0
+TABLE
+  2
+VPORT
+ 70
+0
+  0
+ENDTAB
+  0
+TABLE
+  2
+UCS
+ 70
+0
+  0
+ENDTAB
+  0
+ENDSEC
+  0
+SECTION
+  2
+BLOCKS
+  0
+ENDSEC
+  0
+SECTION
+  2
+ENTITIES
+  0
+VIEWPORT
+  8
+VIEWPORTS
+ 67
+1
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 40
+1.0
+ 41
+1.0
+ 68
+1
+ 69
+1
+1001
+ACAD
+1000
+MVIEW
+1002
+{
+1070
+16
+1010
+0.0
+1020
+0.0
+1030
+0.0
+1010
+0.0
+1020
+0.0
+1030
+0.0
+1040
+0.0
+1040
+1.0
+1040
+0.0
+1040
+0.0
+1040
+50.0
+1040
+0.0
+1040
+0.0
+1070
+0
+1070
+100
+1070
+1
+1070
+3
+1070
+0
+1070
+0
+1070
+0
+1070
+0
+1040
+0.0
+1040
+0.0
+1040
+0.0
+1040
+0.1
+1040
+0.1
+1040
+0.1
+1040
+0.1
+1070
+0
+1002
+{
+1002
+}
+1002
+}
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+ENDSEC
+  0
+EOF
diff --git a/rocolib/output/ServoMotor/graph-lasercutter.svg b/rocolib/output/ServoMotor/graph-lasercutter.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5730a6d83177aa905714095a504c9a3f8e0273ac
--- /dev/null
+++ b/rocolib/output/ServoMotor/graph-lasercutter.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="full" height="0.000000mm" version="1.1" viewBox="0.000000 0.000000 0.000000 0.000000" width="0.000000mm">
+  <defs/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="0.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="0.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="0.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="0.0"/>
+</svg>
diff --git a/rocolib/output/ServoMotor/graph-model.png b/rocolib/output/ServoMotor/graph-model.png
new file mode 100644
index 0000000000000000000000000000000000000000..2848f5a6806e7055861c9a3708cef77f9dbfc6f1
Binary files /dev/null and b/rocolib/output/ServoMotor/graph-model.png differ
diff --git a/rocolib/output/ServoMotor/graph-model.stl b/rocolib/output/ServoMotor/graph-model.stl
new file mode 100644
index 0000000000000000000000000000000000000000..2cb7e0072988cf09eaec413a62c6d76d303120f3
--- /dev/null
+++ b/rocolib/output/ServoMotor/graph-model.stl
@@ -0,0 +1,2 @@
+solid python
+endsolid python
diff --git a/rocolib/output/ServoMotor/graph-silhouette.dxf b/rocolib/output/ServoMotor/graph-silhouette.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..09a96ac0fc3584ecd6191f5e8c6e8652e92a4d91
--- /dev/null
+++ b/rocolib/output/ServoMotor/graph-silhouette.dxf
@@ -0,0 +1,1014 @@
+  0
+SECTION
+  2
+HEADER
+  9
+$ACADVER
+  1
+AC1009
+  9
+$INSBASE
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+  9
+$EXTMIN
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+  9
+$EXTMAX
+ 10
+100.0
+ 20
+100.0
+ 30
+0.0
+  9
+$UNITMODE
+ 70
+0
+  9
+$AUNITS
+ 70
+0
+  9
+$ANGBASE
+ 50
+0.0
+  9
+$ANGDIR
+ 70
+0
+  0
+ENDSEC
+  0
+SECTION
+  2
+TABLES
+  0
+TABLE
+  2
+LTYPE
+ 70
+20
+  0
+LTYPE
+  2
+CONTINUOUS
+ 70
+0
+  3
+Solid
+ 72
+65
+ 73
+0
+ 40
+0.0
+  0
+LTYPE
+  2
+CENTER
+ 70
+0
+  3
+Center ____ _ ____ _ ____ _ ____ _ ____ _ ____
+ 72
+65
+ 73
+4
+ 40
+2.0
+ 49
+1.25
+ 49
+-0.25
+ 49
+0.25
+ 49
+-0.25
+  0
+LTYPE
+  2
+CENTERX2
+ 70
+0
+  3
+Center (2x) ________  __  ________  __  ________
+ 72
+65
+ 73
+4
+ 40
+3.5
+ 49
+2.5
+ 49
+-0.25
+ 49
+0.5
+ 49
+-0.25
+  0
+LTYPE
+  2
+CENTER2
+ 70
+0
+  3
+Center (.5x) ____ _ ____ _ ____ _ ____ _ ____
+ 72
+65
+ 73
+4
+ 40
+1.0
+ 49
+0.625
+ 49
+-0.125
+ 49
+0.125
+ 49
+-0.125
+  0
+LTYPE
+  2
+DASHED
+ 70
+0
+  3
+Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _
+ 72
+65
+ 73
+2
+ 40
+0.6
+ 49
+0.5
+ 49
+-0.1
+  0
+LTYPE
+  2
+DASHEDX2
+ 70
+0
+  3
+Dashed (2x) ____  ____  ____  ____  ____  ____
+ 72
+65
+ 73
+2
+ 40
+1.2
+ 49
+1.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DASHED2
+ 70
+0
+  3
+Dashed (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _
+ 72
+65
+ 73
+2
+ 40
+0.3
+ 49
+0.25
+ 49
+-0.05
+  0
+LTYPE
+  2
+PHANTOM
+ 70
+0
+  3
+Phantom ______  __  __  ______  __  __  ______
+ 72
+65
+ 73
+6
+ 40
+2.5
+ 49
+1.25
+ 49
+-0.25
+ 49
+0.25
+ 49
+-0.25
+ 49
+0.25
+ 49
+-0.25
+  0
+LTYPE
+  2
+PHANTOMX2
+ 70
+0
+  3
+Phantom (2x)____________    ____    ____    ____________
+ 72
+65
+ 73
+6
+ 40
+4.25
+ 49
+2.5
+ 49
+-0.25
+ 49
+0.5
+ 49
+-0.25
+ 49
+0.5
+ 49
+-0.25
+  0
+LTYPE
+  2
+PHANTOM2
+ 70
+0
+  3
+Phantom (.5x) ___ _ _ ___ _ _ ___ _ _ ___ _ _ ___
+ 72
+65
+ 73
+6
+ 40
+1.25
+ 49
+0.625
+ 49
+-0.125
+ 49
+0.125
+ 49
+-0.125
+ 49
+0.125
+ 49
+-0.125
+  0
+LTYPE
+  2
+DASHDOT
+ 70
+0
+  3
+Dash dot __ . __ . __ . __ . __ . __ . __ . __
+ 72
+65
+ 73
+4
+ 40
+1.4
+ 49
+1.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DASHDOTX2
+ 70
+0
+  3
+Dash dot (2x) ____  .  ____  .  ____  .  ____
+ 72
+65
+ 73
+4
+ 40
+2.4
+ 49
+2.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DASHDOT2
+ 70
+0
+  3
+Dash dot (.5x) _ . _ . _ . _ . _ . _ . _ . _
+ 72
+65
+ 73
+4
+ 40
+0.7
+ 49
+0.5
+ 49
+-0.1
+ 49
+0.0
+ 49
+-0.1
+  0
+LTYPE
+  2
+DOT
+ 70
+0
+  3
+Dot .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
+ 72
+65
+ 73
+2
+ 40
+0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DOTX2
+ 70
+0
+  3
+Dot (2x) .    .    .    .    .    .    .    . 
+ 72
+65
+ 73
+2
+ 40
+0.4
+ 49
+0.0
+ 49
+-0.4
+  0
+LTYPE
+  2
+DOT2
+ 70
+0
+  3
+Dot (.5) . . . . . . . . . . . . . . . . . . . 
+ 72
+65
+ 73
+2
+ 40
+0.1
+ 49
+0.0
+ 49
+-0.1
+  0
+LTYPE
+  2
+DIVIDE
+ 70
+0
+  3
+Divide __ . . __ . . __ . . __ . . __ . . __
+ 72
+65
+ 73
+6
+ 40
+1.6
+ 49
+1.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DIVIDEX2
+ 70
+0
+  3
+Divide (2x) ____  . .  ____  . .  ____  . .  ____
+ 72
+65
+ 73
+6
+ 40
+2.6
+ 49
+2.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+ 49
+0.0
+ 49
+-0.2
+  0
+LTYPE
+  2
+DIVIDE2
+ 70
+0
+  3
+Divide(.5x) _ . _ . _ . _ . _ . _ . _ . _
+ 72
+65
+ 73
+6
+ 40
+0.8
+ 49
+0.5
+ 49
+-0.1
+ 49
+0.0
+ 49
+-0.1
+ 49
+0.0
+ 49
+-0.1
+  0
+LTYPE
+  2
+DOTTED
+ 70
+0
+  3
+
+ 72
+65
+ 73
+2
+ 40
+1.0
+ 49
+0.0
+ 49
+-1.0
+  0
+ENDTAB
+  0
+TABLE
+  2
+LAYER
+ 70
+5
+  0
+LAYER
+  2
+DIMENSIONS
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+TABLEBACKGROUND
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+TABLECONTENT
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+TABLEGRID
+ 70
+0
+ 62
+1
+  6
+CONTINUOUS
+  0
+LAYER
+  2
+VIEWPORTS
+ 70
+0
+ 62
+7
+  6
+CONTINUOUS
+  0
+ENDTAB
+  0
+TABLE
+  2
+STYLE
+ 70
+12
+  0
+STYLE
+  2
+STANDARD
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arial.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arial.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_BOLD
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arialbd.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+ariali.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_BOLD_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+arialbi.ttf
+  4
+
+  0
+STYLE
+  2
+ARIAL_BLACK
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+ariblk.ttf
+  4
+
+  0
+STYLE
+  2
+ISOCPEUR
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+isocpeur.ttf
+  4
+
+  0
+STYLE
+  2
+ISOCPEUR_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+isocpeui.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+times.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES_BOLD
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+timesbd.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+timesi.ttf
+  4
+
+  0
+STYLE
+  2
+TIMES_BOLD_ITALIC
+ 70
+0
+ 40
+0.0
+ 41
+1.0
+ 42
+1.0
+ 50
+0.0
+ 71
+0
+  3
+timesbi.ttf
+  4
+
+  0
+ENDTAB
+  0
+TABLE
+  2
+VIEW
+ 70
+0
+  0
+ENDTAB
+  0
+TABLE
+  2
+APPID
+ 70
+1
+  0
+APPID
+  2
+DXFWRITE
+ 70
+0
+  0
+ENDTAB
+  0
+TABLE
+  2
+VPORT
+ 70
+0
+  0
+ENDTAB
+  0
+TABLE
+  2
+UCS
+ 70
+0
+  0
+ENDTAB
+  0
+ENDSEC
+  0
+SECTION
+  2
+BLOCKS
+  0
+ENDSEC
+  0
+SECTION
+  2
+ENTITIES
+  0
+VIEWPORT
+  8
+VIEWPORTS
+ 67
+1
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 40
+1.0
+ 41
+1.0
+ 68
+1
+ 69
+1
+1001
+ACAD
+1000
+MVIEW
+1002
+{
+1070
+16
+1010
+0.0
+1020
+0.0
+1030
+0.0
+1010
+0.0
+1020
+0.0
+1030
+0.0
+1040
+0.0
+1040
+1.0
+1040
+0.0
+1040
+0.0
+1040
+50.0
+1040
+0.0
+1040
+0.0
+1070
+0
+1070
+100
+1070
+1
+1070
+3
+1070
+0
+1070
+0
+1070
+0
+1070
+0
+1040
+0.0
+1040
+0.0
+1040
+0.0
+1040
+0.1
+1040
+0.1
+1040
+0.1
+1040
+0.1
+1070
+0
+1002
+{
+1002
+}
+1002
+}
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+ENDSEC
+  0
+EOF
diff --git a/rocolib/output/ServoMotor/tree.png b/rocolib/output/ServoMotor/tree.png
new file mode 100644
index 0000000000000000000000000000000000000000..bcaf83aaf3dd108d317bd69727e2a778cfb11d12
Binary files /dev/null and b/rocolib/output/ServoMotor/tree.png differ