diff --git a/UrumbotXY/files/2d/bearing_plate2.dxf b/UrumbotXY/files/2d/bearing_plate2.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..8af8f7512a6050023c4ac43b1087ce8566e2a8f8
--- /dev/null
+++ b/UrumbotXY/files/2d/bearing_plate2.dxf
@@ -0,0 +1,1308 @@
+0
+SECTION
+2
+HEADER
+9
+$INSUNITS
+70
+4
+9
+$ACADVER
+1
+AC1014
+9
+$HANDSEED
+5
+FFFF
+0
+ENDSEC
+0
+SECTION
+2
+TABLES
+0
+TABLE
+2
+VPORT
+5
+8
+100
+AcDbSymbolTable
+0
+ENDTAB
+0
+TABLE
+2
+LTYPE
+5
+5
+100
+AcDbSymbolTable
+0
+LTYPE
+5
+14
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYBLOCK
+70
+0
+0
+LTYPE
+5
+15
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYLAYER
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+LAYER
+5
+2
+100
+AcDbSymbolTable
+70
+2
+0
+LAYER
+5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+2
+0
+70
+0
+6
+CONTINUOUS
+0
+ENDTAB
+0
+TABLE
+2
+STYLE
+5
+3
+100
+AcDbSymbolTable
+70
+1
+0
+STYLE
+5
+11
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+2
+STANDARD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+VIEW
+5
+6
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+UCS
+5
+7
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+APPID
+5
+9
+100
+AcDbSymbolTable
+70
+2
+0
+APPID
+5
+12
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+2
+ACAD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+DIMSTYLE
+5
+A
+100
+AcDbSymbolTable
+70
+1
+0
+ENDTAB
+0
+TABLE
+2
+BLOCK_RECORD
+5
+1
+100
+AcDbSymbolTable
+70
+1
+0
+BLOCK_RECORD
+5
+1F
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*MODEL_SPACE
+0
+BLOCK_RECORD
+5
+1B
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*PAPER_SPACE
+0
+ENDTAB
+0
+ENDSEC
+0
+SECTION
+2
+BLOCKS
+0
+BLOCK
+5
+20
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*MODEL_SPACE
+0
+ENDBLK
+5
+21
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+BLOCK
+5
+1C
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*PAPER_SPACE
+0
+ENDBLK
+5
+1D
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+ENDSEC
+0
+SECTION
+2
+ENTITIES
+0
+LINE
+5
+100
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+44
+20
+-25
+30
+0
+11
+50
+21
+-19.000000000000004
+31
+0
+0
+LINE
+5
+101
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+50
+20
+-5.0000000000000009
+30
+0
+11
+31.999999999999996
+21
+-4.9999999999999982
+31
+0
+0
+LINE
+5
+102
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+31.999999999999996
+20
+-4.9999999999999982
+30
+0
+11
+31.999999999999996
+21
+14.999999999999998
+31
+0
+0
+LINE
+5
+103
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+31.999999999999996
+20
+14.999999999999998
+30
+0
+11
+50
+21
+14.999999999999998
+31
+0
+0
+LINE
+5
+104
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+50
+20
+29.000000000000004
+30
+0
+11
+44
+21
+35
+31
+0
+0
+LINE
+5
+105
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+8.0000000000000018
+20
+15.000000000000011
+30
+0
+11
+7.9999999999999991
+21
+35
+31
+0
+0
+LINE
+5
+106
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10.000000000000009
+20
+15
+30
+0
+11
+8.0000000000000036
+21
+15.000000000000011
+31
+0
+0
+LINE
+5
+107
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10
+20
+-5
+30
+0
+11
+-10.000000000000009
+21
+15
+31
+0
+0
+LINE
+5
+108
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+8.0000000000000018
+20
+-5.0000000000000071
+30
+0
+11
+-10
+21
+-5
+31
+0
+0
+LINE
+5
+109
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+8
+20
+-25
+30
+0
+11
+8.0000000000000018
+21
+-5.0000000000000071
+31
+0
+0
+CIRCLE
+5
+110
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+-18.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+111
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.5
+20
+-18.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+112
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+32.000000000000007
+20
+-10
+30
+0
+40
+1.5000000000000002
+210
+0
+220
+-0
+230
+1
+0
+CIRCLE
+5
+113
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+5
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+114
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+8
+20
+11
+30
+0
+40
+1.5000000000000002
+210
+0
+220
+-0
+230
+1
+0
+CIRCLE
+5
+115
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+8
+20
+-1.0000000000000009
+30
+0
+40
+1.5000000000000002
+210
+0
+220
+-0
+230
+1
+0
+CIRCLE
+5
+116
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-1.4999999999999947
+20
+5
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+117
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+28.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+118
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.5
+20
+28.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+119
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+32.000000000000007
+20
+21
+30
+0
+40
+1.4999999999999989
+210
+0
+220
+-0
+230
+1
+0
+LINE
+5
+120
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+44
+20
+35
+30
+0
+11
+7.9999999999999991
+21
+35
+31
+0
+0
+LINE
+5
+121
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+8.0000000000000036
+20
+15.000000000000011
+30
+0
+11
+-10.000000000000009
+21
+15
+31
+0
+0
+LINE
+5
+122
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10
+20
+-5
+30
+0
+11
+8.0000000000000018
+21
+-5.0000000000000071
+31
+0
+0
+LINE
+5
+123
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+8.0000000000000018
+20
+-5.0000000000000071
+30
+0
+11
+8
+21
+-25
+31
+0
+0
+LINE
+5
+124
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10.000000000000009
+20
+15
+30
+0
+11
+-10
+21
+-5
+31
+0
+0
+LINE
+5
+125
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+8
+20
+-25
+30
+0
+11
+44
+21
+-25
+31
+0
+0
+LINE
+5
+126
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+44
+20
+-25
+30
+0
+11
+50
+21
+-19.000000000000004
+31
+0
+0
+LINE
+5
+127
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+50
+20
+-19.000000000000004
+30
+0
+11
+50
+21
+-5.0000000000000009
+31
+0
+0
+LINE
+5
+128
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+50
+20
+-5.0000000000000009
+30
+0
+11
+31.999999999999996
+21
+-4.9999999999999982
+31
+0
+0
+LINE
+5
+129
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+31.999999999999996
+20
+-4.9999999999999982
+30
+0
+11
+31.999999999999996
+21
+14.999999999999998
+31
+0
+0
+LINE
+5
+130
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+31.999999999999996
+20
+14.999999999999998
+30
+0
+11
+50
+21
+14.999999999999998
+31
+0
+0
+LINE
+5
+131
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+50
+20
+14.999999999999998
+30
+0
+11
+50
+21
+29.000000000000004
+31
+0
+0
+LINE
+5
+132
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+50
+20
+29.000000000000004
+30
+0
+11
+44
+21
+35
+31
+0
+0
+CIRCLE
+5
+133
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+28.000000000000004
+30
+0
+40
+2.6000000000000001
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+134
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.5
+20
+28.000000000000004
+30
+0
+40
+2.5999999999999996
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+135
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+32.000000000000007
+20
+21
+30
+0
+40
+1.4999999999999991
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+136
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+5
+30
+0
+40
+2.5999999999999979
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+137
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+8
+20
+11
+30
+0
+40
+1.5000000000000002
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+138
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-1.4999999999999947
+20
+5
+30
+0
+40
+2.5999999999999983
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+139
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+8
+20
+-1.0000000000000009
+30
+0
+40
+1.5000000000000002
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+140
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+-18.000000000000004
+30
+0
+40
+2.5999999999999988
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+141
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+32.000000000000007
+20
+-10
+30
+0
+40
+1.4999999999999991
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+142
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.5
+20
+-18.000000000000004
+30
+0
+40
+2.599999999999997
+210
+0
+220
+0
+230
+1
+0
+LINE
+5
+143
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+7.9999999999999991
+20
+35
+30
+0
+11
+8.0000000000000018
+21
+15.000000000000011
+31
+0
+0
+ENDSEC
+0
+SECTION
+2
+OBJECTS
+0
+DICTIONARY
+5
+C
+100
+AcDbDictionary
+3
+ACAD_GROUP
+350
+D
+3
+ACAD_MLINESTYLE
+350
+17
+0
+DICTIONARY
+5
+D
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+1A
+330
+C
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+17
+100
+AcDbDictionary
+0
+ENDSEC
+0
+EOF
diff --git a/UrumbotXY/files/2d/bearing_plate3.dxf b/UrumbotXY/files/2d/bearing_plate3.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..edaa1fe33b0657949e8c0d4802de42168c9a8b0a
--- /dev/null
+++ b/UrumbotXY/files/2d/bearing_plate3.dxf
@@ -0,0 +1,1028 @@
+0
+SECTION
+2
+HEADER
+9
+$INSUNITS
+70
+4
+9
+$ACADVER
+1
+AC1014
+9
+$HANDSEED
+5
+FFFF
+0
+ENDSEC
+0
+SECTION
+2
+TABLES
+0
+TABLE
+2
+VPORT
+5
+8
+100
+AcDbSymbolTable
+0
+ENDTAB
+0
+TABLE
+2
+LTYPE
+5
+5
+100
+AcDbSymbolTable
+0
+LTYPE
+5
+14
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYBLOCK
+70
+0
+0
+LTYPE
+5
+15
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYLAYER
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+LAYER
+5
+2
+100
+AcDbSymbolTable
+70
+2
+0
+LAYER
+5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+2
+0
+70
+0
+6
+CONTINUOUS
+0
+ENDTAB
+0
+TABLE
+2
+STYLE
+5
+3
+100
+AcDbSymbolTable
+70
+1
+0
+STYLE
+5
+11
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+2
+STANDARD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+VIEW
+5
+6
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+UCS
+5
+7
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+APPID
+5
+9
+100
+AcDbSymbolTable
+70
+2
+0
+APPID
+5
+12
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+2
+ACAD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+DIMSTYLE
+5
+A
+100
+AcDbSymbolTable
+70
+1
+0
+ENDTAB
+0
+TABLE
+2
+BLOCK_RECORD
+5
+1
+100
+AcDbSymbolTable
+70
+1
+0
+BLOCK_RECORD
+5
+1F
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*MODEL_SPACE
+0
+BLOCK_RECORD
+5
+1B
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*PAPER_SPACE
+0
+ENDTAB
+0
+ENDSEC
+0
+SECTION
+2
+BLOCKS
+0
+BLOCK
+5
+20
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*MODEL_SPACE
+0
+ENDBLK
+5
+21
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+BLOCK
+5
+1C
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*PAPER_SPACE
+0
+ENDBLK
+5
+1D
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+ENDSEC
+0
+SECTION
+2
+ENTITIES
+0
+LINE
+5
+100
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-4.0000000000000036
+20
+35
+30
+0
+11
+-10
+21
+29.000000000000004
+31
+0
+0
+LINE
+5
+101
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10
+20
+15
+30
+0
+11
+-10
+21
+35
+31
+0
+0
+LINE
+5
+102
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10
+20
+35
+30
+0
+11
+50
+21
+35
+31
+0
+0
+LINE
+5
+103
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+50
+20
+29.000000000000004
+30
+0
+11
+44
+21
+35
+31
+0
+0
+LINE
+5
+104
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+50
+20
+35
+30
+0
+11
+50
+21
+-25
+31
+0
+0
+LINE
+5
+105
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+44
+20
+-25
+30
+0
+11
+50
+21
+-19.000000000000004
+31
+0
+0
+LINE
+5
+106
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+50
+20
+-25
+30
+0
+11
+-10
+21
+-25
+31
+0
+0
+LINE
+5
+107
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10
+20
+-19
+30
+0
+11
+-4.0000000000000036
+21
+-25
+31
+0
+0
+LINE
+5
+108
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10
+20
+-25
+30
+0
+11
+-10
+21
+-5
+31
+0
+0
+LINE
+5
+109
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10
+20
+-5
+30
+0
+11
+-30
+21
+-5
+31
+0
+0
+LINE
+5
+110
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-30
+20
+-5
+30
+0
+11
+-30
+21
+15
+31
+0
+0
+LINE
+5
+111
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-30
+20
+15
+30
+0
+11
+-10
+21
+15
+31
+0
+0
+CIRCLE
+5
+112
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-1.4999999999999947
+20
+28.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+113
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+28.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+114
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.5
+20
+28.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+115
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+15.75
+30
+0
+40
+1.25
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+116
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-1.4999999999999947
+20
+15.75
+30
+0
+40
+1.25
+210
+-0
+220
+0
+230
+1
+0
+ARC
+5
+117
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.000000610947609
+20
+5
+30
+0
+40
+2.5999999999999979
+210
+0
+220
+-0
+230
+1
+100
+AcDbArc
+50
+90
+51
+270
+0
+ARC
+5
+118
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.999999389052398
+20
+5
+30
+0
+40
+2.5999999999999979
+210
+-0
+220
+0
+230
+1
+100
+AcDbArc
+50
+-90
+51
+90
+0
+LINE
+5
+119
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+41.999999389052398
+20
+7.5999999999999979
+30
+0
+11
+41.000000610947609
+21
+7.5999999999999979
+31
+0
+0
+LINE
+5
+120
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+41.000000610947609
+20
+2.4000000000000021
+30
+0
+11
+41.999999389052398
+21
+2.4000000000000021
+31
+0
+0
+CIRCLE
+5
+121
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+5
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+122
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-1.4999999999999947
+20
+5
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+123
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-22.999999999999993
+20
+5
+30
+0
+40
+2.6000000000000001
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+124
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-1.4999999999999947
+20
+-5.75
+30
+0
+40
+1.25
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+125
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.5
+20
+15.75
+30
+0
+40
+1.25
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+126
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+-5.75
+30
+0
+40
+1.25
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+127
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.5
+20
+-5.75
+30
+0
+40
+1.25
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+128
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+41.5
+20
+-18.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+129
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20.000000000000004
+20
+-18.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+CIRCLE
+5
+130
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-1.4999999999999947
+20
+-18.000000000000004
+30
+0
+40
+2.5999999999999983
+210
+-0
+220
+0
+230
+1
+0
+ENDSEC
+0
+SECTION
+2
+OBJECTS
+0
+DICTIONARY
+5
+C
+100
+AcDbDictionary
+3
+ACAD_GROUP
+350
+D
+3
+ACAD_MLINESTYLE
+350
+17
+0
+DICTIONARY
+5
+D
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+1A
+330
+C
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+17
+100
+AcDbDictionary
+0
+ENDSEC
+0
+EOF
diff --git a/UrumbotXY/files/2d/corner.dxf b/UrumbotXY/files/2d/corner.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..abb4018f9225dd4b8e091669ab35755dddbe473b
--- /dev/null
+++ b/UrumbotXY/files/2d/corner.dxf
@@ -0,0 +1,496 @@
+0
+SECTION
+2
+HEADER
+9
+$INSUNITS
+70
+1
+9
+$ACADVER
+1
+AC1014
+9
+$HANDSEED
+5
+FFFF
+0
+ENDSEC
+0
+SECTION
+2
+TABLES
+0
+TABLE
+2
+VPORT
+5
+8
+100
+AcDbSymbolTable
+0
+ENDTAB
+0
+TABLE
+2
+LTYPE
+5
+5
+100
+AcDbSymbolTable
+0
+LTYPE
+5
+14
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYBLOCK
+70
+0
+0
+LTYPE
+5
+15
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYLAYER
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+LAYER
+5
+2
+100
+AcDbSymbolTable
+70
+2
+0
+LAYER
+5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+2
+0
+70
+0
+6
+CONTINUOUS
+0
+ENDTAB
+0
+TABLE
+2
+STYLE
+5
+3
+100
+AcDbSymbolTable
+70
+1
+0
+STYLE
+5
+11
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+2
+STANDARD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+VIEW
+5
+6
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+UCS
+5
+7
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+APPID
+5
+9
+100
+AcDbSymbolTable
+70
+2
+0
+APPID
+5
+12
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+2
+ACAD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+DIMSTYLE
+5
+A
+100
+AcDbSymbolTable
+70
+1
+0
+ENDTAB
+0
+TABLE
+2
+BLOCK_RECORD
+5
+1
+100
+AcDbSymbolTable
+70
+1
+0
+BLOCK_RECORD
+5
+1F
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*MODEL_SPACE
+0
+BLOCK_RECORD
+5
+1B
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*PAPER_SPACE
+0
+ENDTAB
+0
+ENDSEC
+0
+SECTION
+2
+BLOCKS
+0
+BLOCK
+5
+20
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*MODEL_SPACE
+0
+ENDBLK
+5
+21
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+BLOCK
+5
+1C
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*PAPER_SPACE
+0
+ENDBLK
+5
+1D
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+ENDSEC
+0
+SECTION
+2
+ENTITIES
+0
+LWPOLYLINE
+5
+100
+100
+AcDbEntity
+8
+0
+100
+AcDbPolyline
+90
+10
+70
+1
+43
+0.0
+10
+-20.078824162757002
+20
+3.9367898557768504
+10
+-20.078824162757002
+20
+3.856735374499038
+10
+-20.078824162757002
+20
+-3.8000001212743322
+10
+-8.2717496978727407
+20
+-3.9500001260614765
+10
+-8.2717496978727407
+20
+-8.3088768756565088
+10
+-6.6234574479164445
+20
+-9.9022260506142619
+10
+6.7277097767295455
+20
+-9.9022260506142619
+10
+8.2812481021119613
+20
+-8.2951174381496937
+10
+8.2812481021119613
+20
+2.2951365990623263
+10
+6.5427185646791051
+20
+3.9757151519140876
+0
+LINE
+5
+101
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-20.078824162757002
+20
+-3.8000001212743322
+30
+0
+11
+-20.078824162757002
+21
+-3.9000001244657621
+31
+0
+0
+LINE
+5
+102
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-20.078824162757002
+20
+-3.9000001244657621
+30
+0
+11
+-20.078824162757002
+21
+-3.9500001260614765
+31
+0
+0
+CIRCLE
+5
+103
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-17.12399068694663
+20
+0.0019352596762640217
+30
+0
+40
+1.0239920018679463
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+104
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-11.223272459852435
+20
+0.0019352596762640217
+30
+0
+40
+1.0216655636896665
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+105
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+4.4293160942942986
+20
+0.0019352596762640217
+30
+0
+40
+1.0189571469695053
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+106
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-3.9376255650851992
+20
+-7.8771043400045917
+30
+0
+40
+1.0202070661112828
+210
+0
+220
+0
+230
+1
+0
+ENDSEC
+0
+SECTION
+2
+OBJECTS
+0
+DICTIONARY
+5
+C
+100
+AcDbDictionary
+3
+ACAD_GROUP
+350
+D
+3
+ACAD_MLINESTYLE
+350
+17
+0
+DICTIONARY
+5
+D
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+1A
+330
+C
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+17
+100
+AcDbDictionary
+0
+ENDSEC
+0
+EOF
diff --git a/UrumbotXY/files/2d/double_pulley_mount.dxf b/UrumbotXY/files/2d/double_pulley_mount.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..dfa99ba896dc03d5d6378a2ba707d9056eaa7027
--- /dev/null
+++ b/UrumbotXY/files/2d/double_pulley_mount.dxf
@@ -0,0 +1,616 @@
+0
+SECTION
+2
+HEADER
+9
+$INSUNITS
+70
+4
+9
+$ACADVER
+1
+AC1014
+9
+$HANDSEED
+5
+FFFF
+0
+ENDSEC
+0
+SECTION
+2
+TABLES
+0
+TABLE
+2
+VPORT
+5
+8
+100
+AcDbSymbolTable
+0
+ENDTAB
+0
+TABLE
+2
+LTYPE
+5
+5
+100
+AcDbSymbolTable
+0
+LTYPE
+5
+14
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYBLOCK
+70
+0
+0
+LTYPE
+5
+15
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYLAYER
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+LAYER
+5
+2
+100
+AcDbSymbolTable
+70
+2
+0
+LAYER
+5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+2
+0
+70
+0
+6
+CONTINUOUS
+0
+ENDTAB
+0
+TABLE
+2
+STYLE
+5
+3
+100
+AcDbSymbolTable
+70
+1
+0
+STYLE
+5
+11
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+2
+STANDARD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+VIEW
+5
+6
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+UCS
+5
+7
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+APPID
+5
+9
+100
+AcDbSymbolTable
+70
+2
+0
+APPID
+5
+12
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+2
+ACAD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+DIMSTYLE
+5
+A
+100
+AcDbSymbolTable
+70
+1
+0
+ENDTAB
+0
+TABLE
+2
+BLOCK_RECORD
+5
+1
+100
+AcDbSymbolTable
+70
+1
+0
+BLOCK_RECORD
+5
+1F
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*MODEL_SPACE
+0
+BLOCK_RECORD
+5
+1B
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*PAPER_SPACE
+0
+ENDTAB
+0
+ENDSEC
+0
+SECTION
+2
+BLOCKS
+0
+BLOCK
+5
+20
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*MODEL_SPACE
+0
+ENDBLK
+5
+21
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+BLOCK
+5
+1C
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*PAPER_SPACE
+0
+ENDBLK
+5
+1D
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+ENDSEC
+0
+SECTION
+2
+ENTITIES
+0
+LINE
+5
+100
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-5.0000000000000107
+20
+21.000000000000011
+30
+0
+11
+19.999999999999993
+21
+21.000000000000007
+31
+0
+0
+LINE
+5
+101
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+24.999999999999993
+20
+16.000000000000007
+30
+0
+11
+25
+21
+-17.25
+31
+0
+0
+LINE
+5
+102
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+21.250000000000004
+20
+-20.999999999999996
+30
+0
+11
+10.000000000000011
+21
+-21.000000000000007
+31
+0
+0
+LINE
+5
+103
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-10.000000000000002
+20
+-21.000000000000011
+30
+0
+11
+-10.000000000000011
+21
+16.000000000000011
+31
+0
+0
+LINE
+5
+104
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+10.000000000000011
+20
+-21.000000000000007
+30
+0
+11
+10.000000000000009
+21
+-51.000000000000007
+31
+0
+0
+LINE
+5
+105
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+10.000000000000009
+20
+-51.000000000000007
+30
+0
+11
+-9.9999999999999911
+21
+-51.000000000000007
+31
+0
+0
+LINE
+5
+106
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-9.9999999999999911
+20
+-51.000000000000007
+30
+0
+11
+-9.9999999999999911
+21
+-21.000000000000007
+31
+0
+0
+CIRCLE
+5
+107
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20
+20
+-10
+30
+0
+40
+2.6000000000000001
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+108
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+0
+20
+11.25
+30
+0
+40
+2.6000000000000001
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+109
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+0
+20
+-28.499999999999996
+30
+0
+40
+2.5999999999999988
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+110
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+0
+20
+-43.500000000000007
+30
+0
+40
+2.6000000000000005
+210
+0
+220
+0
+230
+1
+0
+LINE
+5
+111
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-5.0000000000000107
+20
+21.000000000000011
+30
+0
+11
+-10.000000000000011
+21
+16.000000000000011
+31
+0
+0
+LINE
+5
+112
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+19.999999999999993
+20
+21.000000000000007
+30
+0
+11
+24.999999999999993
+21
+16.000000000000007
+31
+0
+0
+LINE
+5
+113
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+25
+20
+-17.25
+30
+0
+11
+21.250000000000004
+21
+-20.999999999999996
+31
+0
+0
+ENDSEC
+0
+SECTION
+2
+OBJECTS
+0
+DICTIONARY
+5
+C
+100
+AcDbDictionary
+3
+ACAD_GROUP
+350
+D
+3
+ACAD_MLINESTYLE
+350
+17
+0
+DICTIONARY
+5
+D
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+1A
+330
+C
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+17
+100
+AcDbDictionary
+0
+ENDSEC
+0
+EOF
diff --git a/UrumbotXY/files/2d/feet.dxf b/UrumbotXY/files/2d/feet.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..c6a8fdcd3a1fda848bb7013817d58d232e5bc90d
--- /dev/null
+++ b/UrumbotXY/files/2d/feet.dxf
@@ -0,0 +1,458 @@
+0
+SECTION
+2
+HEADER
+9
+$INSUNITS
+70
+4
+9
+$ACADVER
+1
+AC1014
+9
+$HANDSEED
+5
+FFFF
+0
+ENDSEC
+0
+SECTION
+2
+TABLES
+0
+TABLE
+2
+VPORT
+5
+8
+100
+AcDbSymbolTable
+0
+ENDTAB
+0
+TABLE
+2
+LTYPE
+5
+5
+100
+AcDbSymbolTable
+0
+LTYPE
+5
+14
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYBLOCK
+70
+0
+0
+LTYPE
+5
+15
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYLAYER
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+LAYER
+5
+2
+100
+AcDbSymbolTable
+70
+2
+0
+LAYER
+5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+2
+0
+70
+0
+6
+CONTINUOUS
+0
+ENDTAB
+0
+TABLE
+2
+STYLE
+5
+3
+100
+AcDbSymbolTable
+70
+1
+0
+STYLE
+5
+11
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+2
+STANDARD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+VIEW
+5
+6
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+UCS
+5
+7
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+APPID
+5
+9
+100
+AcDbSymbolTable
+70
+2
+0
+APPID
+5
+12
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+2
+ACAD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+DIMSTYLE
+5
+A
+100
+AcDbSymbolTable
+70
+1
+0
+ENDTAB
+0
+TABLE
+2
+BLOCK_RECORD
+5
+1
+100
+AcDbSymbolTable
+70
+1
+0
+BLOCK_RECORD
+5
+1F
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*MODEL_SPACE
+0
+BLOCK_RECORD
+5
+1B
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*PAPER_SPACE
+0
+ENDTAB
+0
+ENDSEC
+0
+SECTION
+2
+BLOCKS
+0
+BLOCK
+5
+20
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*MODEL_SPACE
+0
+ENDBLK
+5
+21
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+BLOCK
+5
+1C
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*PAPER_SPACE
+0
+ENDBLK
+5
+1D
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+ENDSEC
+0
+SECTION
+2
+ENTITIES
+0
+LINE
+5
+100
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-34.999999999999964
+20
+10
+30
+0
+11
+14.999999999999831
+21
+60
+31
+0
+0
+LINE
+5
+101
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+14.999999999999831
+20
+60
+30
+0
+11
+34.999999999999837
+21
+59.999999999999886
+31
+0
+0
+LINE
+5
+102
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+34.999999999999837
+20
+59.999999999999886
+30
+0
+11
+34.999999999999957
+21
+-10
+31
+0
+0
+LINE
+5
+103
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+34.999999999999957
+20
+-10
+30
+0
+11
+-34.99999999999995
+21
+-10
+31
+0
+0
+LINE
+5
+104
+100
+AcDbEntity
+8
+0
+100
+AcDbLine
+10
+-34.999999999999957
+20
+-10
+30
+0
+11
+-34.999999999999964
+21
+10
+31
+0
+0
+CIRCLE
+5
+105
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-20
+20
+0
+30
+0
+40
+2.7000000000000002
+210
+0
+220
+-0
+230
+1
+0
+CIRCLE
+5
+106
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20
+20
+0
+30
+0
+40
+2.7000000000000002
+210
+0
+220
+-0
+230
+1
+0
+ENDSEC
+0
+SECTION
+2
+OBJECTS
+0
+DICTIONARY
+5
+C
+100
+AcDbDictionary
+3
+ACAD_GROUP
+350
+D
+3
+ACAD_MLINESTYLE
+350
+17
+0
+DICTIONARY
+5
+D
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+1A
+330
+C
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+17
+100
+AcDbDictionary
+0
+ENDSEC
+0
+EOF
diff --git a/UrumbotXY/files/2d/motor_mount.dxf b/UrumbotXY/files/2d/motor_mount.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..216c637e6f7f91d4218abd49d313c0b7d59386d6
--- /dev/null
+++ b/UrumbotXY/files/2d/motor_mount.dxf
@@ -0,0 +1,620 @@
+0
+SECTION
+2
+HEADER
+9
+$INSUNITS
+70
+4
+9
+$ACADVER
+1
+AC1014
+9
+$HANDSEED
+5
+FFFF
+0
+ENDSEC
+0
+SECTION
+2
+TABLES
+0
+TABLE
+2
+VPORT
+5
+8
+100
+AcDbSymbolTable
+0
+ENDTAB
+0
+TABLE
+2
+LTYPE
+5
+5
+100
+AcDbSymbolTable
+0
+LTYPE
+5
+14
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYBLOCK
+70
+0
+0
+LTYPE
+5
+15
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYLAYER
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+LAYER
+5
+2
+100
+AcDbSymbolTable
+70
+2
+0
+LAYER
+5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+2
+0
+70
+0
+6
+CONTINUOUS
+0
+ENDTAB
+0
+TABLE
+2
+STYLE
+5
+3
+100
+AcDbSymbolTable
+70
+1
+0
+STYLE
+5
+11
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+2
+STANDARD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+VIEW
+5
+6
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+UCS
+5
+7
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+APPID
+5
+9
+100
+AcDbSymbolTable
+70
+2
+0
+APPID
+5
+12
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+2
+ACAD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+DIMSTYLE
+5
+A
+100
+AcDbSymbolTable
+70
+1
+0
+ENDTAB
+0
+TABLE
+2
+BLOCK_RECORD
+5
+1
+100
+AcDbSymbolTable
+70
+1
+0
+BLOCK_RECORD
+5
+1F
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*MODEL_SPACE
+0
+BLOCK_RECORD
+5
+1B
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*PAPER_SPACE
+0
+ENDTAB
+0
+ENDSEC
+0
+SECTION
+2
+BLOCKS
+0
+BLOCK
+5
+20
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*MODEL_SPACE
+0
+ENDBLK
+5
+21
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+BLOCK
+5
+1C
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*PAPER_SPACE
+0
+ENDBLK
+5
+1D
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+ENDSEC
+0
+SECTION
+2
+ENTITIES
+0
+LWPOLYLINE
+5
+100
+100
+AcDbEntity
+8
+0
+100
+AcDbPolyline
+90
+16
+70
+1
+43
+0.0
+10
+18.000000000000021
+20
+21.000000000000011
+10
+7.5
+20
+21.000000000000007
+10
+7.5
+20
+39
+10
+-7.5
+20
+39
+10
+-7.5
+20
+21.000000000000007
+10
+-18.000000000000007
+20
+21.000000000000007
+10
+-21.000000000000007
+20
+18.000000000000011
+10
+-20.999999999999975
+20
+-18.000000000000011
+10
+-17.999999999999975
+20
+-21.000000000000011
+10
+-10.999999999999998
+20
+-21.000000000000014
+10
+-11
+20
+-52.999999999999972
+10
+7.0000000000000018
+20
+-53.000000000000007
+10
+7.0000000000000018
+20
+-21.000000000000007
+10
+18.000000000000028
+20
+-21
+10
+21.000000000000028
+20
+-18.000000000000004
+10
+21.000000000000018
+20
+18.000000000000011
+0
+CIRCLE
+5
+101
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+0
+20
+0
+30
+0
+40
+12.5
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+102
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+0
+20
+30
+30
+0
+40
+2.75
+210
+0
+220
+-0
+230
+1
+0
+CIRCLE
+5
+103
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-2.0000000000000009
+20
+-44.5
+30
+0
+40
+2.7500000000000013
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+104
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+-1.9999999999999993
+20
+-29.5
+30
+0
+40
+2.7499999999999996
+210
+0
+220
+0
+230
+1
+0
+LWPOLYLINE
+5
+105
+100
+AcDbEntity
+8
+0
+100
+AcDbPolyline
+90
+4
+70
+1
+43
+0.0
+10
+14.75
+20
+17.199999999999999
+42
+0.99999999999999989
+10
+14.75
+20
+13.800000000000001
+10
+16.25
+20
+13.800000000000001
+42
+0.99999999999999989
+10
+16.25
+20
+17.199999999999999
+0
+LWPOLYLINE
+5
+106
+100
+AcDbEntity
+8
+0
+100
+AcDbPolyline
+90
+4
+70
+1
+43
+0.0
+10
+-14.749999999999996
+20
+-17.200000000000003
+10
+-16.249999999999996
+20
+-17.20000000000001
+42
+-0.99999999999999989
+10
+-16.249999999999996
+20
+-13.80000000000001
+10
+-14.749999999999996
+20
+-13.800000000000001
+42
+-0.99999999999999989
+0
+LWPOLYLINE
+5
+107
+100
+AcDbEntity
+8
+0
+100
+AcDbPolyline
+90
+4
+70
+1
+43
+0.0
+10
+16.250000000000004
+20
+-17.199999999999992
+42
+0.99999999999999989
+10
+16.250000000000004
+20
+-13.799999999999992
+10
+14.750000000000005
+20
+-13.799999999999997
+42
+0.99999999999999989
+10
+14.750000000000005
+20
+-17.199999999999996
+0
+LWPOLYLINE
+5
+108
+100
+AcDbEntity
+8
+0
+100
+AcDbPolyline
+90
+4
+70
+1
+43
+0.0
+10
+-14.75
+20
+13.800000000000001
+42
+0.99999999999999989
+10
+-14.75
+20
+17.199999999999999
+10
+-16.25
+20
+17.199999999999999
+42
+0.99999999999999989
+10
+-16.25
+20
+13.800000000000001
+0
+ENDSEC
+0
+SECTION
+2
+OBJECTS
+0
+DICTIONARY
+5
+C
+100
+AcDbDictionary
+3
+ACAD_GROUP
+350
+D
+3
+ACAD_MLINESTYLE
+350
+17
+0
+DICTIONARY
+5
+D
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+1A
+330
+C
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+17
+100
+AcDbDictionary
+0
+ENDSEC
+0
+EOF
diff --git a/UrumbotXY/files/2d/pulley_mount.dxf b/UrumbotXY/files/2d/pulley_mount.dxf
new file mode 100644
index 0000000000000000000000000000000000000000..8134b4f8be7bf827742b3827cd4f773560df10a0
--- /dev/null
+++ b/UrumbotXY/files/2d/pulley_mount.dxf
@@ -0,0 +1,508 @@
+0
+SECTION
+2
+HEADER
+9
+$INSUNITS
+70
+4
+9
+$ACADVER
+1
+AC1014
+9
+$HANDSEED
+5
+FFFF
+0
+ENDSEC
+0
+SECTION
+2
+TABLES
+0
+TABLE
+2
+VPORT
+5
+8
+100
+AcDbSymbolTable
+0
+ENDTAB
+0
+TABLE
+2
+LTYPE
+5
+5
+100
+AcDbSymbolTable
+0
+LTYPE
+5
+14
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYBLOCK
+70
+0
+0
+LTYPE
+5
+15
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+2
+BYLAYER
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+LAYER
+5
+2
+100
+AcDbSymbolTable
+70
+2
+0
+LAYER
+5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+2
+0
+70
+0
+6
+CONTINUOUS
+0
+ENDTAB
+0
+TABLE
+2
+STYLE
+5
+3
+100
+AcDbSymbolTable
+70
+1
+0
+STYLE
+5
+11
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+2
+STANDARD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+VIEW
+5
+6
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+UCS
+5
+7
+100
+AcDbSymbolTable
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+APPID
+5
+9
+100
+AcDbSymbolTable
+70
+2
+0
+APPID
+5
+12
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+2
+ACAD
+70
+0
+0
+ENDTAB
+0
+TABLE
+2
+DIMSTYLE
+5
+A
+100
+AcDbSymbolTable
+70
+1
+0
+ENDTAB
+0
+TABLE
+2
+BLOCK_RECORD
+5
+1
+100
+AcDbSymbolTable
+70
+1
+0
+BLOCK_RECORD
+5
+1F
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*MODEL_SPACE
+0
+BLOCK_RECORD
+5
+1B
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+2
+*PAPER_SPACE
+0
+ENDTAB
+0
+ENDSEC
+0
+SECTION
+2
+BLOCKS
+0
+BLOCK
+5
+20
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*MODEL_SPACE
+0
+ENDBLK
+5
+21
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+BLOCK
+5
+1C
+100
+AcDbEntity
+100
+AcDbBlockBegin
+2
+*PAPER_SPACE
+0
+ENDBLK
+5
+1D
+100
+AcDbEntity
+100
+AcDbBlockEnd
+0
+ENDSEC
+0
+SECTION
+2
+ENTITIES
+0
+CIRCLE
+5
+100
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20
+20
+25
+30
+0
+40
+2.7499999999999991
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+101
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+55
+20
+25
+30
+0
+40
+2.7500000000000036
+210
+0
+220
+0
+230
+1
+0
+CIRCLE
+5
+102
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+35
+20
+25
+30
+0
+40
+2.7499999999999991
+210
+0
+220
+0
+230
+1
+0
+LWPOLYLINE
+5
+103
+100
+AcDbEntity
+8
+0
+100
+AcDbPolyline
+90
+4
+70
+1
+43
+0.0
+10
+10
+20
+35.000000000000007
+10
+10
+20
+15.000000000000004
+10
+65
+20
+15
+10
+65
+20
+35
+0
+CIRCLE
+5
+104
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+35
+20
+25
+30
+0
+40
+2.7499999999999991
+210
+0
+220
+-0
+230
+1
+0
+CIRCLE
+5
+105
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+55
+20
+25
+30
+0
+40
+2.7500000000000036
+210
+0
+220
+-0
+230
+1
+0
+CIRCLE
+5
+106
+100
+AcDbEntity
+8
+0
+100
+AcDbCircle
+10
+20
+20
+25
+30
+0
+40
+2.7499999999999991
+210
+0
+220
+-0
+230
+1
+0
+LWPOLYLINE
+5
+107
+100
+AcDbEntity
+8
+0
+100
+AcDbPolyline
+90
+4
+70
+1
+43
+0.0
+10
+65
+20
+35
+10
+10
+20
+35.000000000000007
+10
+10
+20
+15.000000000000004
+10
+65
+20
+15
+0
+ENDSEC
+0
+SECTION
+2
+OBJECTS
+0
+DICTIONARY
+5
+C
+100
+AcDbDictionary
+3
+ACAD_GROUP
+350
+D
+3
+ACAD_MLINESTYLE
+350
+17
+0
+DICTIONARY
+5
+D
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+1A
+330
+C
+100
+AcDbDictionary
+0
+DICTIONARY
+5
+17
+100
+AcDbDictionary
+0
+ENDSEC
+0
+EOF
diff --git a/serialstep/serialstep-DRV8428P/serialstep-DRV8428P.ino b/serialstep/serialstep-DRV8428P/serialstep-DRV8428P.ino
index 54a9fea28778bf350e526b4ba3cae26f0adbad2a..03fcd528dc4a626be0a4624f7c962b8ede5110e8 100644
--- a/serialstep/serialstep-DRV8428P/serialstep-DRV8428P.ino
+++ b/serialstep/serialstep-DRV8428P/serialstep-DRV8428P.ino
@@ -135,6 +135,19 @@ void step(int val) {
 
 
 void loop() {
+   int i;
+
+   for (i = 0; i < 6400; i++) {
+     step(1);
+     delayMicroseconds(500);
+   }
+
+   for (i = 0; i < 6400; i++) {
+     step(-1);
+     delayMicroseconds(500);
+   }
+   return;
+
    if (SerialUSB.available()) {
       char c = SerialUSB.read();
       if (c == 'f') {
diff --git a/serialstep/serialstep.ino b/serialstep/serialstep.ino
index 7fc05f7ecf1741e50bb02c8ae613f8da2f95731c..0ef89a9c2b596f0c315a2e6b32c29411eef00bc5 100644
--- a/serialstep/serialstep.ino
+++ b/serialstep/serialstep.ino
@@ -50,20 +50,22 @@ void setup() {
    digitalWrite(M1,LOW);
    pinMode(M0,OUTPUT);
    pinMode(M1,OUTPUT);
+   */
    // 1/8 step
    digitalWrite(M0,HIGH);
    digitalWrite(M1,HIGH);
    pinMode(M0,OUTPUT);
    pinMode(M1,OUTPUT);
+   /*
    // 1/16 step
    digitalWrite(M1,HIGH);
    pinMode(M0,INPUT);
    pinMode(M1,OUTPUT);
-   */
    // 1/32 step
    digitalWrite(M0,LOW);
    pinMode(M0,OUTPUT);
    pinMode(M1,INPUT);
+   */
    }
 
 void loop() {
@@ -86,5 +88,8 @@ void loop() {
          int btn = digitalRead(BUTTON);
          SerialUSB.write(btn ? '1' : '0');
          }
+      else if (c == '@') {
+         SerialUSB.write("0000");
+         }
       }
    }