diff --git a/rocolib/builders/SideServoMountBuilder.py b/rocolib/builders/SideServoMountBuilder.py
new file mode 100644
index 0000000000000000000000000000000000000000..2beb909655d5f96a2432724d5f1d148a21f8ff33
--- /dev/null
+++ b/rocolib/builders/SideServoMountBuilder.py
@@ -0,0 +1,35 @@
+from rocolib.api.components.Component import Component
+from rocolib.api.Function import Function
+
+c = Component()
+
+# c.addParameter("servo", "fs90r", paramType="dimension")
+# c.addParameter("flip", False, valueType="bool")
+# c.addParameter("center", True, valueType="bool")
+# c.addParameter("shift", 0, paramType="length")
+# XXX TODO: Define type: tuple of two numbers
+# c.addParameter("offset", optional=True, overrides=("flip", "center", "shift"))
+c.addParameter("length", 34, paramType="length")
+c.addParameter("width", 40, paramType="length")
+c.addParameter("depth", 20, paramType="length")
+
+c.addSubcomponent("beam", "SimpleRectBeam")
+c.addSubcomponent("mount", "Cutout")
+#
+# c.addConstraint(("mount", "dx"), "servo", 'getDim(x, "motorlength") * 0.99')
+# c.addConstraint(("mount", "dy"), "servo", 'getDim(x, "motorwidth")')
+#
+
+c.addConstraint(("beam", "length"), "length")
+c.addConstraint(("beam", "width"), "width")
+c.addConstraint(("beam", "depth"), "depth")
+
+# c.inheritAllInterfaces("beam", prefix=None)
+# c.inheritAllInterfaces("mount")
+# # c.addConnection(("beam", "face0"),
+# #                 ("mount", "decoration"),
+# #                 mode="hole", offset=Function(params="offset"))
+#
+# c.inheritAllInterfaces("beam")
+
+c.toLibrary("SideServoMount")
diff --git a/rocolib/library/ServoMount.yaml b/rocolib/library/ServoMount.yaml
index 5f83036876659a169095ab6d50412e42a4ea9fbf..20949bf553c9f0a4c3221600098893ef7335a804 100644
--- a/rocolib/library/ServoMount.yaml
+++ b/rocolib/library/ServoMount.yaml
@@ -108,12 +108,6 @@ parameters:
     defaultValue: false
     spec:
       valueType: bool
-  length:
-    defaultValue: 100
-    spec:
-      minValue: 0
-      units: mm
-      valueType: (float, int)
   offset:
     defaultValue: null
     spec:
@@ -132,7 +126,13 @@ parameters:
       minValue: 0
       units: mm
       valueType: (float, int)
-source: ..\builders\ServoMountBuilder.py
+  width:
+    defaultValue: 20
+    spec:
+      minValue: 0
+      units: mm
+      valueType: (float, int)
+source: ../builders/SideServoMountBuilder.py
 subcomponents:
   beam:
     classname: SimpleRectBeam
@@ -143,8 +143,6 @@ subcomponents:
       depth:
         function: getDim(x, "motorheight")
         parameter: servo
-      length:
-        parameter: length
       width:
         function: getDim(x, "motorwidth")
         parameter: servo
@@ -153,8 +151,8 @@ subcomponents:
     kwargs: {}
     parameters:
       dx:
-        function: getDim(x, "motorwidth") * 0.99
+        function: getDim(x, "motorlength") * 0.99
         parameter: servo
       dy:
-        function: getDim(x, "motorlength")
+        function: getDim(x, "motorwidth")
         parameter: servo
diff --git a/rocolib/library/SideServoMount.yaml b/rocolib/library/SideServoMount.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cf67fe6e6af17cd2b8236481d75b7f3aab40f840
--- /dev/null
+++ b/rocolib/library/SideServoMount.yaml
@@ -0,0 +1,37 @@
+connections: {}
+interfaces: {}
+parameters:
+  depth:
+    defaultValue: 20
+    spec:
+      minValue: 0
+      units: mm
+      valueType: (float, int)
+  length:
+    defaultValue: 34
+    spec:
+      minValue: 0
+      units: mm
+      valueType: (float, int)
+  width:
+    defaultValue: 40
+    spec:
+      minValue: 0
+      units: mm
+      valueType: (float, int)
+source: ../builders/SideServoMountBuilder.py
+subcomponents:
+  beam:
+    classname: SimpleRectBeam
+    kwargs: {}
+    parameters:
+      depth:
+        parameter: depth
+      length:
+        parameter: length
+      width:
+        parameter: width
+  mount:
+    classname: Cutout
+    kwargs: {}
+    parameters: {}
diff --git a/rocolib/output/SideServoMount/graph-anim.svg b/rocolib/output/SideServoMount/graph-anim.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9d56b8e94d6fc911721d9276d0037ac2c349f304
--- /dev/null
+++ b/rocolib/output/SideServoMount/graph-anim.svg
@@ -0,0 +1,27 @@
+<?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="34.000000mm" version="1.1" viewBox="0.000000 0.000000 130.000000 34.000000" width="130.000000mm">
+  <defs/>
+  <line stroke="#000000" x1="50.0" x2="10.000000000000002" y1="0.0" y2="0.0"/>
+  <line opacity="0.5" stroke="#0000ff" x1="50.0" x2="50.0" y1="0.0" y2="34.0"/>
+  <line stroke="#000000" x1="10.000000000000002" x2="50.0" y1="34.0" y2="34.0"/>
+  <line opacity="0.5" stroke="#0000ff" x1="10.000000000000002" x2="10.000000000000002" y1="34.0" y2="0.0"/>
+  <line stroke="#000000" x1="70.00000000000001" x2="50.0" y1="0.0" y2="0.0"/>
+  <line opacity="0.5" stroke="#0000ff" x1="70.00000000000001" x2="70.00000000000001" y1="0.0" y2="34.0"/>
+  <line stroke="#000000" x1="50.0" x2="70.00000000000001" y1="34.0" y2="34.0"/>
+  <line stroke="#000000" x1="110.00000000000001" x2="70.00000000000001" y1="0.0" y2="0.0"/>
+  <line opacity="0.5" stroke="#0000ff" x1="110.00000000000001" x2="110.00000000000001" y1="0.0" y2="34.0"/>
+  <line stroke="#000000" x1="70.00000000000001" x2="110.00000000000001" y1="34.0" y2="34.0"/>
+  <line stroke="#000000" x1="130.0" x2="110.00000000000001" y1="0.0" y2="0.0"/>
+  <line stroke="#000000" x1="130.0" x2="130.0" y1="34.0" y2="0.0"/>
+  <line stroke="#000000" x1="110.00000000000001" x2="130.0" y1="34.0" y2="34.0"/>
+  <line stroke="#000000" x1="0.0" x2="10.000000000000002" y1="34.0" y2="34.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="34.0"/>
+  <line stroke="#000000" x1="10.000000000000002" x2="0.0" y1="0.0" y2="0.0"/>
+  <line stroke="#888888" x1="122.25000000000001" x2="122.25000000000001" y1="22.91666666666667" y2="11.083333333333336"/>
+  <line stroke="#888888" x1="122.25000000000001" x2="122.75000000000001" y1="11.083333333333336" y2="11.083333333333336"/>
+  <line stroke="#888888" x1="122.75000000000001" x2="122.75000000000001" y1="11.083333333333336" y2="22.91666666666667"/>
+  <line stroke="#888888" x1="122.75000000000001" x2="122.25000000000001" y1="22.91666666666667" y2="22.91666666666667"/>
+  <line stroke="#888888" x1="2.5000000000000004" x2="7.500000000000001" y1="11.333333333333337" y2="11.333333333333337"/>
+  <line stroke="#888888" x1="7.500000000000001" x2="7.500000000000001" y1="11.333333333333337" y2="22.66666666666667"/>
+  <line stroke="#888888" x1="7.500000000000001" x2="2.5000000000000004" y1="22.66666666666667" y2="22.66666666666667"/>
+</svg>
diff --git a/rocolib/output/SideServoMount/graph-autofold-default.dxf b/rocolib/output/SideServoMount/graph-autofold-default.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..8fb7f49a49352976c8e8b946b5bbbdd488985575
--- /dev/null
+++ b/rocolib/output/SideServoMount/graph-autofold-default.dxf
@@ -0,0 +1,1384 @@
+  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
+7
+  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
+LAYER
+  2
+90
+ 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
+50.0
+ 20
+0.0
+ 30
+0.0
+ 11
+10.000000000000002
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+90
+ 10
+50.0
+ 20
+0.0
+ 30
+0.0
+ 11
+50.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+10.000000000000002
+ 20
+34.0
+ 30
+0.0
+ 11
+50.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+90
+ 10
+10.000000000000002
+ 20
+34.0
+ 30
+0.0
+ 11
+10.000000000000002
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+70.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+50.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+90
+ 10
+70.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+70.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+50.0
+ 20
+34.0
+ 30
+0.0
+ 11
+70.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+110.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+70.00000000000001
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+90
+ 10
+110.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+110.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+70.00000000000001
+ 20
+34.0
+ 30
+0.0
+ 11
+110.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+130.0
+ 20
+0.0
+ 30
+0.0
+ 11
+110.00000000000001
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+130.0
+ 20
+34.0
+ 30
+0.0
+ 11
+130.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+110.00000000000001
+ 20
+34.0
+ 30
+0.0
+ 11
+130.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+0.0
+ 20
+34.0
+ 30
+0.0
+ 11
+10.000000000000002
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+10.000000000000002
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+122.25000000000001
+ 20
+22.91666666666667
+ 30
+0.0
+ 11
+122.25000000000001
+ 21
+11.083333333333336
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+122.25000000000001
+ 20
+11.083333333333336
+ 30
+0.0
+ 11
+122.75000000000001
+ 21
+11.083333333333336
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+122.75000000000001
+ 20
+11.083333333333336
+ 30
+0.0
+ 11
+122.75000000000001
+ 21
+22.91666666666667
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+122.75000000000001
+ 20
+22.91666666666667
+ 30
+0.0
+ 11
+122.25000000000001
+ 21
+22.91666666666667
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+2.5000000000000004
+ 20
+11.333333333333337
+ 30
+0.0
+ 11
+7.500000000000001
+ 21
+11.333333333333337
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+7.500000000000001
+ 20
+11.333333333333337
+ 30
+0.0
+ 11
+7.500000000000001
+ 21
+22.66666666666667
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+cut
+ 10
+7.500000000000001
+ 20
+22.66666666666667
+ 30
+0.0
+ 11
+2.5000000000000004
+ 21
+22.66666666666667
+ 31
+0.0
+  0
+ENDSEC
+  0
+EOF
diff --git a/rocolib/output/SideServoMount/graph-autofold-graph.dxf b/rocolib/output/SideServoMount/graph-autofold-graph.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..5d45157063001bf17c6f10df9ba0ffa66499b3af
--- /dev/null
+++ b/rocolib/output/SideServoMount/graph-autofold-graph.dxf
@@ -0,0 +1,1364 @@
+  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
+50.0
+ 20
+0.0
+ 30
+0.0
+ 11
+10.000000000000002
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+0
+ 10
+50.0
+ 20
+0.0
+ 30
+0.0
+ 11
+50.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+10.000000000000002
+ 20
+34.0
+ 30
+0.0
+ 11
+50.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+0
+ 10
+10.000000000000002
+ 20
+34.0
+ 30
+0.0
+ 11
+10.000000000000002
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+70.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+50.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+0
+ 10
+70.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+70.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+50.0
+ 20
+34.0
+ 30
+0.0
+ 11
+70.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+110.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+70.00000000000001
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+0
+ 10
+110.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+110.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+70.00000000000001
+ 20
+34.0
+ 30
+0.0
+ 11
+110.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+130.0
+ 20
+0.0
+ 30
+0.0
+ 11
+110.00000000000001
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+130.0
+ 20
+34.0
+ 30
+0.0
+ 11
+130.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+110.00000000000001
+ 20
+34.0
+ 30
+0.0
+ 11
+130.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+34.0
+ 30
+0.0
+ 11
+10.000000000000002
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+10.000000000000002
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+122.25000000000001
+ 20
+22.91666666666667
+ 30
+0.0
+ 11
+122.25000000000001
+ 21
+11.083333333333336
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+122.25000000000001
+ 20
+11.083333333333336
+ 30
+0.0
+ 11
+122.75000000000001
+ 21
+11.083333333333336
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+122.75000000000001
+ 20
+11.083333333333336
+ 30
+0.0
+ 11
+122.75000000000001
+ 21
+22.91666666666667
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+122.75000000000001
+ 20
+22.91666666666667
+ 30
+0.0
+ 11
+122.25000000000001
+ 21
+22.91666666666667
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+2.5000000000000004
+ 20
+11.333333333333337
+ 30
+0.0
+ 11
+7.500000000000001
+ 21
+11.333333333333337
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+7.500000000000001
+ 20
+11.333333333333337
+ 30
+0.0
+ 11
+7.500000000000001
+ 21
+22.66666666666667
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+7.500000000000001
+ 20
+22.66666666666667
+ 30
+0.0
+ 11
+2.5000000000000004
+ 21
+22.66666666666667
+ 31
+0.0
+  0
+ENDSEC
+  0
+EOF
diff --git a/rocolib/output/SideServoMount/graph-lasercutter.svg b/rocolib/output/SideServoMount/graph-lasercutter.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0af8397cdb34a2be24218dca7b0bc56ba5f82c96
--- /dev/null
+++ b/rocolib/output/SideServoMount/graph-lasercutter.svg
@@ -0,0 +1,27 @@
+<?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="34.000000mm" version="1.1" viewBox="0.000000 0.000000 130.000000 34.000000" width="130.000000mm">
+  <defs/>
+  <line stroke="#000000" x1="50.0" x2="10.000000000000002" y1="0.0" y2="0.0"/>
+  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="50.0" x2="50.0" y1="0.0" y2="34.0"/>
+  <line stroke="#000000" x1="10.000000000000002" x2="50.0" y1="34.0" y2="34.0"/>
+  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="10.000000000000002" x2="10.000000000000002" y1="34.0" y2="0.0"/>
+  <line stroke="#000000" x1="70.00000000000001" x2="50.0" y1="0.0" y2="0.0"/>
+  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="70.00000000000001" x2="70.00000000000001" y1="0.0" y2="34.0"/>
+  <line stroke="#000000" x1="50.0" x2="70.00000000000001" y1="34.0" y2="34.0"/>
+  <line stroke="#000000" x1="110.00000000000001" x2="70.00000000000001" y1="0.0" y2="0.0"/>
+  <line stroke="#0000ff" stroke-dasharray="2 6" stroke-dashoffset="5" x1="110.00000000000001" x2="110.00000000000001" y1="0.0" y2="34.0"/>
+  <line stroke="#000000" x1="70.00000000000001" x2="110.00000000000001" y1="34.0" y2="34.0"/>
+  <line stroke="#000000" x1="130.0" x2="110.00000000000001" y1="0.0" y2="0.0"/>
+  <line stroke="#000000" x1="130.0" x2="130.0" y1="34.0" y2="0.0"/>
+  <line stroke="#000000" x1="110.00000000000001" x2="130.0" y1="34.0" y2="34.0"/>
+  <line stroke="#000000" x1="0.0" x2="10.000000000000002" y1="34.0" y2="34.0"/>
+  <line stroke="#000000" x1="0.0" x2="0.0" y1="0.0" y2="34.0"/>
+  <line stroke="#000000" x1="10.000000000000002" x2="0.0" y1="0.0" y2="0.0"/>
+  <line stroke="#888888" x1="122.25000000000001" x2="122.25000000000001" y1="22.91666666666667" y2="11.083333333333336"/>
+  <line stroke="#888888" x1="122.25000000000001" x2="122.75000000000001" y1="11.083333333333336" y2="11.083333333333336"/>
+  <line stroke="#888888" x1="122.75000000000001" x2="122.75000000000001" y1="11.083333333333336" y2="22.91666666666667"/>
+  <line stroke="#888888" x1="122.75000000000001" x2="122.25000000000001" y1="22.91666666666667" y2="22.91666666666667"/>
+  <line stroke="#888888" x1="2.5000000000000004" x2="7.500000000000001" y1="11.333333333333337" y2="11.333333333333337"/>
+  <line stroke="#888888" x1="7.500000000000001" x2="7.500000000000001" y1="11.333333333333337" y2="22.66666666666667"/>
+  <line stroke="#888888" x1="7.500000000000001" x2="2.5000000000000004" y1="22.66666666666667" y2="22.66666666666667"/>
+</svg>
diff --git a/rocolib/output/SideServoMount/graph-model.png b/rocolib/output/SideServoMount/graph-model.png
new file mode 100644
index 0000000000000000000000000000000000000000..0353810850496da61669013e1f30ff2bce9511e4
Binary files /dev/null and b/rocolib/output/SideServoMount/graph-model.png differ
diff --git a/rocolib/output/SideServoMount/graph-model.stl b/rocolib/output/SideServoMount/graph-model.stl
new file mode 100644
index 0000000000000000000000000000000000000000..4463930a2a7863c064a0fe572680e06181bb6a05
--- /dev/null
+++ b/rocolib/output/SideServoMount/graph-model.stl
@@ -0,0 +1,72 @@
+solid python
+facet normal 0 0 0
+outer loop
+vertex -0.0200 0.0170 0.0000
+vertex -0.0200 -0.0170 0.0000
+vertex 0.0200 -0.0170 0.0000
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex 0.0200 -0.0170 0.0000
+vertex 0.0200 0.0170 0.0000
+vertex -0.0200 0.0170 0.0000
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex 0.0200 0.0170 0.0000
+vertex 0.0200 -0.0170 0.0000
+vertex 0.0200 -0.0170 -0.0200
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex 0.0200 -0.0170 -0.0200
+vertex 0.0200 0.0170 -0.0200
+vertex 0.0200 0.0170 0.0000
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex 0.0200 0.0170 -0.0200
+vertex 0.0200 -0.0170 -0.0200
+vertex -0.0200 -0.0170 -0.0200
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0200 -0.0170 -0.0200
+vertex -0.0200 0.0170 -0.0200
+vertex 0.0200 0.0170 -0.0200
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0200 0.0170 -0.0200
+vertex -0.0200 -0.0170 -0.0200
+vertex -0.0200 -0.0170 -0.0000
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0200 -0.0170 -0.0000
+vertex -0.0200 0.0170 -0.0000
+vertex -0.0200 0.0170 -0.0200
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0200 -0.0170 -0.0100
+vertex -0.0200 -0.0170 0.0000
+vertex -0.0200 0.0170 0.0000
+endloop
+endfacet
+facet normal 0 0 0
+outer loop
+vertex -0.0200 0.0170 0.0000
+vertex -0.0200 0.0170 -0.0100
+vertex -0.0200 -0.0170 -0.0100
+endloop
+endfacet
+endsolid python
diff --git a/rocolib/output/SideServoMount/graph-silhouette.dxf b/rocolib/output/SideServoMount/graph-silhouette.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..5d45157063001bf17c6f10df9ba0ffa66499b3af
--- /dev/null
+++ b/rocolib/output/SideServoMount/graph-silhouette.dxf
@@ -0,0 +1,1364 @@
+  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
+50.0
+ 20
+0.0
+ 30
+0.0
+ 11
+10.000000000000002
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+0
+ 10
+50.0
+ 20
+0.0
+ 30
+0.0
+ 11
+50.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+10.000000000000002
+ 20
+34.0
+ 30
+0.0
+ 11
+50.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+0
+ 10
+10.000000000000002
+ 20
+34.0
+ 30
+0.0
+ 11
+10.000000000000002
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+70.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+50.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+0
+ 10
+70.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+70.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+50.0
+ 20
+34.0
+ 30
+0.0
+ 11
+70.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+110.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+70.00000000000001
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+  6
+DOTTED
+ 62
+1
+  8
+0
+ 10
+110.00000000000001
+ 20
+0.0
+ 30
+0.0
+ 11
+110.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+70.00000000000001
+ 20
+34.0
+ 30
+0.0
+ 11
+110.00000000000001
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+130.0
+ 20
+0.0
+ 30
+0.0
+ 11
+110.00000000000001
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+130.0
+ 20
+34.0
+ 30
+0.0
+ 11
+130.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+110.00000000000001
+ 20
+34.0
+ 30
+0.0
+ 11
+130.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+34.0
+ 30
+0.0
+ 11
+10.000000000000002
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+34.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+10.000000000000002
+ 20
+0.0
+ 30
+0.0
+ 11
+0.0
+ 21
+0.0
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+122.25000000000001
+ 20
+22.91666666666667
+ 30
+0.0
+ 11
+122.25000000000001
+ 21
+11.083333333333336
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+122.25000000000001
+ 20
+11.083333333333336
+ 30
+0.0
+ 11
+122.75000000000001
+ 21
+11.083333333333336
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+122.75000000000001
+ 20
+11.083333333333336
+ 30
+0.0
+ 11
+122.75000000000001
+ 21
+22.91666666666667
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+122.75000000000001
+ 20
+22.91666666666667
+ 30
+0.0
+ 11
+122.25000000000001
+ 21
+22.91666666666667
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+2.5000000000000004
+ 20
+11.333333333333337
+ 30
+0.0
+ 11
+7.500000000000001
+ 21
+11.333333333333337
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+7.500000000000001
+ 20
+11.333333333333337
+ 30
+0.0
+ 11
+7.500000000000001
+ 21
+22.66666666666667
+ 31
+0.0
+  0
+LINE
+ 62
+5
+  8
+0
+ 10
+7.500000000000001
+ 20
+22.66666666666667
+ 30
+0.0
+ 11
+2.5000000000000004
+ 21
+22.66666666666667
+ 31
+0.0
+  0
+ENDSEC
+  0
+EOF
diff --git a/rocolib/output/SideServoMount/tree.png b/rocolib/output/SideServoMount/tree.png
new file mode 100644
index 0000000000000000000000000000000000000000..b18686ea9da9840b8132976068c784f08b966f8f
Binary files /dev/null and b/rocolib/output/SideServoMount/tree.png differ