diff --git a/DXF-SCAD-AND-OTHERS/#all.dxf b/DXF-SCAD-AND-OTHERS/#all.dxf deleted file mode 100644 index 847696c..0000000 --- a/DXF-SCAD-AND-OTHERS/#all.dxf +++ /dev/null @@ -1,58394 +0,0 @@ -999 -dxfrw 0.5.11 -0 -SECTION -2 -HEADER -9 -$ACADVER -1 -AC1021 -9 -$HANDSEED -5 -20000 -9 -$DWGCODEPAGE -3 -ANSI_1252 -9 -$INSBASE -10 -0 -20 -0 -30 -0 -9 -$EXTMIN -10 -10000000000 -20 -10000000000 -30 -0 -9 -$EXTMAX -10 --10000000000 -20 --10000000000 -30 -0 -9 -$LIMMIN -10 -0 -20 -0 -9 -$LIMMAX -10 -420 -20 -297 -9 -$ORTHOMODE -70 -0 -9 -$LTSCALE -40 -1 -9 -$TEXTSTYLE -7 -STANDARD -9 -$CLAYER -8 -fix--endstop -9 -$DIMASZ -40 -0.3 -9 -$DIMLFAC -40 -1 -9 -$DIMSCALE -40 -1 -9 -$DIMEXO -40 -2 -9 -$DIMEXE -40 -0.3 -9 -$DIMTXT -40 -0.8 -9 -$DIMTSZ -40 -0 -9 -$DIMAUNIT -70 -0 -9 -$DIMADEC -70 -2 -9 -$DIMLUNIT -70 -2 -9 -$DIMSTYLE -2 -STANDARD -9 -$DIMGAP -40 -0.625 -9 -$DIMTIH -70 -1 -9 -$LUNITS -70 -2 -9 -$LUPREC -70 -4 -9 -$AUNITS -70 -0 -9 -$AUPREC -70 -2 -9 -$SPLINESEGS -70 -8 -9 -$GRIDMODE -70 -1 -9 -$SNAPSTYLE -70 -0 -9 -$GRIDUNIT -10 -0 -20 -0 -9 -$PINSBASE -10 -26.6811117839 -20 -75.7207375169 -30 -0 -9 -$PLIMMIN -10 -0 -20 -0 -9 -$PLIMMAX -10 -297 -20 -210 -9 -$INSUNITS -70 -0 -9 -$PSVPSCALE -40 -1 -0 -ENDSEC -0 -SECTION -2 -CLASSES -0 -ENDSEC -0 -SECTION -2 -TABLES -0 -TABLE -2 -VPORT -5 -8 -330 -0 -100 -AcDbSymbolTable -70 -1 -0 -VPORT -5 -31 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbViewportTableRecord -2 -*ACTIVE -70 -0 -10 -0 -20 -0 -11 -1 -21 -1 -12 -20.0004127188 -22 -6.90661734173 -13 -0 -23 -0 -14 -10 -24 -10 -15 -10 -25 -10 -16 -0 -26 -0 -36 -1 -17 -0 -27 -0 -37 -0 -40 -27.2667497137 -41 -1.672823219 -42 -50 -43 -0 -44 -0 -50 -0 -51 -0 -71 -0 -72 -100 -73 -1 -74 -3 -75 -0 -76 -1 -77 -0 -78 -0 -281 -0 -65 -1 -110 -0 -120 -0 -130 -0 -111 -1 -121 -0 -131 -0 -112 -0 -122 -1 -132 -0 -79 -0 -146 -0 -348 -10020 -60 -7 -61 -5 -292 -1 -282 -1 -141 -0 -142 -0 -63 -250 -421 -3358443 -0 -ENDTAB -0 -TABLE -2 -LTYPE -5 -5 -330 -0 -100 -AcDbSymbolTable -70 -4 -0 -LTYPE -5 -14 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -ByBlock -70 -0 -3 - -72 -65 -73 -0 -40 -0 -0 -LTYPE -5 -15 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -ByLayer -70 -0 -3 - -72 -65 -73 -0 -40 -0 -0 -LTYPE -5 -16 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -Continuous -70 -0 -3 -Solid line -72 -65 -73 -0 -40 -0 -0 -LTYPE -5 -32 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DOT -70 -0 -3 -Dot . . . . . . . . . . . . . . . . . . . . . . -72 -65 -73 -2 -40 -6.35 -49 -0 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -33 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DOT2 -70 -0 -3 -Dot (.5x) ..................................... -72 -65 -73 -2 -40 -3.175 -49 -0 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -34 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DOTX2 -70 -0 -3 -Dot (2x) . . . . . . . . . . . . . -72 -65 -73 -2 -40 -12.7 -49 -0 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -35 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHED -70 -0 -3 -Dot . . . . . . . . . . . . . . . . . . . . . . -72 -65 -73 -2 -40 -19.05 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -36 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHED2 -70 -0 -3 -Dashed (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -72 -65 -73 -2 -40 -9.525 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -37 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHEDX2 -70 -0 -3 -Dashed (2x) ____ ____ ____ ____ ____ ___ -72 -65 -73 -2 -40 -38.1 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -38 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHDOT -70 -0 -3 -Dash dot __ . __ . __ . __ . __ . __ . __ . __ -72 -65 -73 -4 -40 -25.4 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -49 -0 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -39 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHDOT2 -70 -0 -3 -Dash dot (.5x) _._._._._._._._._._._._._._._. -72 -65 -73 -4 -40 -12.7 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -49 -0 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -3A -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHDOTX2 -70 -0 -3 -Dash dot (2x) ____ . ____ . ____ . ___ -72 -65 -73 -4 -40 -50.8 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -49 -0 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -3B -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DIVIDE -70 -0 -3 -Divide ____ . . ____ . . ____ . . ____ . . ____ -72 -65 -73 -6 -40 -31.75 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -49 -0 -74 -0 -49 --6.35 -74 -0 -49 -0 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -3C -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DIVIDE2 -70 -0 -3 -Divide (.5x) __..__..__..__..__..__..__..__.._ -72 -65 -73 -6 -40 -15.875 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -49 -0 -74 -0 -49 --3.175 -74 -0 -49 -0 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -3D -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DIVIDEX2 -70 -0 -3 -Divide (2x) ________ . . ________ . . _ -72 -65 -73 -6 -40 -63.5 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -49 -0 -74 -0 -49 --12.7 -74 -0 -49 -0 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -3E -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BORDER -70 -0 -3 -Border __ __ . __ __ . __ __ . __ __ . __ __ . -72 -65 -73 -6 -40 -44.45 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -49 -0 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -3F -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BORDER2 -70 -0 -3 -Border (.5x) __.__.__.__.__.__.__.__.__.__.__. -72 -65 -73 -6 -40 -22.225 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -49 -0 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -40 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BORDERX2 -70 -0 -3 -Border (2x) ____ ____ . ____ ____ . ___ -72 -65 -73 -6 -40 -88.9 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -49 -0 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -41 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -CENTER -70 -0 -3 -Center ____ _ ____ _ ____ _ ____ _ ____ _ ____ -72 -65 -73 -4 -40 -50.8 -49 -31.75 -74 -0 -49 --6.35 -74 -0 -49 -6.35 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -42 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -CENTER2 -70 -0 -3 -Center (.5x) ___ _ ___ _ ___ _ ___ _ ___ _ ___ -72 -65 -73 -4 -40 -28.575 -49 -19.05 -74 -0 -49 --3.175 -74 -0 -49 -3.175 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -43 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -CENTERX2 -70 -0 -3 -Center (2x) ________ __ ________ __ _____ -72 -65 -73 -4 -40 -101.6 -49 -63.5 -74 -0 -49 --12.7 -74 -0 -49 -12.7 -74 -0 -49 --12.7 -74 -0 -0 -ENDTAB -0 -TABLE -2 -LAYER -5 -2 -330 -0 -100 -AcDbSymbolTable -70 -1 -0 -LAYER -5 -10 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -0 -70 -0 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -44 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Glissement -70 -1 -62 -7 -6 -CONTINUOUS -370 -18 -390 -F -0 -LAYER -5 -45 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Roulements -70 -1 -62 -4 -6 -CONTINUOUS -370 -13 -390 -F -0 -LAYER -5 -46 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -47 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix-NEMA-et-GT2 -70 -1 -62 -4 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -48 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix-NEMA-et-GT2-vues-ortho -70 -1 -62 -4 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -49 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix-mesures-ortho -70 -1 -62 -253 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4A -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix-vues-orthogonales -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4B -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -bar-for-endstop-0-5 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4C -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -bar-for-endstop-5-8 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4D -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -bar-for-endstop-8-15 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4E -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -cadre-glissement -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4F -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -chausson-0-4 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -50 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -cotes -70 -1 -62 -8 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -51 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -default -70 -1 -62 -7 -6 -CONTINUOUS -370 --3 -390 -F -0 -LAYER -5 -52 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -fix--endstop -70 -0 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -53 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -54 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot-cotes -70 -1 -62 -253 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -55 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot-profil-0-4 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -56 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot-profil-4-40 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -57 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot-roulement -70 -1 -62 -96 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -58 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -profil T -70 -1 -62 -4 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -59 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -profil-pour-3d -70 -1 -62 -5 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -5A -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -profil-pour-3d-2 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -5B -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -temp -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -ENDTAB -0 -TABLE -2 -STYLE -5 -3 -330 -0 -100 -AcDbSymbolTable -70 -3 -0 -STYLE -5 -5C -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbTextStyleTableRecord -2 -standard -70 -0 -40 -0 -41 -1 -50 -0 -71 -0 -42 -1 -3 -standard -4 - -0 -ENDTAB -0 -TABLE -2 -VIEW -5 -6 -330 -0 -100 -AcDbSymbolTable -70 -0 -0 -ENDTAB -0 -TABLE -2 -UCS -5 -7 -330 -0 -100 -AcDbSymbolTable -70 -0 -0 -ENDTAB -0 -TABLE -2 -APPID -5 -9 -330 -0 -100 -AcDbSymbolTable -70 -1 -0 -APPID -5 -12 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord -2 -ACAD -70 -0 -0 -ENDTAB -0 -TABLE -2 -DIMSTYLE -5 -A -330 -0 -100 -AcDbSymbolTable -70 -1 -100 -AcDbDimStyleTable -71 -1 -0 -DIMSTYLE -105 -5D -330 -A -100 -AcDbSymbolTableRecord -100 -AcDbDimStyleTableRecord -2 -Standard -70 -0 -40 -1 -41 -0.3 -42 -2 -43 -0.38 -44 -0.3 -45 -0 -46 -0 -47 -0 -48 -0 -140 -0.8 -141 -0.09 -142 -0 -143 -25.4 -144 -1 -145 -0 -146 -1 -147 -0.625 -148 -0 -71 -0 -72 -0 -73 -0 -74 -1 -75 -0 -76 -0 -77 -0 -78 -0 -79 -0 -170 -0 -171 -2 -172 -0 -173 -0 -174 -0 -175 -0 -176 -0 -177 -0 -178 -0 -179 -0 -271 -4 -272 -4 -273 -2 -274 -2 -275 -0 -276 -0 -277 -2 -278 -46 -279 -0 -280 -0 -281 -0 -282 -0 -283 -1 -284 -0 -285 -0 -286 -0 -288 -0 -289 -3 -340 -Standard -341 - -371 --2 -372 --2 -0 -ENDTAB -0 -TABLE -2 -BLOCK_RECORD -5 -1 -330 -0 -100 -AcDbSymbolTable -70 -2 -0 -BLOCK_RECORD -5 -1F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*Model_Space -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*Paper_Space -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -5E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D41 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -61 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D8 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -64 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D78 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -67 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D1 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -6A -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D63 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -6D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D82 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -70 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D53 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -73 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D109 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -76 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D106 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -79 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D102 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -7C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D105 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -7F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D73 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -82 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D29 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -85 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D103 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -88 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D54 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -8B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D11 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -8E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D69 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -91 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D19 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -94 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D81 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -97 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D47 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -9A -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D98 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -9D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D46 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -A0 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D52 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -A3 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D59 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -A6 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D9 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -A9 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D18 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -AC -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D38 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -AF -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D49 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -B2 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D7 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -B5 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D77 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -B8 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D104 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -BB -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D16 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -BE -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D99 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -C1 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D40 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -C4 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D44 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -C7 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D72 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -CA -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D42 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -CD -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D33 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -D0 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D86 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -D3 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D88 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -D6 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D2 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -D9 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D22 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -DC -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D90 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -DF -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D45 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -E2 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D70 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -E5 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D4 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -E8 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D56 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -EB -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D65 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -EE -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D83 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -F1 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D24 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -F4 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D67 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -F7 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D32 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -FA -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D10 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -FD -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D91 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -100 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D84 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -103 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D94 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -106 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D17 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -109 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D101 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -10C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D57 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -10F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D55 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -112 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D64 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -115 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D58 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -118 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D100 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -11B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D71 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -11E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D74 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -121 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D5 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -124 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D34 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -127 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D95 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -12A -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D80 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -12D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D15 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -130 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D13 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -133 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D97 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -136 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D50 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -139 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D61 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -13C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D76 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -13F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D6 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -142 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D27 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -145 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D20 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -148 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D51 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -14B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D31 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -14E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D25 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -151 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D37 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -154 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D36 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -157 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D79 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -15A -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D43 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -15D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D3 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -160 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D89 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -163 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D93 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -166 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D62 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -169 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D35 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -16C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D21 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -16F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D87 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -172 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D39 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -175 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D68 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -178 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D107 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -17B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D28 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -17E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D26 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -181 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D30 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -184 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D108 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -187 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D75 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -18A -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D85 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -18D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D60 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -190 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D92 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -193 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D23 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -196 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D14 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -199 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D110 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -19C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D12 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -19F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D48 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1A2 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D66 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1A5 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D96 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1A8 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -a3 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1AB -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -a3-0 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1AE -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -foot-cotes -70 -0 -280 -1 -281 -0 -0 -ENDTAB -0 -ENDSEC -0 -SECTION -2 -BLOCKS -0 -BLOCK -5 -20 -330 -1F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*Model_Space -70 -0 -10 -0 -20 -0 -30 -0 -3 -*Model_Space -1 - -0 -ENDBLK -5 -21 -330 -1F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1C -330 -1B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*Paper_Space -70 -0 -10 -0 -20 -0 -30 -0 -3 -*Paper_Space -1 - -0 -ENDBLK -5 -1D -330 -1F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -5F -330 -5E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D41 -70 -1 -10 -0 -20 -0 -3 -*D41 -1 - -0 -LINE -5 -1B1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --6.45945945946 -20 --48.4567047713 -11 --12.3900150151 -21 --48.4567047713 -0 -SOLID -5 -1B2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --6.45945945946 -20 --48.4567047713 -30 -0 -11 --6.75945945946 -21 --48.5066589302 -31 -0 -12 --6.75945945946 -22 --48.4067506124 -32 -0 -13 --6.75945945946 -23 --48.4067506124 -33 -0 -0 -SOLID -5 -1B3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --20.4594594595 -20 --48.4567047713 -30 -0 -11 --20.1594594595 -21 --48.4067506124 -31 -0 -12 --20.1594594595 -22 --48.5066589302 -32 -0 -13 --20.1594594595 -23 --48.5066589302 -33 -0 -0 -LINE -5 -1B4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --14.5289039039 -20 --48.4567047713 -11 --20.4594594595 -21 --48.4567047713 -0 -MTEXT -5 -1B5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --13.4594594595 -20 --48.4567047713 -30 -0 -40 -0.8 -41 -0.888888888889 -71 -5 -72 -1 -1 -14 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1B6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --6.45945945946 -20 --66.8175675676 -11 --6.45945945946 -21 --48.1567047713 -0 -LINE -5 -1B7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --20.4594594595 -20 --66.8175675676 -11 --20.4594594595 -21 --48.1567047713 -0 -ENDBLK -5 -60 -330 -5E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -62 -330 -61 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D8 -70 -1 -10 -0 -20 -0 -3 -*D8 -1 - -0 -LINE -5 -1B8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -42.5000003098 -20 -46.1646667417 -11 -43.197222532 -21 -46.1646667417 -0 -SOLID -5 -1B9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -42.5000003098 -20 -46.1646667417 -30 -0 -11 -42.8000003098 -21 -46.2146209006 -31 -0 -12 -42.8000003098 -22 -46.1147125828 -32 -0 -13 -42.8000003098 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -1BA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -45.5000003098 -20 -46.1646667417 -30 -0 -11 -45.2000003098 -21 -46.1147125828 -31 -0 -12 -45.2000003098 -22 -46.2146209006 -32 -0 -13 -45.2000003098 -23 -46.2146209006 -33 -0 -0 -LINE -5 -1BB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -44.8027780876 -20 -46.1646667417 -11 -45.5000003098 -21 -46.1646667417 -0 -MTEXT -5 -1BC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -44.0000003098 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1BD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -42.5000003098 -20 -43.0999997297 -11 -42.5000003098 -21 -46.4646667417 -0 -LINE -5 -1BE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -45.5000003098 -20 -43.0999997047 -11 -45.5000003098 -21 -46.4646667417 -0 -ENDBLK -5 -63 -330 -61 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -65 -330 -64 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D78 -70 -1 -10 -0 -20 -0 -3 -*D78 -1 - -0 -LINE -5 -1BF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -74.9667127669 -20 --120.477784531 -11 -74.9667127669 -21 --120.702784531 -0 -SOLID -5 -1C0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -74.9667127669 -20 --120.477784531 -30 -0 -11 -75.0166669258 -21 --120.777784531 -31 -0 -12 -74.916758608 -22 --120.777784531 -32 -0 -13 -74.916758608 -23 --120.777784531 -33 -0 -0 -SOLID -5 -1C1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -74.9667127669 -20 --122.977784531 -30 -0 -11 -74.916758608 -21 --122.677784531 -31 -0 -12 -75.0166669258 -22 --122.677784531 -32 -0 -13 -75.0166669258 -23 --122.677784531 -33 -0 -0 -LINE -5 -1C2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -74.9667127669 -20 --122.752784531 -11 -74.9667127669 -21 --122.977784531 -0 -MTEXT -5 -1C3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -74.9667127669 -20 --121.727784531 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1C4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --120.477784531 -11 -74.6667127669 -21 --120.477784531 -0 -LINE -5 -1C5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --122.977784531 -11 -74.6667127669 -21 --122.977784531 -0 -ENDBLK -5 -66 -330 -64 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -68 -330 -67 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D1 -70 -1 -10 -0 -20 -0 -3 -*D1 -1 - -0 -LINE -5 -1C6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --15 -20 -43.9593482668 -11 -8.88611125141 -21 -43.9593482668 -0 -SOLID -5 -1C7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --15 -20 -43.9593482668 -30 -0 -11 --14.7 -21 -44.0093024257 -31 -0 -12 --14.7 -22 -43.9093941079 -32 -0 -13 --14.7 -23 -43.9093941079 -33 -0 -0 -SOLID -5 -1C8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -35.0000002806 -20 -43.9593482668 -30 -0 -11 -34.7000002806 -21 -43.9093941079 -31 -0 -12 -34.7000002806 -22 -44.0093024257 -32 -0 -13 -34.7000002806 -23 -44.0093024257 -33 -0 -0 -LINE -5 -1C9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.1138890292 -20 -43.9593482668 -11 -35.0000002806 -21 -43.9593482668 -0 -MTEXT -5 -1CA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10.0000001403 -20 -43.9593482668 -30 -0 -40 -0.8 -41 -0.977777777778 -71 -5 -72 -1 -1 -50 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1CB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --15 -20 -39.6 -11 --15 -21 -44.2593482668 -0 -LINE -5 -1CC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -35.0000002806 -20 -39.5999997921 -11 -35.0000002806 -21 -44.2593482668 -0 -ENDBLK -5 -69 -330 -67 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -6B -330 -6A -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D63 -70 -1 -10 -0 -20 -0 -3 -*D63 -1 - -0 -LINE -5 -1CD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -67.4667127669 -20 --55.4713917385 -11 -76.9417127669 -21 --55.4713917385 -0 -SOLID -5 -1CE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -67.4667127669 -20 --55.4713917385 -30 -0 -11 -67.7667127669 -21 --55.4214375796 -31 -0 -12 -67.7667127669 -22 --55.5213458974 -32 -0 -13 -67.7667127669 -23 --55.5213458974 -33 -0 -0 -SOLID -5 -1CF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -88.4667127669 -20 --55.4713917385 -30 -0 -11 -88.1667127669 -21 --55.5213458974 -31 -0 -12 -88.1667127669 -22 --55.4214375796 -32 -0 -13 -88.1667127669 -23 --55.4214375796 -33 -0 -0 -LINE -5 -1D0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.9917127669 -20 --55.4713917385 -11 -88.4667127669 -21 --55.4713917385 -0 -MTEXT -5 -1D1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -77.9667127669 -20 --55.4713917385 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -21 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1D2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -67.4667127669 -20 --61.877784531 -11 -67.4667127669 -21 --55.1713917385 -0 -LINE -5 -1D3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.4667127669 -20 --61.877784531 -11 -88.4667127669 -21 --55.1713917385 -0 -ENDBLK -5 -6C -330 -6A -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -6E -330 -6D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D82 -70 -1 -10 -0 -20 -0 -3 -*D82 -1 - -0 -LINE -5 -1D4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.29478994918 -20 -60.9999999688 -11 --7.29478994918 -21 -53.0249999605 -0 -SOLID -5 -1D5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.29478994918 -20 -60.9999999688 -30 -0 -11 --7.24483579025 -21 -60.6999999688 -31 -0 -12 --7.34474410811 -22 -60.6999999688 -32 -0 -13 --7.34474410811 -23 -60.6999999688 -33 -0 -0 -SOLID -5 -1D6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.29478994918 -20 -42.9999999522 -30 -0 -11 --7.34474410811 -21 -43.2999999522 -31 -0 -12 --7.24483579025 -22 -43.2999999522 -32 -0 -13 --7.24483579025 -23 -43.2999999522 -33 -0 -0 -LINE -5 -1D7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.29478994918 -20 -50.9749999605 -11 --7.29478994918 -21 -42.9999999522 -0 -MTEXT -5 -1D8 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --7.29478994918 -20 -51.9999999605 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -18 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1D9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000012071 -20 -60.9999999688 -11 --7.59478994918 -21 -60.9999999688 -0 -LINE -5 -1DA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000004579 -20 -42.9999999522 -11 --7.59478994918 -21 -42.9999999522 -0 -ENDBLK -5 -6F -330 -6D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -71 -330 -70 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D53 -70 -1 -10 -0 -20 -0 -3 -*D53 -1 - -0 -LINE -5 -1DB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -82.4462495497 -11 -50.0719282636 -21 -86.4212495497 -0 -SOLID -5 -1DC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -82.4462495497 -30 -0 -11 -50.0219741047 -21 -82.7462495497 -31 -0 -12 -50.1218824225 -22 -82.7462495497 -32 -0 -13 -50.1218824225 -23 -82.7462495497 -33 -0 -0 -SOLID -5 -1DD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -92.4462495497 -30 -0 -11 -50.1218824225 -21 -92.1462495497 -31 -0 -12 -50.0219741047 -22 -92.1462495497 -32 -0 -13 -50.0219741047 -23 -92.1462495497 -33 -0 -0 -LINE -5 -1DE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -88.4712495497 -11 -50.0719282636 -21 -92.4462495497 -0 -MTEXT -5 -1DF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -49.0469282636 -20 -87.4462495497 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1E0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -47.5000005039 -20 -82.4462495497 -11 -50.3719282636 -21 -82.4462495497 -0 -LINE -5 -1E1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -47.5000005039 -20 -92.4462495497 -11 -50.3719282636 -21 -92.4462495497 -0 -ENDBLK -5 -72 -330 -70 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -74 -330 -73 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D109 -70 -1 -10 -0 -20 -0 -3 -*D109 -1 - -0 -LINE -5 -1E2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -137.750000121 -20 -63.7501208602 -11 -139.693055616 -21 -63.7501208602 -0 -SOLID -5 -1E3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -137.750000121 -20 -63.7501208602 -30 -0 -11 -138.050000121 -21 -63.8000750191 -31 -0 -12 -138.050000121 -22 -63.7001667013 -32 -0 -13 -138.050000121 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -1E4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -145.375 -20 -63.7501208602 -30 -0 -11 -145.075 -21 -63.7001667013 -31 -0 -12 -145.075 -22 -63.8000750191 -32 -0 -13 -145.075 -23 -63.8000750191 -33 -0 -0 -LINE -5 -1E5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -143.431944504 -20 -63.7501208602 -11 -145.375 -21 -63.7501208602 -0 -MTEXT -5 -1E6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -141.56250006 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -2.48888888889 -71 -5 -72 -1 -1 -7.625 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1E7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -137.750000121 -20 -62.9999999064 -11 -137.750000121 -21 -64.0501208602 -0 -LINE -5 -1E8 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -145.375 -20 -27.125 -11 -145.375 -21 -64.0501208602 -0 -ENDBLK -5 -75 -330 -73 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -77 -330 -76 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D106 -70 -1 -10 -0 -20 -0 -3 -*D106 -1 - -0 -LINE -5 -1E9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -115.125 -20 -63.7501208602 -11 -117.068055616 -21 -63.7501208602 -0 -SOLID -5 -1EA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -115.125 -20 -63.7501208602 -30 -0 -11 -115.425 -21 -63.8000750191 -31 -0 -12 -115.425 -22 -63.7001667013 -32 -0 -13 -115.425 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -1EB -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -122.750000121 -20 -63.7501208602 -30 -0 -11 -122.450000121 -21 -63.7001667013 -31 -0 -12 -122.450000121 -22 -63.8000750191 -32 -0 -13 -122.450000121 -23 -63.8000750191 -33 -0 -0 -LINE -5 -1EC -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -120.806944504 -20 -63.7501208602 -11 -122.750000121 -21 -63.7501208602 -0 -MTEXT -5 -1ED -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -118.93750006 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -2.48888888889 -71 -5 -72 -1 -1 -7.625 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1EE -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -115.125 -20 -27.125 -11 -115.125 -21 -64.0501208602 -0 -LINE -5 -1EF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -122.750000121 -20 -62.9999999688 -11 -122.750000121 -21 -64.0501208602 -0 -ENDBLK -5 -78 -330 -76 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -7A -330 -79 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D102 -70 -1 -10 -0 -20 -0 -3 -*D102 -1 - -0 -LINE -5 -1F0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -54.1249998732 -20 -63.7501208602 -11 -61.0999999366 -21 -63.7501208602 -0 -SOLID -5 -1F1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -54.1249998732 -20 -63.7501208602 -30 -0 -11 -54.4249998732 -21 -63.8000750191 -31 -0 -12 -54.4249998732 -22 -63.7001667013 -32 -0 -13 -54.4249998732 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -1F2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -70.125 -20 -63.7501208602 -30 -0 -11 -69.825 -21 -63.7001667013 -31 -0 -12 -69.825 -22 -63.8000750191 -32 -0 -13 -69.825 -23 -63.8000750191 -33 -0 -0 -LINE -5 -1F3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -63.1499999366 -20 -63.7501208602 -11 -70.125 -21 -63.7501208602 -0 -MTEXT -5 -1F4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -62.1249999366 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -16 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1F5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -54.1249998732 -20 -56.9999997539 -11 -54.1249998732 -21 -64.0501208602 -0 -LINE -5 -1F6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.125 -20 -44.999999923 -11 -70.125 -21 -64.0501208602 -0 -ENDBLK -5 -7B -330 -79 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -7D -330 -7C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D105 -70 -1 -10 -0 -20 -0 -3 -*D105 -1 - -0 -LINE -5 -1F7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.125 -20 -67.8732630054 -11 -68.9666666667 -21 -67.8732630054 -0 -SOLID -5 -1F8 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.125 -20 -67.8732630054 -30 -0 -11 -50.425 -21 -67.9232171643 -31 -0 -12 -50.425 -22 -67.8233088465 -32 -0 -13 -50.425 -23 -67.8233088465 -33 -0 -0 -SOLID -5 -1F9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.125 -20 -67.8732630054 -30 -0 -11 -89.825 -21 -67.8233088465 -31 -0 -12 -89.825 -22 -67.9232171643 -32 -0 -13 -89.825 -23 -67.9232171643 -33 -0 -0 -LINE -5 -1FA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -71.2833333333 -20 -67.8732630054 -11 -90.125 -21 -67.8732630054 -0 -MTEXT -5 -1FB -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -70.125 -20 -67.8732630054 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -40 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1FC -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.125 -20 -45.0000003999 -11 -50.125 -21 -68.1732630054 -0 -LINE -5 -1FD -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.125 -20 -56.9999996041 -11 -90.125 -21 -68.1732630054 -0 -ENDBLK -5 -7E -330 -7C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -80 -330 -7F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D73 -70 -1 -10 -0 -20 -0 -3 -*D73 -1 - -0 -LINE -5 -1FE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --96.377784531 -11 -76.9417127669 -21 --96.377784531 -0 -SOLID -5 -1FF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.9667127669 -20 --96.377784531 -30 -0 -11 -73.2667127669 -21 --96.3278303721 -31 -0 -12 -73.2667127669 -22 --96.4277386899 -32 -0 -13 -73.2667127669 -23 --96.4277386899 -33 -0 -0 -SOLID -5 -200 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -82.9667127669 -20 --96.377784531 -30 -0 -11 -82.6667127669 -21 --96.4277386899 -31 -0 -12 -82.6667127669 -22 --96.3278303721 -32 -0 -13 -82.6667127669 -23 --96.3278303721 -33 -0 -0 -LINE -5 -201 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.9917127669 -20 --96.377784531 -11 -82.9667127669 -21 --96.377784531 -0 -MTEXT -5 -202 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -77.9667127669 -20 --96.377784531 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -203 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --94.377784531 -11 -72.9667127669 -21 --96.077784531 -0 -LINE -5 -204 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.9667127669 -20 --94.377784531 -11 -82.9667127669 -21 --96.077784531 -0 -ENDBLK -5 -81 -330 -7F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -83 -330 -82 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D29 -70 -1 -10 -0 -20 -0 -3 -*D29 -1 - -0 -LINE -5 -205 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -25.0637498916 -11 -121.702603419 -21 -20.2431249458 -0 -SOLID -5 -206 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -25.0637498916 -30 -0 -11 -121.752557578 -21 -24.7637498916 -31 -0 -12 -121.65264926 -22 -24.7637498916 -32 -0 -13 -121.65264926 -23 -24.7637498916 -33 -0 -0 -SOLID -5 -207 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -13.3725 -30 -0 -11 -121.65264926 -21 -13.6725 -31 -0 -12 -121.752557578 -22 -13.6725 -32 -0 -13 -121.752557578 -23 -13.6725 -33 -0 -0 -LINE -5 -208 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -18.1931249458 -11 -121.702603419 -21 -13.3725 -0 -MTEXT -5 -209 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -121.702603419 -20 -19.2181249458 -30 -0 -40 -0.8 -41 -3.2 -71 -5 -72 -1 -1 -11.6912 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -20A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -104.500000241 -20 -25.0637498916 -11 -122.002603419 -21 -25.0637498916 -0 -LINE -5 -20B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000001944 -20 -13.3725 -11 -122.002603419 -21 -13.3725 -0 -ENDBLK -5 -84 -330 -82 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -86 -330 -85 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D103 -70 -1 -10 -0 -20 -0 -3 -*D103 -1 - -0 -LINE -5 -20C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.125 -20 -63.7501208602 -11 -77.1 -21 -63.7501208602 -0 -SOLID -5 -20D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -70.125 -20 -63.7501208602 -30 -0 -11 -70.425 -21 -63.8000750191 -31 -0 -12 -70.425 -22 -63.7001667013 -32 -0 -13 -70.425 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -20E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -86.125 -20 -63.7501208602 -30 -0 -11 -85.825 -21 -63.7001667013 -31 -0 -12 -85.825 -22 -63.8000750191 -32 -0 -13 -85.825 -23 -63.8000750191 -33 -0 -0 -LINE -5 -20F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -79.15 -20 -63.7501208602 -11 -86.125 -21 -63.7501208602 -0 -MTEXT -5 -210 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -78.125 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -16 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -211 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.125 -20 -44.999999923 -11 -70.125 -21 -64.0501208602 -0 -LINE -5 -212 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -86.125 -20 -62.9999996207 -11 -86.125 -21 -64.0501208602 -0 -ENDBLK -5 -87 -330 -85 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -89 -330 -88 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D54 -70 -1 -10 -0 -20 -0 -3 -*D54 -1 - -0 -LINE -5 -213 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -70.4462495497 -11 -50.0719282636 -21 -67.4462495497 -0 -SOLID -5 -214 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -70.4462495497 -30 -0 -11 -50.1218824225 -21 -70.1462495497 -31 -0 -12 -50.0219741047 -22 -70.1462495497 -32 -0 -13 -50.0219741047 -23 -70.1462495497 -33 -0 -0 -SOLID -5 -215 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -67.4462495497 -30 -0 -11 -50.0219741047 -21 -67.7462495497 -31 -0 -12 -50.1218824225 -22 -67.7462495497 -32 -0 -13 -50.1218824225 -23 -67.7462495497 -33 -0 -0 -MTEXT -5 -216 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -49.0469282636 -20 -68.9462495497 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -217 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -70.4462495497 -11 -50.3719282636 -21 -70.4462495497 -0 -LINE -5 -218 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -67.4462495497 -11 -50.3719282636 -21 -67.4462495497 -0 -ENDBLK -5 -8A -330 -88 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -8C -330 -8B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D11 -70 -1 -10 -0 -20 -0 -3 -*D11 -1 - -0 -LINE -5 -219 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --1 -20 -41.1 -11 --1 -21 -39.075 -0 -SOLID -5 -21A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --1 -20 -41.1 -30 -0 -11 --0.950045841067 -21 -40.8 -31 -0 -12 --1.04995415893 -22 -40.8 -32 -0 -13 --1.04995415893 -23 -40.8 -33 -0 -0 -SOLID -5 -21B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --1 -20 -35 -30 -0 -11 --1.04995415893 -21 -35.3 -31 -0 -12 --0.950045841067 -22 -35.3 -32 -0 -13 --0.950045841067 -23 -35.3 -33 -0 -0 -LINE -5 -21C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --1 -20 -37.025 -11 --1 -21 -35 -0 -MTEXT -5 -21D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --1 -20 -38.05 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -6.1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -21E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --3 -20 -41.1 -11 --0.7 -21 -41.1 -0 -LINE -5 -21F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --3 -20 -35 -11 --0.7 -21 -35 -0 -ENDBLK -5 -8D -330 -8B -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -8F -330 -8E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D69 -70 -1 -10 -0 -20 -0 -3 -*D69 -1 - -0 -LINE -5 -220 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --91.377784531 -11 -185.339708867 -21 --89.902784531 -0 -SOLID -5 -221 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --91.377784531 -30 -0 -11 -185.289754708 -21 --91.077784531 -31 -0 -12 -185.389663026 -22 --91.077784531 -32 -0 -13 -185.389663026 -23 --91.077784531 -33 -0 -0 -SOLID -5 -222 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --86.377784531 -30 -0 -11 -185.389663026 -21 --86.677784531 -31 -0 -12 -185.289754708 -22 --86.677784531 -32 -0 -13 -185.289754708 -23 --86.677784531 -33 -0 -0 -LINE -5 -223 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --87.852784531 -11 -185.339708867 -21 --86.377784531 -0 -MTEXT -5 -224 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --88.877784531 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -225 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -170.966712767 -20 --91.377784531 -11 -185.639708867 -21 --91.377784531 -0 -LINE -5 -226 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --86.377784531 -11 -185.639708867 -21 --86.377784531 -0 -ENDBLK -5 -90 -330 -8E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -92 -330 -91 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D19 -70 -1 -10 -0 -20 -0 -3 -*D19 -1 - -0 -LINE -5 -227 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -31 -11 -23 -21 -31.9749999376 -0 -SOLID -5 -228 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -31 -30 -0 -11 -22.9500458411 -21 -31.3 -31 -0 -12 -23.0499541589 -22 -31.3 -32 -0 -13 -23.0499541589 -23 -31.3 -33 -0 -0 -SOLID -5 -229 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -34.9999998752 -30 -0 -11 -23.0499541589 -21 -34.6999998752 -31 -0 -12 -22.9500458411 -22 -34.6999998752 -32 -0 -13 -22.9500458411 -23 -34.6999998752 -33 -0 -0 -LINE -5 -22A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -34.0249999376 -11 -23 -21 -34.9999998752 -0 -MTEXT -5 -22B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -32.9999999376 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -22C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -31 -11 -23.3 -21 -31 -0 -LINE -5 -22D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.000000259 -20 -34.9999998752 -11 -23.3 -21 -34.9999998752 -0 -ENDBLK -5 -93 -330 -91 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -95 -330 -94 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D81 -70 -1 -10 -0 -20 -0 -3 -*D81 -1 - -0 -LINE -5 -22E -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --77.675 -20 -51.3599999008 -11 --69.1291666667 -21 -51.3599999008 -0 -SOLID -5 -22F -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --77.675 -20 -51.3599999008 -30 -0 -11 --77.375 -21 -51.4099540597 -31 -0 -12 --77.375 -22 -51.3100457419 -32 -0 -13 --77.375 -23 -51.3100457419 -33 -0 -0 -SOLID -5 -230 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --56.4 -20 -51.3599999008 -30 -0 -11 --56.7 -21 -51.3100457419 -31 -0 -12 --56.7 -22 -51.4099540597 -32 -0 -13 --56.7 -23 -51.4099540597 -33 -0 -0 -LINE -5 -231 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --64.9458333333 -20 -51.3599999008 -11 --56.4 -21 -51.3599999008 -0 -MTEXT -5 -232 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --67.0375 -20 -51.3599999008 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -21.275 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -233 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --77.675 -20 -26.5549999504 -11 --77.675 -21 -51.6599999008 -0 -LINE -5 -234 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --56.4 -20 -53.3599999008 -11 --56.4 -21 -51.6599999008 -0 -ENDBLK -5 -96 -330 -94 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -98 -330 -97 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D47 -70 -1 -10 -0 -20 -0 -3 -*D47 -1 - -0 -LINE -5 -235 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -28.5 -11 -19.5 -21 -25.5 -0 -SOLID -5 -236 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -28.5 -30 -0 -11 -19.5499541589 -21 -28.2 -31 -0 -12 -19.4500458411 -22 -28.2 -32 -0 -13 -19.4500458411 -23 -28.2 -33 -0 -0 -SOLID -5 -237 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -25.5 -30 -0 -11 -19.4500458411 -21 -25.8 -31 -0 -12 -19.5499541589 -22 -25.8 -32 -0 -13 -19.5499541589 -23 -25.8 -33 -0 -0 -MTEXT -5 -238 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18.475 -20 -27 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -239 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -28.5 -11 -19.8 -21 -28.5 -0 -LINE -5 -23A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -25.5 -11 -19.8 -21 -25.5 -0 -ENDBLK -5 -99 -330 -97 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -9B -330 -9A -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D98 -70 -1 -10 -0 -20 -0 -3 -*D98 -1 - -0 -LINE -5 -23B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.125 -20 --7.8656865539 -11 -22.3180555556 -21 --7.8656865539 -0 -SOLID -5 -23C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.125 -20 --7.8656865539 -30 -0 -11 -24.825 -21 --7.91564071283 -31 -0 -12 -24.825 -22 --7.81573239497 -32 -0 -13 -24.825 -23 --7.81573239497 -33 -0 -0 -SOLID -5 -23D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -15.95 -20 --7.8656865539 -30 -0 -11 -16.25 -21 --7.81573239497 -31 -0 -12 -16.25 -22 --7.91564071283 -32 -0 -13 -16.25 -23 --7.91564071283 -33 -0 -0 -LINE -5 -23E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18.7569444444 -20 --7.8656865539 -11 -15.95 -21 --7.8656865539 -0 -MTEXT -5 -23F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -20.5375 -20 --7.8656865539 -30 -0 -40 -0.8 -41 -2.31111111111 -71 -5 -72 -1 -1 -9.175 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -240 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.125 -20 -11.3 -11 -25.125 -21 --8.1656865539 -0 -LINE -5 -241 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15.95 -20 --7.125 -11 -15.95 -21 --8.1656865539 -0 -ENDBLK -5 -9C -330 -9A -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -9E -330 -9D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D46 -70 -1 -10 -0 -20 -0 -3 -*D46 -1 - -0 -LINE -5 -242 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -34.9999999147 -11 -19.5 -21 -31 -0 -SOLID -5 -243 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -34.9999999147 -30 -0 -11 -19.5499541589 -21 -34.6999999147 -31 -0 -12 -19.4500458411 -22 -34.6999999147 -32 -0 -13 -19.4500458411 -23 -34.6999999147 -33 -0 -0 -SOLID -5 -244 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -31 -30 -0 -11 -19.4500458411 -21 -31.3 -31 -0 -12 -19.5499541589 -22 -31.3 -32 -0 -13 -19.5499541589 -23 -31.3 -33 -0 -0 -MTEXT -5 -245 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18.475 -20 -32.9999999573 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -246 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -34.9999999147 -11 -19.8 -21 -34.9999999147 -0 -LINE -5 -247 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -31 -11 -19.8 -21 -31 -0 -ENDBLK -5 -9F -330 -9D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -A1 -330 -A0 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D52 -70 -1 -10 -0 -20 -0 -3 -*D52 -1 - -0 -LINE -5 -248 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -73.4462495497 -11 -50.0719282636 -21 -82.4462495497 -0 -SOLID -5 -249 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -73.4462495497 -30 -0 -11 -50.0219741047 -21 -73.7462495497 -31 -0 -12 -50.1218824225 -22 -73.7462495497 -32 -0 -13 -50.1218824225 -23 -73.7462495497 -33 -0 -0 -SOLID -5 -24A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -82.4462495497 -30 -0 -11 -50.1218824225 -21 -82.1462495497 -31 -0 -12 -50.0219741047 -22 -82.1462495497 -32 -0 -13 -50.0219741047 -23 -82.1462495497 -33 -0 -0 -MTEXT -5 -24B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -49.0469282636 -20 -77.9462495497 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -9 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -24C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -73.4462495497 -11 -50.3719282636 -21 -73.4462495497 -0 -LINE -5 -24D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -47.5000005039 -20 -82.4462495497 -11 -50.3719282636 -21 -82.4462495497 -0 -ENDBLK -5 -A2 -330 -A0 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -A4 -330 -A3 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D59 -70 -1 -10 -0 -20 -0 -3 -*D59 -1 - -0 -LINE -5 -24E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -67.4667127669 -20 --60.9097634776 -11 -68.1639349891 -21 --60.9097634776 -0 -SOLID -5 -24F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -67.4667127669 -20 --60.9097634776 -30 -0 -11 -67.7667127669 -21 --60.8598093187 -31 -0 -12 -67.7667127669 -22 --60.9597176365 -32 -0 -13 -67.7667127669 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -250 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -70.4667127669 -20 --60.9097634776 -30 -0 -11 -70.1667127669 -21 --60.9597176365 -31 -0 -12 -70.1667127669 -22 --60.8598093187 -32 -0 -13 -70.1667127669 -23 --60.8598093187 -33 -0 -0 -LINE -5 -251 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -69.7694905447 -20 --60.9097634776 -11 -70.4667127669 -21 --60.9097634776 -0 -MTEXT -5 -252 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -68.9667127669 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -253 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -67.4667127669 -20 --61.877784531 -11 -67.4667127669 -21 --60.6097634776 -0 -LINE -5 -254 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.4667127669 -20 --61.877784531 -11 -70.4667127669 -21 --60.6097634776 -0 -ENDBLK -5 -A5 -330 -A3 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -A7 -330 -A6 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D9 -70 -1 -10 -0 -20 -0 -3 -*D9 -1 - -0 -LINE -5 -255 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --25.5 -20 -49.3256232224 -11 -8.9750001549 -21 -49.3256232224 -0 -SOLID -5 -256 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --25.5 -20 -49.3256232224 -30 -0 -11 --25.2 -21 -49.3755773813 -31 -0 -12 --25.2 -22 -49.2756690635 -32 -0 -13 --25.2 -23 -49.2756690635 -33 -0 -0 -SOLID -5 -257 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -45.5000003098 -20 -49.3256232224 -30 -0 -11 -45.2000003098 -21 -49.2756690635 -31 -0 -12 -45.2000003098 -22 -49.3755773813 -32 -0 -13 -45.2000003098 -23 -49.3755773813 -33 -0 -0 -LINE -5 -258 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.0250001549 -20 -49.3256232224 -11 -45.5000003098 -21 -49.3256232224 -0 -MTEXT -5 -259 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10.0000001549 -20 -49.3256232224 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -71 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -25A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --25.5 -20 -43.1 -11 --25.5 -21 -49.6256232224 -0 -LINE -5 -25B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -45.5000003098 -20 -43.0999997047 -11 -45.5000003098 -21 -49.6256232224 -0 -ENDBLK -5 -A8 -330 -A6 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -AA -330 -A9 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D18 -70 -1 -10 -0 -20 -0 -3 -*D18 -1 - -0 -LINE -5 -25C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -13.3775 -20 -2 -11 -10.75 -21 -2 -0 -SOLID -5 -25D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -13.3775 -20 -2 -30 -0 -11 -13.0775 -21 -1.95004584107 -31 -0 -12 -13.0775 -22 -2.04995415893 -32 -0 -13 -13.0775 -23 -2.04995415893 -33 -0 -0 -SOLID -5 -25E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10.75 -20 -2 -30 -0 -11 -11.05 -21 -2.04995415893 -31 -0 -12 -11.05 -22 -1.95004584107 -32 -0 -13 -11.05 -23 -1.95004584107 -33 -0 -0 -MTEXT -5 -25F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -15.5580555556 -20 -2 -30 -0 -40 -0.8 -41 -3.11111111111 -71 -5 -72 -1 -1 -2.6275 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -260 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -13.3775 -20 -4.18625 -11 -13.3775 -21 -1.7 -0 -LINE -5 -261 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.75 -20 -7.25 -11 -10.75 -21 -1.7 -0 -ENDBLK -5 -AB -330 -A9 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -AD -330 -AC -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D38 -70 -1 -10 -0 -20 -0 -3 -*D38 -1 - -0 -LINE -5 -262 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --68.8175675676 -11 --26.2473817511 -21 --71.7925675676 -0 -SOLID -5 -263 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --68.8175675676 -30 -0 -11 --26.1974275922 -21 --69.1175675676 -31 -0 -12 --26.29733591 -22 --69.1175675676 -32 -0 -13 --26.29733591 -23 --69.1175675676 -33 -0 -0 -SOLID -5 -264 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --76.8175675676 -30 -0 -11 --26.29733591 -21 --76.5175675676 -31 -0 -12 --26.1974275922 -22 --76.5175675676 -32 -0 -13 --26.1974275922 -23 --76.5175675676 -33 -0 -0 -LINE -5 -265 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --73.8425675676 -11 --26.2473817511 -21 --76.8175675676 -0 -MTEXT -5 -266 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --26.2473817511 -20 --72.8175675676 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -8 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -267 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.4594594595 -20 --68.8175675676 -11 --26.5473817511 -21 --68.8175675676 -0 -LINE -5 -268 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.4594594595 -20 --76.8175675676 -11 --26.5473817511 -21 --76.8175675676 -0 -ENDBLK -5 -AE -330 -AC -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -B0 -330 -AF -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D49 -70 -1 -10 -0 -20 -0 -3 -*D49 -1 - -0 -LINE -5 -269 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -28.5 -11 -19.5 -21 -28.725 -0 -SOLID -5 -26A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -28.5 -30 -0 -11 -19.4500458411 -21 -28.8 -31 -0 -12 -19.5499541589 -22 -28.8 -32 -0 -13 -19.5499541589 -23 -28.8 -33 -0 -0 -SOLID -5 -26B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -31 -30 -0 -11 -19.5499541589 -21 -30.7 -31 -0 -12 -19.4500458411 -22 -30.7 -32 -0 -13 -19.4500458411 -23 -30.7 -33 -0 -0 -LINE -5 -26C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -30.775 -11 -19.5 -21 -31 -0 -MTEXT -5 -26D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18.475 -20 -29.75 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -26E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -28.5 -11 -19.8 -21 -28.5 -0 -LINE -5 -26F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -31 -11 -19.8 -21 -31 -0 -ENDBLK -5 -B1 -330 -AF -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -B3 -330 -B2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D7 -70 -1 -10 -0 -20 -0 -3 -*D7 -1 - -0 -LINE -5 -270 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -46.1646667417 -11 -33.9750003098 -21 -46.1646667417 -0 -SOLID -5 -271 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -27.5000003098 -20 -46.1646667417 -30 -0 -11 -27.8000003098 -21 -46.2146209006 -31 -0 -12 -27.8000003098 -22 -46.1147125828 -32 -0 -13 -27.8000003098 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -272 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -42.5000003098 -20 -46.1646667417 -30 -0 -11 -42.2000003098 -21 -46.1147125828 -31 -0 -12 -42.2000003098 -22 -46.2146209006 -32 -0 -13 -42.2000003098 -23 -46.2146209006 -33 -0 -0 -LINE -5 -273 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -36.0250003098 -20 -46.1646667417 -11 -42.5000003098 -21 -46.1646667417 -0 -MTEXT -5 -274 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -35.0000003098 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -275 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -43.0999998544 -11 -27.5000003098 -21 -46.4646667417 -0 -LINE -5 -276 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -42.5000003098 -20 -43.0999997297 -11 -42.5000003098 -21 -46.4646667417 -0 -ENDBLK -5 -B4 -330 -B2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -B6 -330 -B5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D77 -70 -1 -10 -0 -20 -0 -3 -*D77 -1 - -0 -LINE -5 -277 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.9667127669 -20 --121.377784531 -11 -82.9667127669 -21 --122.977784531 -0 -SOLID -5 -278 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -82.9667127669 -20 --121.377784531 -30 -0 -11 -83.0166669258 -21 --121.677784531 -31 -0 -12 -82.916758608 -22 --121.677784531 -32 -0 -13 -82.916758608 -23 --121.677784531 -33 -0 -0 -SOLID -5 -279 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -82.9667127669 -20 --122.977784531 -30 -0 -11 -82.916758608 -21 --122.677784531 -31 -0 -12 -83.0166669258 -22 --122.677784531 -32 -0 -13 -83.0166669258 -23 --122.677784531 -33 -0 -0 -MTEXT -5 -27A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -82.9667127669 -20 --122.177784531 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -1.6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -27B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -84.9667127669 -20 --121.377784531 -11 -83.2667127669 -21 --121.377784531 -0 -LINE -5 -27C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.9667127669 -20 --122.977784531 -11 -83.2667127669 -21 --122.977784531 -0 -ENDBLK -5 -B7 -330 -B5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -B9 -330 -B8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D104 -70 -1 -10 -0 -20 -0 -3 -*D104 -1 - -0 -LINE -5 -27D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -86.125 -20 -63.7501208602 -11 -87.2777777903 -21 -63.7501208602 -0 -SOLID -5 -27E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -86.125 -20 -63.7501208602 -30 -0 -11 -86.425 -21 -63.8000750191 -31 -0 -12 -86.425 -22 -63.7001667013 -32 -0 -13 -86.425 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -27F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.125000025 -20 -63.7501208602 -30 -0 -11 -89.825000025 -21 -63.7001667013 -31 -0 -12 -89.825000025 -22 -63.8000750191 -32 -0 -13 -89.825000025 -23 -63.8000750191 -33 -0 -0 -LINE -5 -280 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.9722222347 -20 -63.7501208602 -11 -90.125000025 -21 -63.7501208602 -0 -MTEXT -5 -281 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -88.1250000125 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -282 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -86.125 -20 -62.9999996207 -11 -86.125 -21 -64.0501208602 -0 -LINE -5 -283 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.125000025 -20 -62.9999996041 -11 -90.125000025 -21 -64.0501208602 -0 -ENDBLK -5 -BA -330 -B8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -BC -330 -BB -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D16 -70 -1 -10 -0 -20 -0 -3 -*D16 -1 - -0 -LINE -5 -284 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15 -20 -9.6225 -11 -17.1972222222 -21 -9.6225 -0 -SOLID -5 -285 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -15 -20 -9.6225 -30 -0 -11 -15.3 -21 -9.67245415893 -31 -0 -12 -15.3 -22 -9.57254584107 -32 -0 -13 -15.3 -23 -9.57254584107 -33 -0 -0 -SOLID -5 -286 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -21 -20 -9.6225 -30 -0 -11 -20.7 -21 -9.57254584107 -31 -0 -12 -20.7 -22 -9.67245415893 -32 -0 -13 -20.7 -23 -9.67245415893 -33 -0 -0 -LINE -5 -287 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18.8027777778 -20 -9.6225 -11 -21 -21 -9.6225 -0 -MTEXT -5 -288 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18 -20 -9.6225 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -289 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15 -20 -7.6225 -11 -15 -21 -9.3225 -0 -LINE -5 -28A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -21 -20 -8.8725 -11 -21 -21 -9.3225 -0 -ENDBLK -5 -BD -330 -BB -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -BF -330 -BE -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D99 -70 -1 -10 -0 -20 -0 -3 -*D99 -1 - -0 -LINE -5 -28B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15.875 -20 --7.8656865539 -11 -15.3263888889 -21 --7.8656865539 -0 -SOLID -5 -28C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -15.875 -20 --7.8656865539 -30 -0 -11 -15.575 -21 --7.91564071283 -31 -0 -12 -15.575 -22 --7.81573239497 -32 -0 -13 -15.575 -23 --7.81573239497 -33 -0 -0 -SOLID -5 -28D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10.95 -20 --7.8656865539 -30 -0 -11 -11.25 -21 --7.81573239497 -31 -0 -12 -11.25 -22 --7.91564071283 -32 -0 -13 -11.25 -23 --7.91564071283 -33 -0 -0 -LINE -5 -28E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.4986111111 -20 --7.8656865539 -11 -10.95 -21 --7.8656865539 -0 -MTEXT -5 -28F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -13.4125 -20 --7.8656865539 -30 -0 -40 -0.8 -41 -2.57777777778 -71 -5 -72 -1 -1 -4.925 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -290 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15.875 -20 --7.125 -11 -15.875 -21 --8.1656865539 -0 -LINE -5 -291 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.95 -20 --2.2 -11 -10.95 -21 --8.1656865539 -0 -ENDBLK -5 -C0 -330 -BE -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -C2 -330 -C1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D40 -70 -1 -10 -0 -20 -0 -3 -*D40 -1 - -0 -LINE -5 -292 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --76.8175675676 -11 --26.2473817511 -21 --77.7925675676 -0 -SOLID -5 -293 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --76.8175675676 -30 -0 -11 --26.1974275922 -21 --77.1175675676 -31 -0 -12 --26.29733591 -22 --77.1175675676 -32 -0 -13 --26.29733591 -23 --77.1175675676 -33 -0 -0 -SOLID -5 -294 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --80.8175675676 -30 -0 -11 --26.29733591 -21 --80.5175675676 -31 -0 -12 --26.1974275922 -22 --80.5175675676 -32 -0 -13 --26.1974275922 -23 --80.5175675676 -33 -0 -0 -LINE -5 -295 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --79.8425675676 -11 --26.2473817511 -21 --80.8175675676 -0 -MTEXT -5 -296 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --26.2473817511 -20 --78.8175675676 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -297 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.4594594595 -20 --76.8175675676 -11 --26.5473817511 -21 --76.8175675676 -0 -LINE -5 -298 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --21.204022106 -20 --80.8175675676 -11 --26.5473817511 -21 --80.8175675676 -0 -ENDBLK -5 -C3 -330 -C1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -C5 -330 -C4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D44 -70 -1 -10 -0 -20 -0 -3 -*D44 -1 - -0 -LINE -5 -299 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2 -20 -41.1 -11 -8.975 -21 -41.1 -0 -SOLID -5 -29A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -2 -20 -41.1 -30 -0 -11 -2.3 -21 -41.1499541589 -31 -0 -12 -2.3 -22 -41.0500458411 -32 -0 -13 -2.3 -23 -41.0500458411 -33 -0 -0 -SOLID -5 -29B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -18 -20 -41.1 -30 -0 -11 -17.7 -21 -41.0500458411 -31 -0 -12 -17.7 -22 -41.1499541589 -32 -0 -13 -17.7 -23 -41.1499541589 -33 -0 -0 -LINE -5 -29C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.025 -20 -41.1 -11 -18 -21 -41.1 -0 -MTEXT -5 -29D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10 -20 -42.125 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -16 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -29E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2 -20 -36.9999999652 -11 -2 -21 -41.4 -0 -LINE -5 -29F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -36.9999999147 -11 -18 -21 -41.4 -0 -ENDBLK -5 -C6 -330 -C4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -C8 -330 -C7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D72 -70 -1 -10 -0 -20 -0 -3 -*D72 -1 - -0 -LINE -5 -2A0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --67.377784531 -11 -185.339708867 -21 --66.652784531 -0 -SOLID -5 -2A1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --67.377784531 -30 -0 -11 -185.289754708 -21 --67.077784531 -31 -0 -12 -185.389663026 -22 --67.077784531 -32 -0 -13 -185.389663026 -23 --67.077784531 -33 -0 -0 -SOLID -5 -2A2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --63.877784531 -30 -0 -11 -185.389663026 -21 --64.177784531 -31 -0 -12 -185.289754708 -22 --64.177784531 -32 -0 -13 -185.289754708 -23 --64.177784531 -33 -0 -0 -LINE -5 -2A3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --64.602784531 -11 -185.339708867 -21 --63.877784531 -0 -MTEXT -5 -2A4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --65.627784531 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -3.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2A5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -170.966712767 -20 --67.377784531 -11 -185.639708867 -21 --67.377784531 -0 -LINE -5 -2A6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -181.466712767 -20 --63.877784531 -11 -185.639708867 -21 --63.877784531 -0 -ENDBLK -5 -C9 -330 -C7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -CB -330 -CA -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D42 -70 -1 -10 -0 -20 -0 -3 -*D42 -1 - -0 -LINE -5 -2A7 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -97.5000003098 -20 -22.5 -11 -91.0250002765 -21 -22.5 -0 -SOLID -5 -2A8 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -97.5000003098 -20 -22.5 -30 -0 -11 -97.2000003098 -21 -22.4500458411 -31 -0 -12 -97.2000003098 -22 -22.5499541589 -32 -0 -13 -97.2000003098 -23 -22.5499541589 -33 -0 -0 -SOLID -5 -2A9 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -82.5000002431 -20 -22.5 -30 -0 -11 -82.8000002431 -21 -22.5499541589 -31 -0 -12 -82.8000002431 -22 -22.4500458411 -32 -0 -13 -82.8000002431 -23 -22.4500458411 -33 -0 -0 -LINE -5 -2AA -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.9750002765 -20 -22.5 -11 -82.5000002431 -21 -22.5 -0 -MTEXT -5 -2AB -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -90.0000002765 -20 -22.5 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2AC -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -97.5000003098 -20 -39.0999994219 -11 -97.5000003098 -21 -22.2 -0 -LINE -5 -2AD -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.5000002431 -20 -23.06375 -11 -82.5000002431 -21 -22.2 -0 -ENDBLK -5 -CC -330 -CA -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -CE -330 -CD -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D33 -70 -1 -10 -0 -20 -0 -3 -*D33 -1 - -0 -LINE -5 -2AE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -22.5 -11 -127.380113994 -21 -5.62955526465 -0 -SOLID -5 -2AF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -22.5 -30 -0 -11 -127.430068153 -21 -22.2 -31 -0 -12 -127.330159835 -22 -22.2 -32 -0 -13 -127.330159835 -23 -22.2 -33 -0 -0 -SOLID -5 -2B0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 --13.2908894707 -30 -0 -11 -127.330159835 -21 --12.9908894707 -31 -0 -12 -127.430068153 -22 --12.9908894707 -32 -0 -13 -127.430068153 -23 --12.9908894707 -33 -0 -0 -LINE -5 -2B1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -3.57955526465 -11 -127.380113994 -21 --13.2908894707 -0 -MTEXT -5 -2B2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -127.380113994 -20 -4.60455526465 -30 -0 -40 -0.8 -41 -3.73333333333 -71 -5 -72 -1 -1 -35.7909 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2B3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -108.500000155 -20 -22.5 -11 -127.680113994 -21 -22.5 -0 -LINE -5 -2B4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.4999998574 -20 --13.2908894707 -11 -127.680113994 -21 --13.2908894707 -0 -ENDBLK -5 -CF -330 -CD -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -D1 -330 -D0 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D86 -70 -1 -10 -0 -20 -0 -3 -*D86 -1 - -0 -LINE -5 -2B5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -47.9999999563 -11 --12.0522616552 -21 -46.9999999522 -0 -SOLID -5 -2B6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -47.9999999563 -30 -0 -11 --12.0023074963 -21 -47.6999999563 -31 -0 -12 --12.1022158141 -22 -47.6999999563 -32 -0 -13 --12.1022158141 -23 -47.6999999563 -33 -0 -0 -SOLID -5 -2B7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -46.9999999522 -30 -0 -11 --12.1022158141 -21 -47.2999999522 -31 -0 -12 --12.0023074963 -22 -47.2999999522 -32 -0 -13 --12.0023074963 -23 -47.2999999522 -33 -0 -0 -MTEXT -5 -2B8 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -47.4999999543 -30 -0 -40 -0.8 -41 -0.177777777778 -71 -5 -72 -1 -1 -1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2B9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -3.5000000666 -20 -47.9999999563 -11 --12.3522616552 -21 -47.9999999563 -0 -LINE -5 -2BA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000006244 -20 -46.9999999522 -11 --12.3522616552 -21 -46.9999999522 -0 -ENDBLK -5 -D2 -330 -D0 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -D4 -330 -D3 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D88 -70 -1 -10 -0 -20 -0 -3 -*D88 -1 - -0 -LINE -5 -2BB -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -38.9999999522 -11 --12.0522616552 -21 -37.9999999563 -0 -SOLID -5 -2BC -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -38.9999999522 -30 -0 -11 --12.0023074963 -21 -38.6999999522 -31 -0 -12 --12.1022158141 -22 -38.6999999522 -32 -0 -13 --12.1022158141 -23 -38.6999999522 -33 -0 -0 -SOLID -5 -2BD -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -37.9999999563 -30 -0 -11 --12.1022158141 -21 -38.2999999563 -31 -0 -12 --12.0023074963 -22 -38.2999999563 -32 -0 -13 --12.0023074963 -23 -38.2999999563 -33 -0 -0 -MTEXT -5 -2BE -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -38.4999999543 -30 -0 -40 -0.8 -41 -0.177777777778 -71 -5 -72 -1 -1 -1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2BF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000002914 -20 -38.9999999522 -11 --12.3522616552 -21 -38.9999999522 -0 -LINE -5 -2C0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -3.50000002498 -20 -37.9999999563 -11 --12.3522616552 -21 -37.9999999563 -0 -ENDBLK -5 -D5 -330 -D3 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -D7 -330 -D6 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D2 -70 -1 -10 -0 -20 -0 -3 -*D2 -1 - -0 -LINE -5 -2C1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --25.5 -20 -46.1646667417 -11 --24.8027777778 -21 -46.1646667417 -0 -SOLID -5 -2C2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --25.5 -20 -46.1646667417 -30 -0 -11 --25.2 -21 -46.2146209006 -31 -0 -12 --25.2 -22 -46.1147125828 -32 -0 -13 --25.2 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -2C3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --22.5 -20 -46.1646667417 -30 -0 -11 --22.8 -21 -46.1147125828 -31 -0 -12 --22.8 -22 -46.2146209006 -32 -0 -13 --22.8 -23 -46.2146209006 -33 -0 -0 -LINE -5 -2C4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --23.1972222222 -20 -46.1646667417 -11 --22.5 -21 -46.1646667417 -0 -MTEXT -5 -2C5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --24 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2C6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --25.5 -20 -43.1 -11 --25.5 -21 -46.4646667417 -0 -LINE -5 -2C7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.5 -20 -43.1 -11 --22.5 -21 -46.4646667417 -0 -ENDBLK -5 -D8 -330 -D6 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -DA -330 -D9 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D22 -70 -1 -10 -0 -20 -0 -3 -*D22 -1 - -0 -LINE -5 -2C8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -14.8725 -11 -23 -21 -14.3975 -0 -SOLID -5 -2C9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -14.8725 -30 -0 -11 -23.0499541589 -21 -14.5725 -31 -0 -12 -22.9500458411 -22 -14.5725 -32 -0 -13 -22.9500458411 -23 -14.5725 -33 -0 -0 -SOLID -5 -2CA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -11.8725 -30 -0 -11 -22.9500458411 -21 -12.1725 -31 -0 -12 -23.0499541589 -22 -12.1725 -32 -0 -13 -23.0499541589 -23 -12.1725 -33 -0 -0 -LINE -5 -2CB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -12.3475 -11 -23 -21 -11.8725 -0 -MTEXT -5 -2CC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -13.3725 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2CD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22 -20 -14.8725 -11 -23.3 -21 -14.8725 -0 -LINE -5 -2CE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22 -20 -11.8725 -11 -23.3 -21 -11.8725 -0 -ENDBLK -5 -DB -330 -D9 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -DD -330 -DC -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D90 -70 -1 -10 -0 -20 -0 -3 -*D90 -1 - -0 -LINE -5 -2CF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -25.125 -11 --12.0522616552 -21 -23.6875 -0 -SOLID -5 -2D0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -25.125 -30 -0 -11 --12.0023074963 -21 -24.825 -31 -0 -12 --12.1022158141 -22 -24.825 -32 -0 -13 --12.1022158141 -23 -24.825 -33 -0 -0 -SOLID -5 -2D1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -20.2 -30 -0 -11 --12.1022158141 -21 -20.5 -31 -0 -12 --12.0023074963 -22 -20.5 -32 -0 -13 --12.0023074963 -23 -20.5 -33 -0 -0 -LINE -5 -2D2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -21.6375 -11 --12.0522616552 -21 -20.2 -0 -MTEXT -5 -2D3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -22.6625 -30 -0 -40 -0.8 -41 -2.57777777778 -71 -5 -72 -1 -1 -4.925 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2D4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.125 -20 -25.125 -11 --12.3522616552 -21 -25.125 -0 -LINE -5 -2D5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --2.2 -20 -20.2 -11 --12.3522616552 -21 -20.2 -0 -ENDBLK -5 -DE -330 -DC -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -E0 -330 -DF -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D45 -70 -1 -10 -0 -20 -0 -3 -*D45 -1 - -0 -LINE -5 -2D6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -41.1 -11 -20.6972223771 -21 -41.1 -0 -SOLID -5 -2D7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -18 -20 -41.1 -30 -0 -11 -18.3 -21 -41.1499541589 -31 -0 -12 -18.3 -22 -41.0500458411 -32 -0 -13 -18.3 -23 -41.0500458411 -33 -0 -0 -SOLID -5 -2D8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.0000003098 -20 -41.1 -30 -0 -11 -24.7000003098 -21 -41.0500458411 -31 -0 -12 -24.7000003098 -22 -41.1499541589 -32 -0 -13 -24.7000003098 -23 -41.1499541589 -33 -0 -0 -LINE -5 -2D9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22.3027779327 -20 -41.1 -11 -25.0000003098 -21 -41.1 -0 -MTEXT -5 -2DA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -21.5000001549 -20 -42.125 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2DB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -36.9999999147 -11 -18 -21 -41.4 -0 -LINE -5 -2DC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -43.0999998752 -11 -25.0000003098 -21 -41.4 -0 -ENDBLK -5 -E1 -330 -DF -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -E3 -330 -E2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D70 -70 -1 -10 -0 -20 -0 -3 -*D70 -1 - -0 -LINE -5 -2DD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --86.377784531 -11 -185.339708867 -21 --82.5193308592 -0 -SOLID -5 -2DE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --86.377784531 -30 -0 -11 -185.289754708 -21 --86.077784531 -31 -0 -12 -185.389663026 -22 --86.077784531 -32 -0 -13 -185.389663026 -23 --86.077784531 -33 -0 -0 -SOLID -5 -2DF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --76.6108771873 -30 -0 -11 -185.389663026 -21 --76.9108771873 -31 -0 -12 -185.289754708 -22 --76.9108771873 -32 -0 -13 -185.289754708 -23 --76.9108771873 -33 -0 -0 -LINE -5 -2E0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --80.4693308592 -11 -185.339708867 -21 --76.6108771873 -0 -MTEXT -5 -2E1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --81.4943308592 -30 -0 -40 -0.8 -41 -3.11111111111 -71 -5 -72 -1 -1 -9.7669 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2E2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --86.377784531 -11 -185.639708867 -21 --86.377784531 -0 -LINE -5 -2E3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --76.6108771873 -11 -185.639708867 -21 --76.6108771873 -0 -ENDBLK -5 -E4 -330 -E2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -E6 -330 -E5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D4 -70 -1 -10 -0 -20 -0 -3 -*D4 -1 - -0 -LINE -5 -2E4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.5 -20 -46.1646667417 -11 --7.49722222222 -21 -46.1646667417 -0 -SOLID -5 -2E5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.5 -20 -46.1646667417 -30 -0 -11 --7.2 -21 -46.2146209006 -31 -0 -12 --7.2 -22 -46.1147125828 -32 -0 -13 --7.2 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -2E6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --5 -20 -46.1646667417 -30 -0 -11 --5.3 -21 -46.1147125828 -31 -0 -12 --5.3 -22 -46.2146209006 -32 -0 -13 --5.3 -23 -46.2146209006 -33 -0 -0 -LINE -5 -2E7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5.00277777778 -20 -46.1646667417 -11 --5 -21 -46.1646667417 -0 -MTEXT -5 -2E8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --6.25 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2E9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.5 -20 -43.1 -11 --7.5 -21 -46.4646667417 -0 -LINE -5 -2EA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -43.1 -11 --5 -21 -46.4646667417 -0 -ENDBLK -5 -E7 -330 -E5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -E9 -330 -E8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D56 -70 -1 -10 -0 -20 -0 -3 -*D56 -1 - -0 -LINE -5 -2EB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -31.9999995612 -11 -127.380113994 -21 -28.2749997806 -0 -SOLID -5 -2EC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -31.9999995612 -30 -0 -11 -127.430068153 -21 -31.6999995612 -31 -0 -12 -127.330159835 -22 -31.6999995612 -32 -0 -13 -127.330159835 -23 -31.6999995612 -33 -0 -0 -SOLID -5 -2ED -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -22.5 -30 -0 -11 -127.330159835 -21 -22.8 -31 -0 -12 -127.430068153 -22 -22.8 -32 -0 -13 -127.430068153 -23 -22.8 -33 -0 -0 -LINE -5 -2EE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -26.2249997806 -11 -127.380113994 -21 -22.5 -0 -MTEXT -5 -2EF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -127.380113994 -20 -27.2499997806 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -9.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2F0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -114.500000234 -20 -31.9999995612 -11 -127.680113994 -21 -31.9999995612 -0 -LINE -5 -2F1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -108.500000155 -20 -22.5 -11 -127.680113994 -21 -22.5 -0 -ENDBLK -5 -EA -330 -E8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -EC -330 -EB -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D65 -70 -1 -10 -0 -20 -0 -3 -*D65 -1 - -0 -LINE -5 -2F2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -118.466712767 -20 --60.9097634776 -11 -120.163934989 -21 --60.9097634776 -0 -SOLID -5 -2F3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -118.466712767 -20 --60.9097634776 -30 -0 -11 -118.766712767 -21 --60.8598093187 -31 -0 -12 -118.766712767 -22 --60.9597176365 -32 -0 -13 -118.766712767 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -2F4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -123.466712767 -20 --60.9097634776 -30 -0 -11 -123.166712767 -21 --60.9597176365 -31 -0 -12 -123.166712767 -22 --60.8598093187 -32 -0 -13 -123.166712767 -23 --60.8598093187 -33 -0 -0 -LINE -5 -2F5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.769490545 -20 --60.9097634776 -11 -123.466712767 -21 --60.9097634776 -0 -MTEXT -5 -2F6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -120.966712767 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2F7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -118.466712767 -20 --65.127784531 -11 -118.466712767 -21 --60.6097634776 -0 -LINE -5 -2F8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -123.466712767 -20 --61.877784531 -11 -123.466712767 -21 --60.6097634776 -0 -ENDBLK -5 -ED -330 -EB -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -EF -330 -EE -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D83 -70 -1 -10 -0 -20 -0 -3 -*D83 -1 - -0 -LINE -5 -2F9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.29478994918 -20 -42.9999999522 -11 --7.29478994918 -21 -19.9624999761 -0 -SOLID -5 -2FA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.29478994918 -20 -42.9999999522 -30 -0 -11 --7.24483579025 -21 -42.6999999522 -31 -0 -12 --7.34474410811 -22 -42.6999999522 -32 -0 -13 --7.34474410811 -23 -42.6999999522 -33 -0 -0 -SOLID -5 -2FB -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.29478994918 -20 --5.125 -30 -0 -11 --7.34474410811 -21 --4.825 -31 -0 -12 --7.24483579025 -22 --4.825 -32 -0 -13 --7.24483579025 -23 --4.825 -33 -0 -0 -LINE -5 -2FC -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.29478994918 -20 -17.9124999761 -11 --7.29478994918 -21 --5.125 -0 -MTEXT -5 -2FD -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --7.29478994918 -20 -18.9374999761 -30 -0 -40 -0.8 -41 -3.02222222222 -71 -5 -72 -1 -1 -48.125 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2FE -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000004579 -20 -42.9999999522 -11 --7.59478994918 -21 -42.9999999522 -0 -LINE -5 -2FF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2.05 -20 --5.125 -11 --7.59478994918 -21 --5.125 -0 -ENDBLK -5 -F0 -330 -EE -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -F2 -330 -F1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D24 -70 -1 -10 -0 -20 -0 -3 -*D24 -1 - -0 -LINE -5 -300 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -10.8725 -11 -23 -21 -10.1475 -0 -SOLID -5 -301 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -10.8725 -30 -0 -11 -23.0499541589 -21 -10.5725 -31 -0 -12 -22.9500458411 -22 -10.5725 -32 -0 -13 -22.9500458411 -23 -10.5725 -33 -0 -0 -SOLID -5 -302 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -7.3725 -30 -0 -11 -22.9500458411 -21 -7.6725 -31 -0 -12 -23.0499541589 -22 -7.6725 -32 -0 -13 -23.0499541589 -23 -7.6725 -33 -0 -0 -LINE -5 -303 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -8.0975 -11 -23 -21 -7.3725 -0 -MTEXT -5 -304 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -9.1225 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -3.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -305 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -10.8725 -11 -23.3 -21 -10.8725 -0 -LINE -5 -306 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -7.3725 -11 -23.3 -21 -7.3725 -0 -ENDBLK -5 -F3 -330 -F1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -F5 -330 -F4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D67 -70 -1 -10 -0 -20 -0 -3 -*D67 -1 - -0 -LINE -5 -307 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -113.466712767 -20 --55.4713917385 -11 -117.441712767 -21 --55.4713917385 -0 -SOLID -5 -308 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -113.466712767 -20 --55.4713917385 -30 -0 -11 -113.766712767 -21 --55.4214375796 -31 -0 -12 -113.766712767 -22 --55.5213458974 -32 -0 -13 -113.766712767 -23 --55.5213458974 -33 -0 -0 -SOLID -5 -309 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -123.466712767 -20 --55.4713917385 -30 -0 -11 -123.166712767 -21 --55.5213458974 -31 -0 -12 -123.166712767 -22 --55.4214375796 -32 -0 -13 -123.166712767 -23 --55.4214375796 -33 -0 -0 -LINE -5 -30A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -119.491712767 -20 --55.4713917385 -11 -123.466712767 -21 --55.4713917385 -0 -MTEXT -5 -30B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -118.466712767 -20 --55.4713917385 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -30C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -113.466712767 -20 --61.877784531 -11 -113.466712767 -21 --55.1713917385 -0 -LINE -5 -30D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -123.466712767 -20 --61.877784531 -11 -123.466712767 -21 --55.1713917385 -0 -ENDBLK -5 -F6 -330 -F4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -F8 -330 -F7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D32 -70 -1 -10 -0 -20 -0 -3 -*D32 -1 - -0 -LINE -5 -30E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -41.0999994219 -11 -127.380113994 -21 -39.0749995165 -0 -SOLID -5 -30F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -41.0999994219 -30 -0 -11 -127.430068153 -21 -40.7999994219 -31 -0 -12 -127.330159835 -22 -40.7999994219 -32 -0 -13 -127.330159835 -23 -40.7999994219 -33 -0 -0 -SOLID -5 -310 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -34.999999611 -30 -0 -11 -127.330159835 -21 -35.299999611 -31 -0 -12 -127.430068153 -22 -35.299999611 -32 -0 -13 -127.430068153 -23 -35.299999611 -33 -0 -0 -LINE -5 -311 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -37.0249995165 -11 -127.380113994 -21 -34.999999611 -0 -MTEXT -5 -312 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -127.380113994 -20 -38.0499995165 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -6.1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -313 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.5000003098 -20 -41.0999994219 -11 -127.680113994 -21 -41.0999994219 -0 -LINE -5 -314 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -108.500000259 -20 -34.999999611 -11 -127.680113994 -21 -34.999999611 -0 -ENDBLK -5 -F9 -330 -F7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -FB -330 -FA -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D10 -70 -1 -10 -0 -20 -0 -3 -*D10 -1 - -0 -LINE -5 -315 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --29.110203869 -20 -41.1 -11 --29.110203869 -21 -14.9295553062 -0 -SOLID -5 -316 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --29.110203869 -20 -41.1 -30 -0 -11 --29.0602497101 -21 -40.8 -31 -0 -12 --29.1601580279 -22 -40.8 -32 -0 -13 --29.1601580279 -23 -40.8 -33 -0 -0 -SOLID -5 -317 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --29.110203869 -20 --13.2908893876 -30 -0 -11 --29.1601580279 -21 --12.9908893876 -31 -0 -12 --29.0602497101 -22 --12.9908893876 -32 -0 -13 --29.0602497101 -23 --12.9908893876 -33 -0 -0 -LINE -5 -318 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --29.110203869 -20 -12.8795553062 -11 --29.110203869 -21 --13.2908893876 -0 -MTEXT -5 -319 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --29.110203869 -20 -13.9045553062 -30 -0 -40 -0.8 -41 -3.82222222222 -71 -5 -72 -1 -1 -54.3909 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -31A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --27.5 -20 -41.1 -11 --29.410203869 -21 -41.1 -0 -LINE -5 -31B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -7.99999992888 -20 --13.2908893876 -11 --29.410203869 -21 --13.2908893876 -0 -ENDBLK -5 -FC -330 -FA -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -FE -330 -FD -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D91 -70 -1 -10 -0 -20 -0 -3 -*D91 -1 - -0 -LINE -5 -31C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -20.2 -11 --12.0522616552 -21 -18.3 -0 -SOLID -5 -31D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -20.2 -30 -0 -11 --12.0023074963 -21 -19.9 -31 -0 -12 --12.1022158141 -22 -19.9 -32 -0 -13 --12.1022158141 -23 -19.9 -33 -0 -0 -SOLID -5 -31E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -18.3 -30 -0 -11 --12.1022158141 -21 -18.6 -31 -0 -12 --12.0023074963 -22 -18.6 -32 -0 -13 --12.0023074963 -23 -18.6 -33 -0 -0 -MTEXT -5 -31F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -19.25 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -1.9 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -320 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --2.2 -20 -20.2 -11 --12.3522616552 -21 -20.2 -0 -LINE -5 -321 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --2.2 -20 -18.3 -11 --12.3522616552 -21 -18.3 -0 -ENDBLK -5 -FF -330 -FD -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -101 -330 -100 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D84 -70 -1 -10 -0 -20 -0 -3 -*D84 -1 - -0 -LINE -5 -322 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -60.9999999688 -11 --12.0522616552 -21 -59.0249999688 -0 -SOLID -5 -323 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -60.9999999688 -30 -0 -11 --12.0023074963 -21 -60.6999999688 -31 -0 -12 --12.1022158141 -22 -60.6999999688 -32 -0 -13 --12.1022158141 -23 -60.6999999688 -33 -0 -0 -SOLID -5 -324 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -54.9999999688 -30 -0 -11 --12.1022158141 -21 -55.2999999688 -31 -0 -12 --12.0023074963 -22 -55.2999999688 -32 -0 -13 --12.0023074963 -23 -55.2999999688 -33 -0 -0 -LINE -5 -325 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -56.9749999688 -11 --12.0522616552 -21 -54.9999999688 -0 -MTEXT -5 -326 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -57.9999999688 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -327 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000012071 -20 -60.9999999688 -11 --12.3522616552 -21 -60.9999999688 -0 -LINE -5 -328 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000009574 -20 -54.9999999688 -11 --12.3522616552 -21 -54.9999999688 -0 -ENDBLK -5 -102 -330 -100 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -104 -330 -103 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D94 -70 -1 -10 -0 -20 -0 -3 -*D94 -1 - -0 -LINE -5 -329 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 --0.2 -11 --12.0522616552 -21 --1.6375 -0 -SOLID -5 -32A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 --0.2 -30 -0 -11 --12.0023074963 -21 --0.5 -31 -0 -12 --12.1022158141 -22 --0.5 -32 -0 -13 --12.1022158141 -23 --0.5 -33 -0 -0 -SOLID -5 -32B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 --5.125 -30 -0 -11 --12.1022158141 -21 --4.825 -31 -0 -12 --12.0023074963 -22 --4.825 -32 -0 -13 --12.0023074963 -23 --4.825 -33 -0 -0 -LINE -5 -32C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 --3.6875 -11 --12.0522616552 -21 --5.125 -0 -MTEXT -5 -32D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 --2.6625 -30 -0 -40 -0.8 -41 -2.57777777778 -71 -5 -72 -1 -1 -4.925 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -32E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -7.05 -20 --0.2 -11 --12.3522616552 -21 --0.2 -0 -LINE -5 -32F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2.05 -20 --5.125 -11 --12.3522616552 -21 --5.125 -0 -ENDBLK -5 -105 -330 -103 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -107 -330 -106 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D17 -70 -1 -10 -0 -20 -0 -3 -*D17 -1 - -0 -LINE -5 -330 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15 -20 -6.18625 -11 -13.3775 -21 -6.18625 -0 -SOLID -5 -331 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -15 -20 -6.18625 -30 -0 -11 -14.7 -21 -6.13629584107 -31 -0 -12 -14.7 -22 -6.23620415893 -32 -0 -13 -14.7 -23 -6.23620415893 -33 -0 -0 -SOLID -5 -332 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -13.3775 -20 -6.18625 -30 -0 -11 -13.6775 -21 -6.23620415893 -31 -0 -12 -13.6775 -22 -6.13629584107 -32 -0 -13 -13.6775 -23 -6.13629584107 -33 -0 -0 -MTEXT -5 -333 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -17.0916666667 -20 -6.18625 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -1.6225 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -334 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15 -20 -7.6225 -11 -15 -21 -5.88625 -0 -LINE -5 -335 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -13.3775 -20 -9.6225 -11 -13.3775 -21 -5.88625 -0 -ENDBLK -5 -108 -330 -106 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -10A -330 -109 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D101 -70 -1 -10 -0 -20 -0 -3 -*D101 -1 - -0 -LINE -5 -336 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.125 -20 -63.7501208602 -11 -51.2777777144 -21 -63.7501208602 -0 -SOLID -5 -337 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.125 -20 -63.7501208602 -30 -0 -11 -50.425 -21 -63.8000750191 -31 -0 -12 -50.425 -22 -63.7001667013 -32 -0 -13 -50.425 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -338 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -54.1249998732 -20 -63.7501208602 -30 -0 -11 -53.8249998732 -21 -63.7001667013 -31 -0 -12 -53.8249998732 -22 -63.8000750191 -32 -0 -13 -53.8249998732 -23 -63.8000750191 -33 -0 -0 -LINE -5 -339 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -52.9722221588 -20 -63.7501208602 -11 -54.1249998732 -21 -63.7501208602 -0 -MTEXT -5 -33A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -52.1249999366 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -33B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.125 -20 -45.0000003999 -11 -50.125 -21 -64.0501208602 -0 -LINE -5 -33C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -54.1249998732 -20 -56.9999997539 -11 -54.1249998732 -21 -64.0501208602 -0 -ENDBLK -5 -10B -330 -109 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -10D -330 -10C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D57 -70 -1 -10 -0 -20 -0 -3 -*D57 -1 - -0 -LINE -5 -33D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.216061105 -20 --125.977784531 -11 -90.216061105 -21 --124.702784531 -0 -SOLID -5 -33E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.216061105 -20 --125.977784531 -30 -0 -11 -90.1661069461 -21 --125.677784531 -31 -0 -12 -90.2660152639 -22 --125.677784531 -32 -0 -13 -90.2660152639 -23 --125.677784531 -33 -0 -0 -SOLID -5 -33F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.216061105 -20 --121.377784531 -30 -0 -11 -90.2660152639 -21 --121.677784531 -31 -0 -12 -90.1661069461 -22 --121.677784531 -32 -0 -13 -90.1661069461 -23 --121.677784531 -33 -0 -0 -LINE -5 -340 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.216061105 -20 --122.652784531 -11 -90.216061105 -21 --121.377784531 -0 -MTEXT -5 -341 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -90.216061105 -20 --123.677784531 -30 -0 -40 -0.8 -41 -1.33333333333 -71 -5 -72 -1 -1 -4.6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -342 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -84.9667127669 -20 --125.977784531 -11 -90.516061105 -21 --125.977784531 -0 -LINE -5 -343 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.4667127669 -20 --121.377784531 -11 -90.516061105 -21 --121.377784531 -0 -ENDBLK -5 -10E -330 -10C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -110 -330 -10F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D55 -70 -1 -10 -0 -20 -0 -3 -*D55 -1 - -0 -LINE -5 -344 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -34.9999995612 -11 -127.380113994 -21 -34.5249995612 -0 -SOLID -5 -345 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -34.9999995612 -30 -0 -11 -127.430068153 -21 -34.6999995612 -31 -0 -12 -127.330159835 -22 -34.6999995612 -32 -0 -13 -127.330159835 -23 -34.6999995612 -33 -0 -0 -SOLID -5 -346 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -31.9999995612 -30 -0 -11 -127.330159835 -21 -32.2999995612 -31 -0 -12 -127.430068153 -22 -32.2999995612 -32 -0 -13 -127.430068153 -23 -32.2999995612 -33 -0 -0 -LINE -5 -347 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -32.4749995612 -11 -127.380113994 -21 -31.9999995612 -0 -MTEXT -5 -348 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -127.380113994 -20 -33.4999995612 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -349 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -114.500000259 -20 -34.9999995612 -11 -127.680113994 -21 -34.9999995612 -0 -LINE -5 -34A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -114.500000234 -20 -31.9999995612 -11 -127.680113994 -21 -31.9999995612 -0 -ENDBLK -5 -111 -330 -10F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -113 -330 -112 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D64 -70 -1 -10 -0 -20 -0 -3 -*D64 -1 - -0 -LINE -5 -34B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -113.466712767 -20 --60.9097634776 -11 -115.163934989 -21 --60.9097634776 -0 -SOLID -5 -34C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -113.466712767 -20 --60.9097634776 -30 -0 -11 -113.766712767 -21 --60.8598093187 -31 -0 -12 -113.766712767 -22 --60.9597176365 -32 -0 -13 -113.766712767 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -34D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -118.466712767 -20 --60.9097634776 -30 -0 -11 -118.166712767 -21 --60.9597176365 -31 -0 -12 -118.166712767 -22 --60.8598093187 -32 -0 -13 -118.166712767 -23 --60.8598093187 -33 -0 -0 -LINE -5 -34E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -116.769490545 -20 --60.9097634776 -11 -118.466712767 -21 --60.9097634776 -0 -MTEXT -5 -34F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -115.966712767 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -350 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -113.466712767 -20 --61.877784531 -11 -113.466712767 -21 --60.6097634776 -0 -LINE -5 -351 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -118.466712767 -20 --65.127784531 -11 -118.466712767 -21 --60.6097634776 -0 -ENDBLK -5 -114 -330 -112 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -116 -330 -115 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D58 -70 -1 -10 -0 -20 -0 -3 -*D58 -1 - -0 -LINE -5 -352 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.216061105 -20 --121.377784531 -11 -90.216061105 -21 --117.402784531 -0 -SOLID -5 -353 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.216061105 -20 --121.377784531 -30 -0 -11 -90.1661069461 -21 --121.077784531 -31 -0 -12 -90.2660152639 -22 --121.077784531 -32 -0 -13 -90.2660152639 -23 --121.077784531 -33 -0 -0 -SOLID -5 -354 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.216061105 -20 --111.377784531 -30 -0 -11 -90.2660152639 -21 --111.677784531 -31 -0 -12 -90.1661069461 -22 --111.677784531 -32 -0 -13 -90.1661069461 -23 --111.677784531 -33 -0 -0 -LINE -5 -355 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.216061105 -20 --115.352784531 -11 -90.216061105 -21 --111.377784531 -0 -MTEXT -5 -356 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -90.216061105 -20 --116.377784531 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -357 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.4667127669 -20 --121.377784531 -11 -90.516061105 -21 --121.377784531 -0 -LINE -5 -358 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.4667127669 -20 --111.377784531 -11 -90.516061105 -21 --111.377784531 -0 -ENDBLK -5 -117 -330 -115 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -119 -330 -118 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D100 -70 -1 -10 -0 -20 -0 -3 -*D100 -1 - -0 -LINE -5 -359 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.95 -20 --7.8656865539 -11 -9.05 -21 --7.8656865539 -0 -SOLID -5 -35A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10.95 -20 --7.8656865539 -30 -0 -11 -10.65 -21 --7.91564071283 -31 -0 -12 -10.65 -22 --7.81573239497 -32 -0 -13 -10.65 -23 --7.81573239497 -33 -0 -0 -SOLID -5 -35B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -9.05 -20 --7.8656865539 -30 -0 -11 -9.35 -21 --7.81573239497 -31 -0 -12 -9.35 -22 --7.91564071283 -32 -0 -13 -9.35 -23 --7.91564071283 -33 -0 -0 -MTEXT -5 -35C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10 -20 --7.8656865539 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -1.9 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -35D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.95 -20 --2.2 -11 -10.95 -21 --8.1656865539 -0 -LINE -5 -35E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -9.05 -20 --2.2 -11 -9.05 -21 --8.1656865539 -0 -ENDBLK -5 -11A -330 -118 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -11C -330 -11B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D71 -70 -1 -10 -0 -20 -0 -3 -*D71 -1 - -0 -LINE -5 -35F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --76.6108771873 -11 -185.339708867 -21 --73.0193308591 -0 -SOLID -5 -360 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --76.6108771873 -30 -0 -11 -185.289754708 -21 --76.3108771873 -31 -0 -12 -185.389663026 -22 --76.3108771873 -32 -0 -13 -185.389663026 -23 --76.3108771873 -33 -0 -0 -SOLID -5 -361 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --67.377784531 -30 -0 -11 -185.389663026 -21 --67.677784531 -31 -0 -12 -185.289754708 -22 --67.677784531 -32 -0 -13 -185.289754708 -23 --67.677784531 -33 -0 -0 -LINE -5 -362 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --70.9693308591 -11 -185.339708867 -21 --67.377784531 -0 -MTEXT -5 -363 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --71.9943308591 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -9.2331 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -364 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --76.6108771873 -11 -185.639708867 -21 --76.6108771873 -0 -LINE -5 -365 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -170.966712767 -20 --67.377784531 -11 -185.639708867 -21 --67.377784531 -0 -ENDBLK -5 -11D -330 -11B -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -11F -330 -11E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D74 -70 -1 -10 -0 -20 -0 -3 -*D74 -1 - -0 -LINE -5 -366 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.4667127669 -20 --76.6108771873 -11 -88.4667127669 -21 --85.4693308592 -0 -SOLID -5 -367 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -88.4667127669 -20 --76.6108771873 -30 -0 -11 -88.5166669258 -21 --76.9108771873 -31 -0 -12 -88.416758608 -22 --76.9108771873 -32 -0 -13 -88.416758608 -23 --76.9108771873 -33 -0 -0 -SOLID -5 -368 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -88.4667127669 -20 --96.377784531 -30 -0 -11 -88.416758608 -21 --96.077784531 -31 -0 -12 -88.5166669258 -22 --96.077784531 -32 -0 -13 -88.5166669258 -23 --96.077784531 -33 -0 -0 -LINE -5 -369 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.4667127669 -20 --87.5193308592 -11 -88.4667127669 -21 --96.377784531 -0 -MTEXT -5 -36A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -88.4667127669 -20 --86.4943308592 -30 -0 -40 -0.8 -41 -3.55555555556 -71 -5 -72 -1 -1 -19.7669 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -36B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -84.9667127669 -20 --76.6108771873 -11 -88.7667127669 -21 --76.6108771873 -0 -LINE -5 -36C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -84.9667127669 -20 --96.377784531 -11 -88.7667127669 -21 --96.377784531 -0 -ENDBLK -5 -120 -330 -11E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -122 -330 -121 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D5 -70 -1 -10 -0 -20 -0 -3 -*D5 -1 - -0 -LINE -5 -36D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -46.1646667417 -11 -8.88611126601 -21 -46.1646667417 -0 -SOLID -5 -36E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --5 -20 -46.1646667417 -30 -0 -11 --4.7 -21 -46.2146209006 -31 -0 -12 --4.7 -22 -46.1147125828 -32 -0 -13 --4.7 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -36F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.0000003098 -20 -46.1646667417 -30 -0 -11 -24.7000003098 -21 -46.1147125828 -31 -0 -12 -24.7000003098 -22 -46.2146209006 -32 -0 -13 -24.7000003098 -23 -46.2146209006 -33 -0 -0 -LINE -5 -370 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.1138890438 -20 -46.1646667417 -11 -25.0000003098 -21 -46.1646667417 -0 -MTEXT -5 -371 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10.0000001549 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.977777777778 -71 -5 -72 -1 -1 -30 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -372 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -43.1 -11 --5 -21 -46.4646667417 -0 -LINE -5 -373 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -43.0999998752 -11 -25.0000003098 -21 -46.4646667417 -0 -ENDBLK -5 -123 -330 -121 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -125 -330 -124 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D34 -70 -1 -10 -0 -20 -0 -3 -*D34 -1 - -0 -LINE -5 -374 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -132.54882917 -20 -41.0999994219 -11 -132.54882917 -21 -14.9295549756 -0 -SOLID -5 -375 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -132.54882917 -20 -41.0999994219 -30 -0 -11 -132.598783329 -21 -40.7999994219 -31 -0 -12 -132.498875011 -22 -40.7999994219 -32 -0 -13 -132.498875011 -23 -40.7999994219 -33 -0 -0 -SOLID -5 -376 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -132.54882917 -20 --13.2908894707 -30 -0 -11 -132.498875011 -21 --12.9908894707 -31 -0 -12 -132.598783329 -22 --12.9908894707 -32 -0 -13 -132.598783329 -23 --12.9908894707 -33 -0 -0 -LINE -5 -377 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -132.54882917 -20 -12.8795549756 -11 -132.54882917 -21 --13.2908894707 -0 -MTEXT -5 -378 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -132.54882917 -20 -13.9045549756 -30 -0 -40 -0.8 -41 -3.82222222222 -71 -5 -72 -1 -1 -54.3909 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -379 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.5000003098 -20 -41.0999994219 -11 -132.84882917 -21 -41.0999994219 -0 -LINE -5 -37A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.4999998574 -20 --13.2908894707 -11 -132.84882917 -21 --13.2908894707 -0 -ENDBLK -5 -126 -330 -124 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -128 -330 -127 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D95 -70 -1 -10 -0 -20 -0 -3 -*D95 -1 - -0 -LINE -5 -37B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --16.8097333612 -20 -60.9999999688 -11 --16.8097333612 -21 -28.9624999844 -0 -SOLID -5 -37C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --16.8097333612 -20 -60.9999999688 -30 -0 -11 --16.7597792023 -21 -60.6999999688 -31 -0 -12 --16.8596875201 -22 -60.6999999688 -32 -0 -13 --16.8596875201 -23 -60.6999999688 -33 -0 -0 -SOLID -5 -37D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --16.8097333612 -20 --5.125 -30 -0 -11 --16.8596875201 -21 --4.825 -31 -0 -12 --16.7597792023 -22 --4.825 -32 -0 -13 --16.7597792023 -23 --4.825 -33 -0 -0 -LINE -5 -37E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --16.8097333612 -20 -26.9124999844 -11 --16.8097333612 -21 --5.125 -0 -MTEXT -5 -37F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --16.8097333612 -20 -27.9374999844 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -66.125 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -380 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000012071 -20 -60.9999999688 -11 --17.1097333612 -21 -60.9999999688 -0 -LINE -5 -381 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2.05 -20 --5.125 -11 --17.1097333612 -21 --5.125 -0 -ENDBLK -5 -129 -330 -127 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -12B -330 -12A -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D80 -70 -1 -10 -0 -20 -0 -3 -*D80 -1 - -0 -LINE -5 -382 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10 -20 -38.8599999008 -11 -10 -21 -17.8924999504 -0 -SOLID -5 -383 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10 -20 -38.8599999008 -30 -0 -11 -10.0499541589 -21 -38.5599999008 -31 -0 -12 -9.95004584107 -22 -38.5599999008 -32 -0 -13 -9.95004584107 -23 -38.5599999008 -33 -0 -0 -SOLID -5 -384 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10 -20 --5.125 -30 -0 -11 -9.95004584107 -21 --4.825 -31 -0 -12 -10.0499541589 -22 --4.825 -32 -0 -13 -10.0499541589 -23 --4.825 -33 -0 -0 -LINE -5 -385 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10 -20 -15.8424999504 -11 -10 -21 --5.125 -0 -MTEXT -5 -386 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10 -20 -16.8674999504 -30 -0 -40 -0.8 -41 -3.2 -71 -5 -72 -1 -1 -43.985 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -387 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -21.25 -20 -38.8599999008 -11 -9.7 -21 -38.8599999008 -0 -LINE -5 -388 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -8 -20 --5.125 -11 -9.7 -21 --5.125 -0 -ENDBLK -5 -12C -330 -12A -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -12E -330 -12D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D15 -70 -1 -10 -0 -20 -0 -3 -*D15 -1 - -0 -LINE -5 -389 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -16 -20 -13.3725 -11 -17.1527777778 -21 -13.3725 -0 -SOLID -5 -38A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -16 -20 -13.3725 -30 -0 -11 -16.3 -21 -13.4224541589 -31 -0 -12 -16.3 -22 -13.3225458411 -32 -0 -13 -16.3 -23 -13.3225458411 -33 -0 -0 -SOLID -5 -38B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -20 -20 -13.3725 -30 -0 -11 -19.7 -21 -13.3225458411 -31 -0 -12 -19.7 -22 -13.4224541589 -32 -0 -13 -19.7 -23 -13.4224541589 -33 -0 -0 -LINE -5 -38C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18.8472222222 -20 -13.3725 -11 -20 -21 -13.3725 -0 -MTEXT -5 -38D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18 -20 -13.3725 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -38E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -16 -20 -15.3725 -11 -16 -21 -13.6725 -0 -LINE -5 -38F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -15.3725 -11 -20 -21 -13.6725 -0 -ENDBLK -5 -12F -330 -12D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -131 -330 -130 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D13 -70 -1 -10 -0 -20 -0 -3 -*D13 -1 - -0 -LINE -5 -390 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -38.05 -11 --5.00277777778 -21 -38.05 -0 -SOLID -5 -391 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --5 -20 -38.05 -30 -0 -11 --5.3 -21 -38.0000458411 -31 -0 -12 --5.3 -22 -38.0999541589 -32 -0 -13 --5.3 -23 -38.0999541589 -33 -0 -0 -SOLID -5 -392 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.5 -20 -38.05 -30 -0 -11 --7.2 -21 -38.0999541589 -31 -0 -12 --7.2 -22 -38.0000458411 -32 -0 -13 --7.2 -23 -38.0000458411 -33 -0 -0 -LINE -5 -393 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.49722222222 -20 -38.05 -11 --7.5 -21 -38.05 -0 -MTEXT -5 -394 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --6.25 -20 -38.05 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -395 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -39.1 -11 --5 -21 -37.75 -0 -LINE -5 -396 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.5 -20 -39.1 -11 --7.5 -21 -37.75 -0 -ENDBLK -5 -132 -330 -130 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -134 -330 -133 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D97 -70 -1 -10 -0 -20 -0 -3 -*D97 -1 - -0 -LINE -5 -397 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -17.5000001207 -20 -63.7501208602 -11 -14.9972223429 -21 -63.7501208602 -0 -SOLID -5 -398 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -17.5000001207 -20 -63.7501208602 -30 -0 -11 -17.2000001207 -21 -63.7001667013 -31 -0 -12 -17.2000001207 -22 -63.8000750191 -32 -0 -13 -17.2000001207 -23 -63.8000750191 -33 -0 -0 -SOLID -5 -399 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10.0000001207 -20 -63.7501208602 -30 -0 -11 -10.3000001207 -21 -63.8000750191 -31 -0 -12 -10.3000001207 -22 -63.7001667013 -32 -0 -13 -10.3000001207 -23 -63.7001667013 -33 -0 -0 -LINE -5 -39A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -12.5027778985 -20 -63.7501208602 -11 -10.0000001207 -21 -63.7501208602 -0 -MTEXT -5 -39B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -13.7500001207 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -39C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -17.5000001207 -20 -62.9999999064 -11 -17.5000001207 -21 -64.0501208602 -0 -LINE -5 -39D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.0000001207 -20 -62.9999999376 -11 -10.0000001207 -21 -64.0501208602 -0 -ENDBLK -5 -135 -330 -133 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -137 -330 -136 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D50 -70 -1 -10 -0 -20 -0 -3 -*D50 -1 - -0 -LINE -5 -39E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.5000002591 -20 -45.4281607231 -11 -76.3027780099 -21 -45.4281607231 -0 -SOLID -5 -39F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -78.5000002591 -20 -45.4281607231 -30 -0 -11 -78.2000002591 -21 -45.3782065642 -31 -0 -12 -78.2000002591 -22 -45.478114882 -32 -0 -13 -78.2000002591 -23 -45.478114882 -33 -0 -0 -SOLID -5 -3A0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.500000205 -20 -45.4281607231 -30 -0 -11 -72.800000205 -21 -45.478114882 -31 -0 -12 -72.800000205 -22 -45.3782065642 -32 -0 -13 -72.800000205 -23 -45.3782065642 -33 -0 -0 -LINE -5 -3A1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -74.6972224543 -20 -45.4281607231 -11 -72.500000205 -21 -45.4281607231 -0 -MTEXT -5 -3A2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -75.5000002321 -20 -46.4531607231 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3A3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.5000002591 -20 -36.9999997275 -11 -78.5000002591 -21 -45.7281607231 -0 -LINE -5 -3A4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.500000205 -20 -30.5 -11 -72.500000205 -21 -45.7281607231 -0 -ENDBLK -5 -138 -330 -136 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -13A -330 -139 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D61 -70 -1 -10 -0 -20 -0 -3 -*D61 -1 - -0 -LINE -5 -3A5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --60.9097634776 -11 -80.4694905447 -21 --60.9097634776 -0 -SOLID -5 -3A6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -77.9667127669 -20 --60.9097634776 -30 -0 -11 -78.2667127669 -21 --60.8598093187 -31 -0 -12 -78.2667127669 -22 --60.9597176365 -32 -0 -13 -78.2667127669 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -3A7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -85.4667127669 -20 --60.9097634776 -30 -0 -11 -85.1667127669 -21 --60.9597176365 -31 -0 -12 -85.1667127669 -22 --60.8598093187 -32 -0 -13 -85.1667127669 -23 --60.8598093187 -33 -0 -0 -LINE -5 -3A8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.9639349891 -20 --60.9097634776 -11 -85.4667127669 -21 --60.9097634776 -0 -MTEXT -5 -3A9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -81.7167127669 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3AA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --65.377784531 -11 -77.9667127669 -21 --60.6097634776 -0 -LINE -5 -3AB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -85.4667127669 -20 --61.877784531 -11 -85.4667127669 -21 --60.6097634776 -0 -ENDBLK -5 -13B -330 -139 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -13D -330 -13C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D76 -70 -1 -10 -0 -20 -0 -3 -*D76 -1 - -0 -LINE -5 -3AC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --67.377784531 -11 -76.2694905447 -21 --67.377784531 -0 -SOLID -5 -3AD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -77.9667127669 -20 --67.377784531 -30 -0 -11 -77.6667127669 -21 --67.4277386899 -31 -0 -12 -77.6667127669 -22 --67.3278303721 -32 -0 -13 -77.6667127669 -23 --67.3278303721 -33 -0 -0 -SOLID -5 -3AE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.9667127669 -20 --67.377784531 -30 -0 -11 -73.2667127669 -21 --67.3278303721 -31 -0 -12 -73.2667127669 -22 --67.4277386899 -32 -0 -13 -73.2667127669 -23 --67.4277386899 -33 -0 -0 -LINE -5 -3AF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -74.6639349891 -20 --67.377784531 -11 -72.9667127669 -21 --67.377784531 -0 -MTEXT -5 -3B0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -75.4667127669 -20 --67.377784531 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3B1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --65.377784531 -11 -77.9667127669 -21 --67.077784531 -0 -LINE -5 -3B2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --74.6108771873 -11 -72.9667127669 -21 --67.077784531 -0 -ENDBLK -5 -13E -330 -13C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -140 -330 -13F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D6 -70 -1 -10 -0 -20 -0 -3 -*D6 -1 - -0 -LINE -5 -3B3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -46.1646667417 -11 -25.0027780876 -21 -46.1646667417 -0 -SOLID -5 -3B4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.0000003098 -20 -46.1646667417 -30 -0 -11 -25.3000003098 -21 -46.2146209006 -31 -0 -12 -25.3000003098 -22 -46.1147125828 -32 -0 -13 -25.3000003098 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -3B5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -27.5000003098 -20 -46.1646667417 -30 -0 -11 -27.2000003098 -21 -46.1147125828 -31 -0 -12 -27.2000003098 -22 -46.2146209006 -32 -0 -13 -27.2000003098 -23 -46.2146209006 -33 -0 -0 -LINE -5 -3B6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.497222532 -20 -46.1646667417 -11 -27.5000003098 -21 -46.1646667417 -0 -MTEXT -5 -3B7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -26.2500003098 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3B8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -43.0999998752 -11 -25.0000003098 -21 -46.4646667417 -0 -LINE -5 -3B9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -43.0999998544 -11 -27.5000003098 -21 -46.4646667417 -0 -ENDBLK -5 -141 -330 -13F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -143 -330 -142 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D27 -70 -1 -10 -0 -20 -0 -3 -*D27 -1 - -0 -LINE -5 -3BA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -41.0999994219 -11 -121.702603419 -21 -40.3749995633 -0 -SOLID -5 -3BB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -41.0999994219 -30 -0 -11 -121.752557578 -21 -40.7999994219 -31 -0 -12 -121.65264926 -22 -40.7999994219 -32 -0 -13 -121.65264926 -23 -40.7999994219 -33 -0 -0 -SOLID -5 -3BC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -37.5999997047 -30 -0 -11 -121.65264926 -21 -37.8999997047 -31 -0 -12 -121.752557578 -22 -37.8999997047 -32 -0 -13 -121.752557578 -23 -37.8999997047 -33 -0 -0 -LINE -5 -3BD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -38.3249995633 -11 -121.702603419 -21 -37.5999997047 -0 -MTEXT -5 -3BE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -121.702603419 -20 -39.3499995633 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -3.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3BF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.5000003098 -20 -41.0999994219 -11 -122.002603419 -21 -41.0999994219 -0 -LINE -5 -3C0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000003098 -20 -37.5999997047 -11 -122.002603419 -21 -37.5999997047 -0 -ENDBLK -5 -144 -330 -142 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -146 -330 -145 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D20 -70 -1 -10 -0 -20 -0 -3 -*D20 -1 - -0 -LINE -5 -3C1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -31 -11 -23 -21 -24.46125 -0 -SOLID -5 -3C2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -31 -30 -0 -11 -23.0499541589 -21 -30.7 -31 -0 -12 -22.9500458411 -22 -30.7 -32 -0 -13 -22.9500458411 -23 -30.7 -33 -0 -0 -SOLID -5 -3C3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -15.8725 -30 -0 -11 -22.9500458411 -21 -16.1725 -31 -0 -12 -23.0499541589 -22 -16.1725 -32 -0 -13 -23.0499541589 -23 -16.1725 -33 -0 -0 -LINE -5 -3C4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -22.41125 -11 -23 -21 -15.8725 -0 -MTEXT -5 -3C5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -23.43625 -30 -0 -40 -0.8 -41 -3.37777777778 -71 -5 -72 -1 -1 -15.1275 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3C6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -31 -11 -23.3 -21 -31 -0 -LINE -5 -3C7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -15.8725 -11 -23.3 -21 -15.8725 -0 -ENDBLK -5 -147 -330 -145 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -149 -330 -148 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D51 -70 -1 -10 -0 -20 -0 -3 -*D51 -1 - -0 -LINE -5 -3C8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -70.4462495497 -11 -50.0719282636 -21 -73.4462495497 -0 -SOLID -5 -3C9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -70.4462495497 -30 -0 -11 -50.0219741047 -21 -70.7462495497 -31 -0 -12 -50.1218824225 -22 -70.7462495497 -32 -0 -13 -50.1218824225 -23 -70.7462495497 -33 -0 -0 -SOLID -5 -3CA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -73.4462495497 -30 -0 -11 -50.1218824225 -21 -73.1462495497 -31 -0 -12 -50.0219741047 -22 -73.1462495497 -32 -0 -13 -50.0219741047 -23 -73.1462495497 -33 -0 -0 -MTEXT -5 -3CB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -49.0469282636 -20 -71.9462495497 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3CC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -70.4462495497 -11 -50.3719282636 -21 -70.4462495497 -0 -LINE -5 -3CD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -73.4462495497 -11 -50.3719282636 -21 -73.4462495497 -0 -ENDBLK -5 -14A -330 -148 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -14C -330 -14B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D31 -70 -1 -10 -0 -20 -0 -3 -*D31 -1 - -0 -LINE -5 -3CE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 --11.0264554944 -11 -121.702603419 -21 --11.1336724825 -0 -SOLID -5 -3CF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 --11.0264554944 -30 -0 -11 -121.752557578 -21 --11.3264554944 -31 -0 -12 -121.65264926 -22 --11.3264554944 -32 -0 -13 -121.65264926 -23 --11.3264554944 -33 -0 -0 -SOLID -5 -3D0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 --13.2908894707 -30 -0 -11 -121.65264926 -21 --12.9908894707 -31 -0 -12 -121.752557578 -22 --12.9908894707 -32 -0 -13 -121.752557578 -23 --12.9908894707 -33 -0 -0 -LINE -5 -3D1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 --13.1836724825 -11 -121.702603419 -21 --13.2908894707 -0 -MTEXT -5 -3D2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -125.104264852 -20 --12.1586724825 -30 -0 -40 -0.8 -41 -3.28888888889 -71 -5 -72 -1 -1 -2.2644 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3D3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000001003 -20 --11.0264554944 -11 -122.002603419 -21 --11.0264554944 -0 -LINE -5 -3D4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.4999998574 -20 --13.2908894707 -11 -122.002603419 -21 --13.2908894707 -0 -ENDBLK -5 -14D -330 -14B -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -14F -330 -14E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D25 -70 -1 -10 -0 -20 -0 -3 -*D25 -1 - -0 -LINE -5 -3D5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -7.3725 -11 -23 -21 -7.21125 -0 -SOLID -5 -3D6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -7.3725 -30 -0 -11 -23.0499541589 -21 -7.0725 -31 -0 -12 -22.9500458411 -22 -7.0725 -32 -0 -13 -22.9500458411 -23 -7.0725 -33 -0 -0 -SOLID -5 -3D7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -5 -30 -0 -11 -22.9500458411 -21 -5.3 -31 -0 -12 -23.0499541589 -22 -5.3 -32 -0 -13 -23.0499541589 -23 -5.3 -33 -0 -0 -LINE -5 -3D8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -5.16125 -11 -23 -21 -5 -0 -MTEXT -5 -3D9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -26.3668055556 -20 -6.18625 -30 -0 -40 -0.8 -41 -3.11111111111 -71 -5 -72 -1 -1 -2.3725 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3DA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -7.3725 -11 -23.3 -21 -7.3725 -0 -LINE -5 -3DB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23.8775 -20 -5 -11 -23.3 -21 -5 -0 -ENDBLK -5 -150 -330 -14E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -152 -330 -151 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D37 -70 -1 -10 -0 -20 -0 -3 -*D37 -1 - -0 -LINE -5 -3DC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --20.4594594595 -20 --54.2894562715 -11 --17.7622372373 -21 --54.2894562715 -0 -SOLID -5 -3DD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --20.4594594595 -20 --54.2894562715 -30 -0 -11 --20.1594594595 -21 --54.2395021126 -31 -0 -12 --20.1594594595 -22 --54.3394104304 -32 -0 -13 --20.1594594595 -23 --54.3394104304 -33 -0 -0 -SOLID -5 -3DE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --13.4594594595 -20 --54.2894562715 -30 -0 -11 --13.7594594595 -21 --54.3394104304 -31 -0 -12 --13.7594594595 -22 --54.2395021126 -32 -0 -13 --13.7594594595 -23 --54.2395021126 -33 -0 -0 -LINE -5 -3DF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --16.1566816817 -20 --54.2894562715 -11 --13.4594594595 -21 --54.2894562715 -0 -MTEXT -5 -3E0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --16.9594594595 -20 --54.2894562715 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3E1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --20.4594594595 -20 --66.8175675676 -11 --20.4594594595 -21 --53.9894562715 -0 -LINE -5 -3E2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --13.4594594595 -20 --66.8175675676 -11 --13.4594594595 -21 --53.9894562715 -0 -ENDBLK -5 -153 -330 -151 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -155 -330 -154 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D36 -70 -1 -10 -0 -20 -0 -3 -*D36 -1 - -0 -LINE -5 -3E3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -87.5000003098 -20 -45.4281607231 -11 -83.8027780622 -21 -45.4281607231 -0 -SOLID -5 -3E4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -87.5000003098 -20 -45.4281607231 -30 -0 -11 -87.2000003098 -21 -45.3782065642 -31 -0 -12 -87.2000003098 -22 -45.478114882 -32 -0 -13 -87.2000003098 -23 -45.478114882 -33 -0 -0 -SOLID -5 -3E5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -78.5000002591 -20 -45.4281607231 -30 -0 -11 -78.8000002591 -21 -45.478114882 -31 -0 -12 -78.8000002591 -22 -45.3782065642 -32 -0 -13 -78.8000002591 -23 -45.3782065642 -33 -0 -0 -LINE -5 -3E6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.1972225066 -20 -45.4281607231 -11 -78.5000002591 -21 -45.4281607231 -0 -MTEXT -5 -3E7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -83.0000002844 -20 -45.4281607231 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -9 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3E8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -87.5000003098 -20 -43.0999995051 -11 -87.5000003098 -21 -45.7281607231 -0 -LINE -5 -3E9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.5000002591 -20 -36.9999997275 -11 -78.5000002591 -21 -45.7281607231 -0 -ENDBLK -5 -156 -330 -154 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -158 -330 -157 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D79 -70 -1 -10 -0 -20 -0 -3 -*D79 -1 - -0 -LINE -5 -3EA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -168.966712767 -20 --67.377784531 -11 -168.966712767 -21 --78.352784531 -0 -SOLID -5 -3EB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -168.966712767 -20 --67.377784531 -30 -0 -11 -169.016666926 -21 --67.677784531 -31 -0 -12 -168.916758608 -22 --67.677784531 -32 -0 -13 -168.916758608 -23 --67.677784531 -33 -0 -0 -SOLID -5 -3EC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -168.966712767 -20 --91.377784531 -30 -0 -11 -168.916758608 -21 --91.077784531 -31 -0 -12 -169.016666926 -22 --91.077784531 -32 -0 -13 -169.016666926 -23 --91.077784531 -33 -0 -0 -LINE -5 -3ED -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -168.966712767 -20 --80.402784531 -11 -168.966712767 -21 --91.377784531 -0 -MTEXT -5 -3EE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -168.966712767 -20 --79.377784531 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -24 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3EF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -166.966712767 -20 --67.377784531 -11 -168.666712767 -21 --67.377784531 -0 -LINE -5 -3F0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -166.966712767 -20 --91.377784531 -11 -168.666712767 -21 --91.377784531 -0 -ENDBLK -5 -159 -330 -157 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -15B -330 -15A -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D43 -70 -1 -10 -0 -20 -0 -3 -*D43 -1 - -0 -LINE -5 -3F1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -41.1 -11 --2.30277777778 -21 -41.1 -0 -SOLID -5 -3F2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --5 -20 -41.1 -30 -0 -11 --4.7 -21 -41.1499541589 -31 -0 -12 --4.7 -22 -41.0500458411 -32 -0 -13 --4.7 -23 -41.0500458411 -33 -0 -0 -SOLID -5 -3F3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -2 -20 -41.1 -30 -0 -11 -1.7 -21 -41.0500458411 -31 -0 -12 -1.7 -22 -41.1499541589 -32 -0 -13 -1.7 -23 -41.1499541589 -33 -0 -0 -LINE -5 -3F4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --0.697222222222 -20 -41.1 -11 -2 -21 -41.1 -0 -MTEXT -5 -3F5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --1.5 -20 -42.125 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3F6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -43.1 -11 --5 -21 -41.4 -0 -LINE -5 -3F7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2 -20 -36.9999999652 -11 -2 -21 -41.4 -0 -ENDBLK -5 -15C -330 -15A -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -15E -330 -15D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D3 -70 -1 -10 -0 -20 -0 -3 -*D3 -1 - -0 -LINE -5 -3F8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.5 -20 -46.1646667417 -11 --16.025 -21 -46.1646667417 -0 -SOLID -5 -3F9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --22.5 -20 -46.1646667417 -30 -0 -11 --22.2 -21 -46.2146209006 -31 -0 -12 --22.2 -22 -46.1147125828 -32 -0 -13 --22.2 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -3FA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.5 -20 -46.1646667417 -30 -0 -11 --7.8 -21 -46.1147125828 -31 -0 -12 --7.8 -22 -46.2146209006 -32 -0 -13 --7.8 -23 -46.2146209006 -33 -0 -0 -LINE -5 -3FB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --13.975 -20 -46.1646667417 -11 --7.5 -21 -46.1646667417 -0 -MTEXT -5 -3FC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --15 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3FD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.5 -20 -43.1 -11 --22.5 -21 -46.4646667417 -0 -LINE -5 -3FE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.5 -20 -43.1 -11 --7.5 -21 -46.4646667417 -0 -ENDBLK -5 -15F -330 -15D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -161 -330 -160 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D89 -70 -1 -10 -0 -20 -0 -3 -*D89 -1 - -0 -LINE -5 -3FF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -37.9999999563 -11 --12.0522616552 -21 -32.5874999782 -0 -SOLID -5 -400 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -37.9999999563 -30 -0 -11 --12.0023074963 -21 -37.6999999563 -31 -0 -12 --12.1022158141 -22 -37.6999999563 -32 -0 -13 --12.1022158141 -23 -37.6999999563 -33 -0 -0 -SOLID -5 -401 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -25.125 -30 -0 -11 --12.1022158141 -21 -25.425 -31 -0 -12 --12.0023074963 -22 -25.425 -32 -0 -13 --12.0023074963 -23 -25.425 -33 -0 -0 -LINE -5 -402 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -30.5374999782 -11 --12.0522616552 -21 -25.125 -0 -MTEXT -5 -403 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -31.5624999782 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -12.875 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -404 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -3.50000002498 -20 -37.9999999563 -11 --12.3522616552 -21 -37.9999999563 -0 -LINE -5 -405 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.125 -20 -25.125 -11 --12.3522616552 -21 -25.125 -0 -ENDBLK -5 -162 -330 -160 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -164 -330 -163 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D93 -70 -1 -10 -0 -20 -0 -3 -*D93 -1 - -0 -LINE -5 -406 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -13.3 -11 --12.0522616552 -21 -7.575 -0 -SOLID -5 -407 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -13.3 -30 -0 -11 --12.0023074963 -21 -13 -31 -0 -12 --12.1022158141 -22 -13 -32 -0 -13 --12.1022158141 -23 -13 -33 -0 -0 -SOLID -5 -408 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 --0.2 -30 -0 -11 --12.1022158141 -21 -0.1 -31 -0 -12 --12.0023074963 -22 -0.1 -32 -0 -13 --12.0023074963 -23 -0.1 -33 -0 -0 -LINE -5 -409 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -5.525 -11 --12.0522616552 -21 --0.2 -0 -MTEXT -5 -40A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -6.55 -30 -0 -40 -0.8 -41 -1.68888888889 -71 -5 -72 -1 -1 -13.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -40B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.125 -20 -13.3 -11 --12.3522616552 -21 -13.3 -0 -LINE -5 -40C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -7.05 -20 --0.2 -11 --12.3522616552 -21 --0.2 -0 -ENDBLK -5 -165 -330 -163 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -167 -330 -166 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D62 -70 -1 -10 -0 -20 -0 -3 -*D62 -1 - -0 -LINE -5 -40D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -85.4667127669 -20 --60.9097634776 -11 -86.1639349891 -21 --60.9097634776 -0 -SOLID -5 -40E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -85.4667127669 -20 --60.9097634776 -30 -0 -11 -85.7667127669 -21 --60.8598093187 -31 -0 -12 -85.7667127669 -22 --60.9597176365 -32 -0 -13 -85.7667127669 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -40F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -88.4667127669 -20 --60.9097634776 -30 -0 -11 -88.1667127669 -21 --60.9597176365 -31 -0 -12 -88.1667127669 -22 --60.8598093187 -32 -0 -13 -88.1667127669 -23 --60.8598093187 -33 -0 -0 -LINE -5 -410 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -87.7694905447 -20 --60.9097634776 -11 -88.4667127669 -21 --60.9097634776 -0 -MTEXT -5 -411 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -86.9667127669 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -412 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -85.4667127669 -20 --61.877784531 -11 -85.4667127669 -21 --60.6097634776 -0 -LINE -5 -413 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.4667127669 -20 --61.877784531 -11 -88.4667127669 -21 --60.6097634776 -0 -ENDBLK -5 -168 -330 -166 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -16A -330 -169 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D35 -70 -1 -10 -0 -20 -0 -3 -*D35 -1 - -0 -LINE -5 -414 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -97.5000003098 -20 -45.4281607231 -11 -93.5250003098 -21 -45.4281607231 -0 -SOLID -5 -415 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -97.5000003098 -20 -45.4281607231 -30 -0 -11 -97.2000003098 -21 -45.3782065642 -31 -0 -12 -97.2000003098 -22 -45.478114882 -32 -0 -13 -97.2000003098 -23 -45.478114882 -33 -0 -0 -SOLID -5 -416 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -87.5000003098 -20 -45.4281607231 -30 -0 -11 -87.8000003098 -21 -45.478114882 -31 -0 -12 -87.8000003098 -22 -45.3782065642 -32 -0 -13 -87.8000003098 -23 -45.3782065642 -33 -0 -0 -LINE -5 -417 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -91.4750003098 -20 -45.4281607231 -11 -87.5000003098 -21 -45.4281607231 -0 -MTEXT -5 -418 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -92.5000003098 -20 -45.4281607231 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -419 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -97.5000003098 -20 -43.0999994219 -11 -97.5000003098 -21 -45.7281607231 -0 -LINE -5 -41A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -87.5000003098 -20 -43.0999995051 -11 -87.5000003098 -21 -45.7281607231 -0 -ENDBLK -5 -16B -330 -169 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -16D -330 -16C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D21 -70 -1 -10 -0 -20 -0 -3 -*D21 -1 - -0 -LINE -5 -41B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -15.8725 -11 -23 -21 -14.8725 -0 -SOLID -5 -41C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -15.8725 -30 -0 -11 -23.0499541589 -21 -15.5725 -31 -0 -12 -22.9500458411 -22 -15.5725 -32 -0 -13 -22.9500458411 -23 -15.5725 -33 -0 -0 -SOLID -5 -41D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -14.8725 -30 -0 -11 -22.9500458411 -21 -15.1725 -31 -0 -12 -23.0499541589 -22 -15.1725 -32 -0 -13 -23.0499541589 -23 -15.1725 -33 -0 -0 -MTEXT -5 -41E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -15.3725 -30 -0 -40 -0.8 -41 -0.177777777778 -71 -5 -72 -1 -1 -1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -41F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -15.8725 -11 -23.3 -21 -15.8725 -0 -LINE -5 -420 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22 -20 -14.8725 -11 -23.3 -21 -14.8725 -0 -ENDBLK -5 -16E -330 -16C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -170 -330 -16F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D87 -70 -1 -10 -0 -20 -0 -3 -*D87 -1 - -0 -LINE -5 -421 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -46.9999999522 -11 --12.0522616552 -21 -44.0249999522 -0 -SOLID -5 -422 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -46.9999999522 -30 -0 -11 --12.0023074963 -21 -46.6999999522 -31 -0 -12 --12.1022158141 -22 -46.6999999522 -32 -0 -13 --12.1022158141 -23 -46.6999999522 -33 -0 -0 -SOLID -5 -423 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -38.9999999522 -30 -0 -11 --12.1022158141 -21 -39.2999999522 -31 -0 -12 --12.0023074963 -22 -39.2999999522 -32 -0 -13 --12.0023074963 -23 -39.2999999522 -33 -0 -0 -LINE -5 -424 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -41.9749999522 -11 --12.0522616552 -21 -38.9999999522 -0 -MTEXT -5 -425 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -42.9999999522 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -8 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -426 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000006244 -20 -46.9999999522 -11 --12.3522616552 -21 -46.9999999522 -0 -LINE -5 -427 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000002914 -20 -38.9999999522 -11 --12.3522616552 -21 -38.9999999522 -0 -ENDBLK -5 -171 -330 -16F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -173 -330 -172 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D39 -70 -1 -10 -0 -20 -0 -3 -*D39 -1 - -0 -LINE -5 -428 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --68.8175675676 -11 --26.2473817511 -21 --66.3425675676 -0 -SOLID -5 -429 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --68.8175675676 -30 -0 -11 --26.29733591 -21 --68.5175675676 -31 -0 -12 --26.1974275922 -22 --68.5175675676 -32 -0 -13 --26.1974275922 -23 --68.5175675676 -33 -0 -0 -SOLID -5 -42A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --61.8175675676 -30 -0 -11 --26.1974275922 -21 --62.1175675676 -31 -0 -12 --26.29733591 -22 --62.1175675676 -32 -0 -13 --26.29733591 -23 --62.1175675676 -33 -0 -0 -LINE -5 -42B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --64.2925675676 -11 --26.2473817511 -21 --61.8175675676 -0 -MTEXT -5 -42C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --26.2473817511 -20 --65.3175675676 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -42D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --15.4594594595 -20 --68.8175675676 -11 --26.5473817511 -21 --68.8175675676 -0 -LINE -5 -42E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --15.4594594595 -20 --61.8175675676 -11 --26.5473817511 -21 --61.8175675676 -0 -ENDBLK -5 -174 -330 -172 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -176 -330 -175 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D68 -70 -1 -10 -0 -20 -0 -3 -*D68 -1 - -0 -LINE -5 -42F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --96.377784531 -11 -185.339708867 -21 --94.902784531 -0 -SOLID -5 -430 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --96.377784531 -30 -0 -11 -185.289754708 -21 --96.077784531 -31 -0 -12 -185.389663026 -22 --96.077784531 -32 -0 -13 -185.389663026 -23 --96.077784531 -33 -0 -0 -SOLID -5 -431 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --91.377784531 -30 -0 -11 -185.389663026 -21 --91.677784531 -31 -0 -12 -185.289754708 -22 --91.677784531 -32 -0 -13 -185.289754708 -23 --91.677784531 -33 -0 -0 -LINE -5 -432 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --92.852784531 -11 -185.339708867 -21 --91.377784531 -0 -MTEXT -5 -433 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --93.877784531 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -434 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --96.377784531 -11 -185.639708867 -21 --96.377784531 -0 -LINE -5 -435 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -170.966712767 -20 --91.377784531 -11 -185.639708867 -21 --91.377784531 -0 -ENDBLK -5 -177 -330 -175 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -179 -330 -178 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D107 -70 -1 -10 -0 -20 -0 -3 -*D107 -1 - -0 -LINE -5 -436 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -122.750000121 -20 -63.7501208602 -11 -125.252777892 -21 -63.7501208602 -0 -SOLID -5 -437 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -122.750000121 -20 -63.7501208602 -30 -0 -11 -123.050000121 -21 -63.8000750191 -31 -0 -12 -123.050000121 -22 -63.7001667013 -32 -0 -13 -123.050000121 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -438 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -130.250000108 -20 -63.7501208602 -30 -0 -11 -129.950000108 -21 -63.7001667013 -31 -0 -12 -129.950000108 -22 -63.8000750191 -32 -0 -13 -129.950000108 -23 -63.8000750191 -33 -0 -0 -LINE -5 -439 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.747222336 -20 -63.7501208602 -11 -130.250000108 -21 -63.7501208602 -0 -MTEXT -5 -43A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -126.500000114 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -43B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -122.750000121 -20 -62.9999999688 -11 -122.750000121 -21 -64.0501208602 -0 -LINE -5 -43C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -130.250000108 -20 -59.9999999376 -11 -130.250000108 -21 -64.0501208602 -0 -ENDBLK -5 -17A -330 -178 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -17C -330 -17B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D28 -70 -1 -10 -0 -20 -0 -3 -*D28 -1 - -0 -LINE -5 -43D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -37.5999997047 -11 -121.702603419 -21 -32.3568747981 -0 -SOLID -5 -43E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -37.5999997047 -30 -0 -11 -121.752557578 -21 -37.2999997047 -31 -0 -12 -121.65264926 -22 -37.2999997047 -32 -0 -13 -121.65264926 -23 -37.2999997047 -33 -0 -0 -SOLID -5 -43F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -25.0637498916 -30 -0 -11 -121.65264926 -21 -25.3637498916 -31 -0 -12 -121.752557578 -22 -25.3637498916 -32 -0 -13 -121.752557578 -23 -25.3637498916 -33 -0 -0 -LINE -5 -440 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -30.3068747981 -11 -121.702603419 -21 -25.0637498916 -0 -MTEXT -5 -441 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -121.702603419 -20 -31.3318747981 -30 -0 -40 -0.8 -41 -3.55555555556 -71 -5 -72 -1 -1 -12.5362 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -442 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000003098 -20 -37.5999997047 -11 -122.002603419 -21 -37.5999997047 -0 -LINE -5 -443 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -104.500000241 -20 -25.0637498916 -11 -122.002603419 -21 -25.0637498916 -0 -ENDBLK -5 -17D -330 -17B -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -17F -330 -17E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D26 -70 -1 -10 -0 -20 -0 -3 -*D26 -1 - -0 -LINE -5 -444 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -5 -11 -23 -21 -3.025 -0 -SOLID -5 -445 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -5 -30 -0 -11 -23.0499541589 -21 -4.7 -31 -0 -12 -22.9500458411 -22 -4.7 -32 -0 -13 -22.9500458411 -23 -4.7 -33 -0 -0 -SOLID -5 -446 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 --1 -30 -0 -11 -22.9500458411 -21 --0.7 -31 -0 -12 -23.0499541589 -22 --0.7 -32 -0 -13 -23.0499541589 -23 --0.7 -33 -0 -0 -LINE -5 -447 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -0.975 -11 -23 -21 --1 -0 -MTEXT -5 -448 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -2 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -449 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23.8775 -20 -5 -11 -23.3 -21 -5 -0 -LINE -5 -44A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23.8775 -20 --1 -11 -23.3 -21 --1 -0 -ENDBLK -5 -180 -330 -17E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -182 -330 -181 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D30 -70 -1 -10 -0 -20 -0 -3 -*D30 -1 - -0 -LINE -5 -44B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -13.3725 -11 -121.702603419 -21 -2.1980222528 -0 -SOLID -5 -44C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -13.3725 -30 -0 -11 -121.752557578 -21 -13.0725 -31 -0 -12 -121.65264926 -22 -13.0725 -32 -0 -13 -121.65264926 -23 -13.0725 -33 -0 -0 -SOLID -5 -44D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 --11.0264554944 -30 -0 -11 -121.65264926 -21 --10.7264554944 -31 -0 -12 -121.752557578 -22 --10.7264554944 -32 -0 -13 -121.752557578 -23 --10.7264554944 -33 -0 -0 -LINE -5 -44E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -0.1480222528 -11 -121.702603419 -21 --11.0264554944 -0 -MTEXT -5 -44F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -121.702603419 -20 -1.1730222528 -30 -0 -40 -0.8 -41 -3.2 -71 -5 -72 -1 -1 -24.399 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -450 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000001944 -20 -13.3725 -11 -122.002603419 -21 -13.3725 -0 -LINE -5 -451 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000001003 -20 --11.0264554944 -11 -122.002603419 -21 --11.0264554944 -0 -ENDBLK -5 -183 -330 -181 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -185 -330 -184 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D108 -70 -1 -10 -0 -20 -0 -3 -*D108 -1 - -0 -LINE -5 -452 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -130.250000108 -20 -63.7501208602 -11 -132.752777892 -21 -63.7501208602 -0 -SOLID -5 -453 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -130.250000108 -20 -63.7501208602 -30 -0 -11 -130.550000108 -21 -63.8000750191 -31 -0 -12 -130.550000108 -22 -63.7001667013 -32 -0 -13 -130.550000108 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -454 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -137.750000121 -20 -63.7501208602 -30 -0 -11 -137.450000121 -21 -63.7001667013 -31 -0 -12 -137.450000121 -22 -63.8000750191 -32 -0 -13 -137.450000121 -23 -63.8000750191 -33 -0 -0 -LINE -5 -455 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -135.247222336 -20 -63.7501208602 -11 -137.750000121 -21 -63.7501208602 -0 -MTEXT -5 -456 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -134.000000114 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -457 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -130.250000108 -20 -59.9999999376 -11 -130.250000108 -21 -64.0501208602 -0 -LINE -5 -458 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -137.750000121 -20 -62.9999999064 -11 -137.750000121 -21 -64.0501208602 -0 -ENDBLK -5 -186 -330 -184 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -188 -330 -187 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D75 -70 -1 -10 -0 -20 -0 -3 -*D75 -1 - -0 -LINE -5 -459 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --67.377784531 -11 -72.9667127669 -21 --80.852784531 -0 -SOLID -5 -45A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.9667127669 -20 --67.377784531 -30 -0 -11 -73.0166669258 -21 --67.677784531 -31 -0 -12 -72.916758608 -22 --67.677784531 -32 -0 -13 -72.916758608 -23 --67.677784531 -33 -0 -0 -SOLID -5 -45B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.9667127669 -20 --96.377784531 -30 -0 -11 -72.916758608 -21 --96.077784531 -31 -0 -12 -73.0166669258 -22 --96.077784531 -32 -0 -13 -73.0166669258 -23 --96.077784531 -33 -0 -0 -LINE -5 -45C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --82.902784531 -11 -72.9667127669 -21 --96.377784531 -0 -MTEXT -5 -45D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -72.9667127669 -20 --81.877784531 -30 -0 -40 -0.8 -41 -0.977777777778 -71 -5 -72 -1 -1 -29 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -45E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -75.9667127669 -20 --67.377784531 -11 -72.6667127669 -21 --67.377784531 -0 -LINE -5 -45F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.9667127669 -20 --96.377784531 -11 -72.6667127669 -21 --96.377784531 -0 -ENDBLK -5 -189 -330 -187 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -18B -330 -18A -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D85 -70 -1 -10 -0 -20 -0 -3 -*D85 -1 - -0 -LINE -5 -460 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -54.9999999688 -11 --12.0522616552 -21 -52.5249999626 -0 -SOLID -5 -461 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -54.9999999688 -30 -0 -11 --12.0023074963 -21 -54.6999999688 -31 -0 -12 --12.1022158141 -22 -54.6999999688 -32 -0 -13 --12.1022158141 -23 -54.6999999688 -33 -0 -0 -SOLID -5 -462 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -47.9999999563 -30 -0 -11 --12.1022158141 -21 -48.2999999563 -31 -0 -12 --12.0023074963 -22 -48.2999999563 -32 -0 -13 --12.0023074963 -23 -48.2999999563 -33 -0 -0 -LINE -5 -463 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -50.4749999626 -11 --12.0522616552 -21 -47.9999999563 -0 -MTEXT -5 -464 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -51.4999999626 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -465 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000009574 -20 -54.9999999688 -11 --12.3522616552 -21 -54.9999999688 -0 -LINE -5 -466 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -3.5000000666 -20 -47.9999999563 -11 --12.3522616552 -21 -47.9999999563 -0 -ENDBLK -5 -18C -330 -18A -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -18E -330 -18D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D60 -70 -1 -10 -0 -20 -0 -3 -*D60 -1 - -0 -LINE -5 -467 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.4667127669 -20 --60.9097634776 -11 -72.9694905447 -21 --60.9097634776 -0 -SOLID -5 -468 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -70.4667127669 -20 --60.9097634776 -30 -0 -11 -70.7667127669 -21 --60.8598093187 -31 -0 -12 -70.7667127669 -22 --60.9597176365 -32 -0 -13 -70.7667127669 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -469 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -77.9667127669 -20 --60.9097634776 -30 -0 -11 -77.6667127669 -21 --60.9597176365 -31 -0 -12 -77.6667127669 -22 --60.8598093187 -32 -0 -13 -77.6667127669 -23 --60.8598093187 -33 -0 -0 -LINE -5 -46A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -75.4639349891 -20 --60.9097634776 -11 -77.9667127669 -21 --60.9097634776 -0 -MTEXT -5 -46B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -74.2167127669 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -46C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.4667127669 -20 --61.877784531 -11 -70.4667127669 -21 --60.6097634776 -0 -LINE -5 -46D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --65.377784531 -11 -77.9667127669 -21 --60.6097634776 -0 -ENDBLK -5 -18F -330 -18D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -191 -330 -190 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D92 -70 -1 -10 -0 -20 -0 -3 -*D92 -1 - -0 -LINE -5 -46E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -18.3 -11 --12.0522616552 -21 -16.825 -0 -SOLID -5 -46F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -18.3 -30 -0 -11 --12.0023074963 -21 -18 -31 -0 -12 --12.1022158141 -22 -18 -32 -0 -13 --12.1022158141 -23 -18 -33 -0 -0 -SOLID -5 -470 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -13.3 -30 -0 -11 --12.1022158141 -21 -13.6 -31 -0 -12 --12.0023074963 -22 -13.6 -32 -0 -13 --12.0023074963 -23 -13.6 -33 -0 -0 -LINE -5 -471 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -14.775 -11 --12.0522616552 -21 -13.3 -0 -MTEXT -5 -472 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -15.8 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -473 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --2.2 -20 -18.3 -11 --12.3522616552 -21 -18.3 -0 -LINE -5 -474 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.125 -20 -13.3 -11 --12.3522616552 -21 -13.3 -0 -ENDBLK -5 -192 -330 -190 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -194 -330 -193 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D23 -70 -1 -10 -0 -20 -0 -3 -*D23 -1 - -0 -LINE -5 -475 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -11.8725 -11 -23 -21 -10.8725 -0 -SOLID -5 -476 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -11.8725 -30 -0 -11 -23.0499541589 -21 -11.5725 -31 -0 -12 -22.9500458411 -22 -11.5725 -32 -0 -13 -22.9500458411 -23 -11.5725 -33 -0 -0 -SOLID -5 -477 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -10.8725 -30 -0 -11 -22.9500458411 -21 -11.1725 -31 -0 -12 -23.0499541589 -22 -11.1725 -32 -0 -13 -23.0499541589 -23 -11.1725 -33 -0 -0 -MTEXT -5 -478 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -11.3725 -30 -0 -40 -0.8 -41 -0.177777777778 -71 -5 -72 -1 -1 -1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -479 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22 -20 -11.8725 -11 -23.3 -21 -11.8725 -0 -LINE -5 -47A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -10.8725 -11 -23.3 -21 -10.8725 -0 -ENDBLK -5 -195 -330 -193 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -197 -330 -196 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D14 -70 -1 -10 -0 -20 -0 -3 -*D14 -1 - -0 -LINE -5 -47B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --1.7763568394e-15 -20 -13.3725 -11 -1.15277777778 -21 -13.3725 -0 -SOLID -5 -47C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --1.7763568394e-15 -20 -13.3725 -30 -0 -11 -0.3 -21 -13.4224541589 -31 -0 -12 -0.3 -22 -13.3225458411 -32 -0 -13 -0.3 -23 -13.3225458411 -33 -0 -0 -SOLID -5 -47D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -4 -20 -13.3725 -30 -0 -11 -3.7 -21 -13.3225458411 -31 -0 -12 -3.7 -22 -13.4224541589 -32 -0 -13 -3.7 -23 -13.4224541589 -33 -0 -0 -LINE -5 -47E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2.84722222222 -20 -13.3725 -11 -4 -21 -13.3725 -0 -MTEXT -5 -47F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -2 -20 -13.3725 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -480 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --1.07753532009e-15 -20 -15.3725 -11 --1.75798713741e-15 -21 -13.6725 -0 -LINE -5 -481 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4 -20 -15.3725 -11 -4 -21 -13.6725 -0 -ENDBLK -5 -198 -330 -196 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -19A -330 -199 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D110 -70 -1 -10 -0 -20 -0 -3 -*D110 -1 - -0 -LINE -5 -482 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -115.125 -20 -67.8732630054 -11 -128.380555556 -21 -67.8732630054 -0 -SOLID -5 -483 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -115.125 -20 -67.8732630054 -30 -0 -11 -115.425 -21 -67.9232171643 -31 -0 -12 -115.425 -22 -67.8233088465 -32 -0 -13 -115.425 -23 -67.8233088465 -33 -0 -0 -SOLID -5 -484 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -145.375 -20 -67.8732630054 -30 -0 -11 -145.075 -21 -67.8233088465 -31 -0 -12 -145.075 -22 -67.9232171643 -32 -0 -13 -145.075 -23 -67.9232171643 -33 -0 -0 -LINE -5 -485 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -132.119444444 -20 -67.8732630054 -11 -145.375 -21 -67.8732630054 -0 -MTEXT -5 -486 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -130.25 -20 -67.8732630054 -30 -0 -40 -0.8 -41 -2.48888888889 -71 -5 -72 -1 -1 -30.25 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -487 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -115.125 -20 -27.125 -11 -115.125 -21 -68.1732630054 -0 -LINE -5 -488 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -145.375 -20 -27.125 -11 -145.375 -21 -68.1732630054 -0 -ENDBLK -5 -19B -330 -199 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -19D -330 -19C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D12 -70 -1 -10 -0 -20 -0 -3 -*D12 -1 - -0 -LINE -5 -489 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -38.0499998752 -11 -27.497222532 -21 -38.0499998752 -0 -SOLID -5 -48A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -27.5000003098 -20 -38.0499998752 -30 -0 -11 -27.2000003098 -21 -38.0000457163 -31 -0 -12 -27.2000003098 -22 -38.0999540341 -32 -0 -13 -27.2000003098 -23 -38.0999540341 -33 -0 -0 -SOLID -5 -48B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.0000003098 -20 -38.0499998752 -30 -0 -11 -25.3000003098 -21 -38.0999540341 -31 -0 -12 -25.3000003098 -22 -38.0000457163 -32 -0 -13 -25.3000003098 -23 -38.0000457163 -33 -0 -0 -LINE -5 -48C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0027780876 -20 -38.0499998752 -11 -25.0000003098 -21 -38.0499998752 -0 -MTEXT -5 -48D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -26.2500003098 -20 -38.0499998752 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -48E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -39.0999998544 -11 -27.5000003098 -21 -37.7499998752 -0 -LINE -5 -48F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -39.0999998752 -11 -25.0000003098 -21 -37.7499998752 -0 -ENDBLK -5 -19E -330 -19C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1A0 -330 -19F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D48 -70 -1 -10 -0 -20 -0 -3 -*D48 -1 - -0 -LINE -5 -490 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -25.5 -11 -19.5 -21 -22.5 -0 -SOLID -5 -491 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -25.5 -30 -0 -11 -19.5499541589 -21 -25.2 -31 -0 -12 -19.4500458411 -22 -25.2 -32 -0 -13 -19.4500458411 -23 -25.2 -33 -0 -0 -SOLID -5 -492 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -22.5 -30 -0 -11 -19.4500458411 -21 -22.8 -31 -0 -12 -19.5499541589 -22 -22.8 -32 -0 -13 -19.5499541589 -23 -22.8 -33 -0 -0 -MTEXT -5 -493 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18.475 -20 -24 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -494 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -25.5 -11 -19.8 -21 -25.5 -0 -LINE -5 -495 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -22.5 -11 -19.8 -21 -22.5 -0 -ENDBLK -5 -1A1 -330 -19F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1A3 -330 -1A2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D66 -70 -1 -10 -0 -20 -0 -3 -*D66 -1 - -0 -LINE -5 -496 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -123.466712767 -20 --60.9097634776 -11 -124.4750461 -21 --60.9097634776 -0 -SOLID -5 -497 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -123.466712767 -20 --60.9097634776 -30 -0 -11 -123.766712767 -21 --60.8598093187 -31 -0 -12 -123.766712767 -22 --60.9597176365 -32 -0 -13 -123.766712767 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -498 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -128.066712767 -20 --60.9097634776 -30 -0 -11 -127.766712767 -21 --60.9597176365 -31 -0 -12 -127.766712767 -22 --60.8598093187 -32 -0 -13 -127.766712767 -23 --60.8598093187 -33 -0 -0 -LINE -5 -499 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.058379434 -20 --60.9097634776 -11 -128.066712767 -21 --60.9097634776 -0 -MTEXT -5 -49A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -125.766712767 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -1.33333333333 -71 -5 -72 -1 -1 -4.6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -49B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -123.466712767 -20 --61.877784531 -11 -123.466712767 -21 --60.6097634776 -0 -LINE -5 -49C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -128.066712767 -20 --84.377784531 -11 -128.066712767 -21 --60.6097634776 -0 -ENDBLK -5 -1A4 -330 -1A2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1A6 -330 -1A5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D96 -70 -1 -10 -0 -20 -0 -3 -*D96 -1 - -0 -LINE -5 -49D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.125 -20 -63.7501208602 -11 -23.1819445048 -21 -63.7501208602 -0 -SOLID -5 -49E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.125 -20 -63.7501208602 -30 -0 -11 -24.825 -21 -63.7001667013 -31 -0 -12 -24.825 -22 -63.8000750191 -32 -0 -13 -24.825 -23 -63.8000750191 -33 -0 -0 -SOLID -5 -49F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -17.5000001207 -20 -63.7501208602 -30 -0 -11 -17.8000001207 -21 -63.8000750191 -31 -0 -12 -17.8000001207 -22 -63.7001667013 -32 -0 -13 -17.8000001207 -23 -63.7001667013 -33 -0 -0 -LINE -5 -4A0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.443055616 -20 -63.7501208602 -11 -17.5000001207 -21 -63.7501208602 -0 -MTEXT -5 -4A1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -21.3125000604 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -2.48888888889 -71 -5 -72 -1 -1 -7.625 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -4A2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.125 -20 -27.125 -11 -25.125 -21 -64.0501208602 -0 -LINE -5 -4A3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -17.5000001207 -20 -62.9999999064 -11 -17.5000001207 -21 -64.0501208602 -0 -ENDBLK -5 -1A7 -330 -1A5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1A9 -330 -1A8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -a3 -70 -0 -10 -0 -20 -0 -3 -a3 -1 - -0 -LINE -5 -4A4 -100 -AcDbEntity -8 -default -6 -DASHDOT -62 -7 -370 -0 -100 -AcDbLine -10 -280.271142 -20 -57.242876 -11 -300.271142 -21 -57.242876 -0 -CIRCLE -5 -4A5 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbCircle -10 -295.471142 -20 -57.242876 -40 -2.8 -0 -CIRCLE -5 -4A6 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbCircle -10 -295.471142 -20 -57.242876 -40 -1.6 -0 -LINE -5 -4A7 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -282.671142 -20 -58.842876 -11 -282.671142 -21 -55.642876 -0 -LINE -5 -4A8 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -282.671142 -20 -55.642876 -11 -289.071142 -21 -54.442876 -0 -LINE -5 -4A9 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -289.071142 -20 -60.042876 -11 -289.071142 -21 -54.442876 -0 -LINE -5 -4AA -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -282.671142 -20 -58.842876 -11 -289.071142 -21 -60.042876 -0 -LINE -5 -4AB -100 -AcDbEntity -8 -default -6 -DASHDOT -62 -7 -370 -0 -100 -AcDbLine -10 -295.471142 -20 -52.442876 -11 -295.471142 -21 -62.042876 -0 -ENDBLK -5 -1AA -330 -1A8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1AC -330 -1AB -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -a3-0 -70 -0 -10 -0 -20 -0 -3 -a3-0 -1 - -0 -LINE -5 -4AC -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -280.271142 -20 -57.242876 -11 -300.271142 -21 -57.242876 -0 -CIRCLE -5 -4AD -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -295.471142 -20 -57.242876 -40 -2.8 -0 -CIRCLE -5 -4AE -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -295.471142 -20 -57.242876 -40 -1.6 -0 -LINE -5 -4AF -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -282.671142 -20 -58.842876 -11 -282.671142 -21 -55.642876 -0 -LINE -5 -4B0 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -282.671142 -20 -55.642876 -11 -289.071142 -21 -54.442876 -0 -LINE -5 -4B1 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -289.071142 -20 -60.042876 -11 -289.071142 -21 -54.442876 -0 -LINE -5 -4B2 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -282.671142 -20 -58.842876 -11 -289.071142 -21 -60.042876 -0 -LINE -5 -4B3 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -295.471142 -20 -52.442876 -11 -295.471142 -21 -62.042876 -0 -ENDBLK -5 -1AD -330 -1AB -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1AF -330 -1AE -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -foot-cotes -70 -0 -10 -0 -20 -0 -3 -foot-cotes -1 - -0 -ENDBLK -5 -1B0 -330 -1AE -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -ENDSEC -0 -SECTION -2 -ENTITIES -0 -HATCH -5 -4B4 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B5 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B6 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B7 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B8 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B9 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -LINE -5 -4BA -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -20 -11 -0 -21 -20 -0 -LINE -5 -4BB -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.25 -20 -1e-16 -11 -9.25 -21 -18.5 -0 -LINE -5 -4BC -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -0 -LINE -5 -4BD -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.25 -20 -18.5 -11 --3e-16 -21 -18.5 -0 -LINE -5 -4BE -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -18.5 -11 -10.75 -21 -18.5 -0 -LINE -5 -4BF -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -0 -LINE -5 -4C0 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -0 -LINE -5 -4C1 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -18.5 -11 -20 -21 -20 -0 -LINE -5 -4C2 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --3e-16 -20 -18.3725 -11 --2.1e-15 -21 -8.3725 -0 -LINE -5 -4C3 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -18.3725 -11 -4 -21 -8.3725 -0 -LINE -5 -4C4 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --3e-16 -20 -18.3725 -11 -4 -21 -18.3725 -0 -LINE -5 -4C5 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --2.1e-15 -20 -8.3725 -11 -4 -21 -8.3725 -0 -LINE -5 -4C6 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --9e-16 -20 -14.8725 -11 -4 -21 -14.8725 -0 -LINE -5 -4C7 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.5e-15 -20 -11.8725 -11 -4 -21 -11.8725 -0 -LINE -5 -4C8 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.1225 -20 -1e-16 -11 --0.8775 -21 -1.3e-15 -0 -LINE -5 -4C9 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.1225 -20 -4 -11 --0.8775 -21 -4 -0 -LINE -5 -4CA -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --0.8775 -20 -4 -11 --0.8775 -21 -1.3e-15 -0 -LINE -5 -4CB -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.1225 -20 -4 -11 -9.1225 -21 -1e-16 -0 -LINE -5 -4CC -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.6225 -20 -4 -11 -5.6225 -21 -5e-16 -0 -LINE -5 -4CD -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.6225 -20 -4 -11 -2.6225 -21 -9e-16 -0 -LINE -5 -4CE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -15.8725 -11 -4 -21 -14.8725 -0 -LINE -5 -4CF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -14.8725 -11 -4 -21 -11.8725 -0 -LINE -5 -4D0 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -11.8725 -11 -5 -21 -10.8725 -0 -LINE -5 -4D1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -15.8725 -11 --9e-16 -21 -14.8725 -0 -LINE -5 -4D2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --9e-16 -20 -14.8725 -11 --1.5e-15 -21 -11.8725 -0 -LINE -5 -4D3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.5e-15 -20 -11.8725 -11 --1 -21 -10.8725 -0 -LINE -5 -4D4 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.6225 -20 -5 -11 -2.6225 -21 -4 -0 -LINE -5 -4D5 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.6225 -20 -4 -11 -5.6225 -21 -4 -0 -LINE -5 -4D6 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.6225 -20 -4 -11 -6.6225 -21 -5 -0 -LINE -5 -4D7 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.6225 -20 --1 -11 -2.6225 -21 -9e-16 -0 -LINE -5 -4D8 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.6225 -20 -9e-16 -11 -5.6225 -21 -5e-16 -0 -LINE -5 -4D9 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.6225 -20 -5e-16 -11 -6.6225 -21 --1 -0 -LINE -5 -4DA -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -10.8725 -11 --1 -21 -7.3725 -0 -LINE -5 -4DB -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -5 -11 -6.6225 -21 -7.3725 -0 -LINE -5 -4DC -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.6225 -20 --1 -11 --1.8775 -21 --1 -0 -LINE -5 -4DD -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.8775 -20 -5 -11 --1.8775 -21 --1 -0 -LINE -5 -4DE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.6225 -20 -5 -11 --1.8775 -21 -5 -0 -LINE -5 -4DF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 --1 -11 -10 -21 --1 -0 -LINE -5 -4E0 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -7.3725 -11 -6.6225 -21 -15.8725 -0 -LINE -5 -4E1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -15.8725 -11 -5 -21 -15.8725 -0 -LINE -5 -4E2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -7.3725 -11 -5 -21 -7.3725 -0 -LINE -5 -4E3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -10.8725 -11 -5 -21 -8.3725 -0 -LINE -5 -4E4 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -8.3725 -11 -5 -21 -7.3725 -0 -LINE -5 -4E5 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -18.3725 -11 -20 -21 -8.3725 -0 -LINE -5 -4E6 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -18.3725 -11 -16 -21 -8.3725 -0 -LINE -5 -4E7 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -18.3725 -11 -16 -21 -18.3725 -0 -LINE -5 -4E8 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -8.3725 -11 -16 -21 -8.3725 -0 -LINE -5 -4E9 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -14.8725 -11 -16 -21 -14.8725 -0 -LINE -5 -4EA -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -11.8725 -11 -16 -21 -11.8725 -0 -LINE -5 -4EB -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.8775 -20 --1e-16 -11 -20.8775 -21 --1.3e-15 -0 -LINE -5 -4EC -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.8775 -20 -4 -11 -20.8775 -21 -4 -0 -LINE -5 -4ED -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.8775 -20 -4 -11 -20.8775 -21 --1.3e-15 -0 -LINE -5 -4EE -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.8775 -20 -4 -11 -10.8775 -21 --1e-16 -0 -LINE -5 -4EF -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.3775 -20 -4 -11 -14.3775 -21 --5e-16 -0 -LINE -5 -4F0 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.3775 -20 -4 -11 -17.3775 -21 --9e-16 -0 -LINE -5 -4F1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -15.8725 -11 -16 -21 -14.8725 -0 -LINE -5 -4F2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -14.8725 -11 -16 -21 -11.8725 -0 -LINE -5 -4F3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -11.8725 -11 -15 -21 -10.8725 -0 -LINE -5 -4F4 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -15.8725 -11 -20 -21 -14.8725 -0 -LINE -5 -4F5 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -14.8725 -11 -20 -21 -11.8725 -0 -LINE -5 -4F6 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -11.8725 -11 -21 -21 -10.8725 -0 -LINE -5 -4F7 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.3775 -20 -5 -11 -17.3775 -21 -4 -0 -LINE -5 -4F8 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.3775 -20 -4 -11 -14.3775 -21 -4 -0 -LINE -5 -4F9 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.3775 -20 -4 -11 -13.3775 -21 -5 -0 -LINE -5 -4FA -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.3775 -20 --1 -11 -17.3775 -21 --9e-16 -0 -LINE -5 -4FB -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.3775 -20 --9e-16 -11 -14.3775 -21 --5e-16 -0 -LINE -5 -4FC -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.3775 -20 --5e-16 -11 -13.3775 -21 --1 -0 -LINE -5 -4FD -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -10.8725 -11 -21 -21 -7.3725 -0 -LINE -5 -4FE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -5 -11 -13.3775 -21 -7.3725 -0 -LINE -5 -4FF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.3775 -20 --1 -11 -21.8775 -21 --1 -0 -LINE -5 -500 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21.8775 -20 -5 -11 -21.8775 -21 --1 -0 -LINE -5 -501 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.3775 -20 -5 -11 -21.8775 -21 -5 -0 -LINE -5 -502 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 --1 -11 -10 -21 --1 -0 -LINE -5 -503 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -7.3725 -11 -13.3775 -21 -15.8725 -0 -LINE -5 -504 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -15.8725 -11 -15 -21 -15.8725 -0 -LINE -5 -505 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -7.3725 -11 -15 -21 -7.3725 -0 -LINE -5 -506 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -10.8725 -11 -15 -21 -8.3725 -0 -LINE -5 -507 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -8.3725 -11 -15 -21 -7.3725 -0 -LINE -5 -508 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -31 -11 --1 -21 -7.3725 -0 -LINE -5 -509 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -7.3725 -11 -5 -21 -7.3725 -0 -LINE -5 -50A -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -7.3725 -11 -5 -21 -15.8725 -0 -LINE -5 -50B -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -15.8725 -11 -6.6225 -21 -15.8725 -0 -LINE -5 -50C -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -15.8725 -11 -6.6225 -21 -5 -0 -LINE -5 -50D -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -5 -11 --1.8775 -21 -5 -0 -LINE -5 -50E -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.8775 -20 -5 -11 --1.8775 -21 --1 -0 -LINE -5 -50F -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.8775 -20 --1 -11 -21.8775 -21 --1 -0 -LINE -5 -510 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21.8775 -20 --1 -11 -21.8775 -21 -5 -0 -LINE -5 -511 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21.8775 -20 -5 -11 -13.3775 -21 -5 -0 -LINE -5 -512 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -5 -11 -13.3775 -21 -15.8725 -0 -LINE -5 -513 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -15.8725 -11 -15 -21 -15.8725 -0 -LINE -5 -514 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -15.8725 -11 -15 -21 -7.3725 -0 -LINE -5 -515 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -7.3725 -11 -21 -21 -7.3725 -0 -LINE -5 -516 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -7.3725 -11 -21 -21 -31 -0 -LINE -5 -517 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -29.8857142857 -11 --15 -21 -27.1 -0 -ARC -5 -518 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --15 -20 -37.6 -40 -10.5 -100 -AcDbArc -50 -225.842525666 -51 -270 -0 -LINE -5 -519 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -35 -11 --5 -21 -41.1 -0 -ARC -5 -51A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --15 -20 -37.6 -40 -7.5 -100 -AcDbArc -50 -180 -51 -360 -0 -LINE -5 -51B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -41.1 -11 --22.5 -21 -41.1 -0 -LINE -5 -51C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -41.1 -11 --5 -21 -41.1 -0 -LINE -5 -51D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -37.6 -11 --7.5 -21 -41.1 -0 -LINE -5 -51E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --22.5 -20 -37.6 -11 --22.5 -21 -41.1 -0 -LINE -5 -51F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -37.6 -11 --25.5 -21 -41.1 -0 -ARC -5 -520 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -50.5668863981 -100 -AcDbArc -50 -177.052720582 -51 -252.744286114 -0 -LINE -5 -521 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -29.8857142857 -11 --15 -21 -27.1 -0 -ARC -5 -522 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --15 -20 -37.6 -40 -10.5 -100 -AcDbArc -50 -225.842525666 -51 -270 -0 -LINE -5 -523 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -35 -11 --5 -21 -41.1 -0 -LINE -5 -524 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -35 -11 -25 -21 -41.1 -0 -ARC -5 -525 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -35 -20 -37.6 -40 -7.5 -100 -AcDbArc -50 -180 -51 -0 -0 -ARC -5 -526 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --15 -20 -37.6 -40 -7.5 -100 -AcDbArc -50 -180 -51 -360 -0 -LINE -5 -527 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -41.1 -11 --22.5 -21 -41.1 -0 -LINE -5 -528 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -41.1 -11 --5 -21 -41.1 -0 -LINE -5 -529 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -41.1 -11 -27.5 -21 -41.1 -0 -LINE -5 -52A -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -42.5 -20 -41.1 -11 -45.5 -21 -41.1 -0 -LINE -5 -52B -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -42.5 -20 -37.5999993257 -11 -42.5 -21 -41.1 -0 -LINE -5 -52C -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -27.5 -20 -37.5999995232 -11 -27.5 -21 -41.1 -0 -LINE -5 -52D -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -37.6 -11 --7.5 -21 -41.1 -0 -LINE -5 -52E -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --22.5 -20 -37.6 -11 --22.5 -21 -41.1 -0 -LINE -5 -52F -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.5 -20 -37.5999993257 -11 -45.5 -21 -41.1 -0 -LINE -5 -530 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -37.6 -11 --25.5 -21 -41.1 -0 -ARC -5 -531 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --5 -20 -35 -40 -50.5668863557 -100 -AcDbArc -50 -287.255713731 -51 -2.94727848313 -0 -ARC -5 -532 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -50.5668863981 -100 -AcDbArc -50 -177.052720582 -51 -252.744286114 -0 -ARC -5 -533 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -35 -20 -37.6 -40 -10.5 -100 -AcDbArc -50 -270 -51 -314.15747402 -0 -LINE -5 -534 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -29.8857142857 -11 -29.5712800061 -21 -28.612286284 -0 -LINE -5 -535 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -29.5712800061 -20 -28.612286284 -11 -35 -21 -27.1 -0 -ARC -5 -536 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -47.571104675 -100 -AcDbArc -50 -237.229623142 -51 -251.620020171 -0 -ARC -5 -537 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -47.571104675 -100 -AcDbArc -50 -185.952114443 -51 -230.903018345 -0 -LINE -5 -538 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.7489804943 -20 --5 -11 --0.748980562345 -21 --5 -0 -ARC -5 -539 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --5 -20 -35 -40 -47.5711046381 -100 -AcDbArc -50 -288.379979696 -51 -302.770376789 -0 -ARC -5 -53A -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --5 -20 -35 -40 -47.5711046381 -100 -AcDbArc -50 -309.096981692 -51 -354.047885503 -0 -LINE -5 -53B -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -29.8857142857 -11 -25 -21 --1.91896526845 -0 -LINE -5 -53C -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -29.8857142857 -11 --5 -21 --1.91896531595 -0 -ARC -5 -53D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -35.0000002806 -20 -37.5999997921 -40 -10.5 -100 -AcDbArc -50 -269.999999523 -51 -314.157473857 -0 -LINE -5 -53E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.000000259 -20 -34.9999998752 -11 -25.0000003098 -21 -41.0999998752 -0 -ARC -5 -53F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -35.0000002806 -20 -37.5999997921 -40 -7.5 -100 -AcDbArc -50 -179.999999523 -51 -359.999999523 -0 -LINE -5 -540 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.5000003098 -20 -41.0999997047 -11 -42.5000003098 -21 -41.0999997297 -0 -LINE -5 -541 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -27.5000003098 -20 -41.0999998544 -11 -25.0000003098 -21 -41.0999998752 -0 -LINE -5 -542 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -27.5000002806 -20 -37.5999998544 -11 -27.5000003098 -21 -41.0999998544 -0 -LINE -5 -543 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -42.5000002806 -20 -37.5999997297 -11 -42.5000003098 -21 -41.0999997297 -0 -LINE -5 -544 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.5000002806 -20 -37.5999997047 -11 -45.5000003098 -21 -41.0999997047 -0 -ARC -5 -545 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -50.5668863981 -100 -AcDbArc -50 -287.255713409 -51 -2.94727894145 -0 -LINE -5 -546 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --0.748980562341 -20 --5 -11 -20.7489806275 -21 --5 -0 -LINE -5 -547 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -29.8857142857 -11 --5 -21 --1.91896531594 -0 -ARC -5 -548 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -47.571104675 -100 -AcDbArc -50 -237.229623142 -51 -251.620020171 -0 -ARC -5 -549 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -47.571104675 -100 -AcDbArc -50 -185.952114443 -51 -230.903018345 -0 -ARC -5 -54A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -47.571104675 -100 -AcDbArc -50 -288.379979352 -51 -302.77037658 -0 -ARC -5 -54B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -47.571104675 -100 -AcDbArc -50 -309.096981254 -51 -354.04788508 -0 -LINE -5 -54C -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 --6.45945945946 -20 --68.8175675676 -11 --6.45945945946 -21 --76.8175675676 -0 -LINE -5 -54D -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 --20.4594594595 -20 --68.8175675676 -11 --20.4594594595 -21 --76.8175675676 -0 -ARC -5 -54E -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --76.8175675676 -40 -7 -100 -AcDbArc -50 -180 -51 -214.849904579 -0 -ARC -5 -54F -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --68.8175675676 -40 -7 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -550 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --76.8175675676 -40 -7 -100 -AcDbArc -50 -325.150095421 -51 -0 -0 -LINE -5 -551 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 --19.204022106 -20 --80.8175675676 -11 --7.71489681292 -21 --80.8175675676 -0 -CIRCLE -5 -552 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --68.8175675676 -40 -1.8 -0 -LINE -5 -553 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.5405405405 -20 --68.8175675676 -11 -18.5405405405 -21 --76.8175675676 -0 -LINE -5 -554 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -32.5405405405 -20 --68.8175675676 -11 -32.5405405405 -21 --76.8175675676 -0 -LINE -5 -555 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 -32.5405405405 -20 --68.8175675676 -11 -32.5405405405 -21 --76.8175675676 -0 -LINE -5 -556 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 -18.5405405405 -20 --68.8175675676 -11 -18.5405405405 -21 --76.8175675676 -0 -ARC -5 -557 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 -25.5405405405 -20 --76.8175675676 -40 -7 -100 -AcDbArc -50 -180 -51 -214.849904579 -0 -ARC -5 -558 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 -25.5405405405 -20 --68.8175675676 -40 -7 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -559 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 -25.5405405405 -20 --76.8175675676 -40 -7 -100 -AcDbArc -50 -325.150095421 -51 -0 -0 -LINE -5 -55A -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 -19.795977894 -20 --80.8175675676 -11 -31.2851031871 -21 --80.8175675676 -0 -CIRCLE -5 -55B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25.5405405405 -20 --76.8175675676 -40 -1.8 -0 -CIRCLE -5 -55C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --112.817567568 -40 -5.74456264654 -0 -CIRCLE -5 -55D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --112.817567568 -40 -7 -0 -LINE -5 -55E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -113.466712767 -20 --63.877784531 -11 -123.466712767 -21 --63.877784531 -0 -LINE -5 -55F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -113.466712767 -20 --77.6037676937 -11 -123.466712767 -21 --77.6037676937 -0 -CIRCLE -5 -560 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -118.466712767 -20 --67.127784531 -40 -1.5 -0 -LINE -5 -561 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -88.4667127669 -20 --63.877784531 -11 -88.4667127669 -21 --67.377784531 -0 -LINE -5 -562 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -85.4667127669 -20 --63.877784531 -11 -85.4667127669 -21 --67.377784531 -0 -LINE -5 -563 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -70.4667127669 -20 --63.877784531 -11 -70.4667127669 -21 --67.377784531 -0 -LINE -5 -564 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --63.877784531 -11 -67.4667127669 -21 --67.377784531 -0 -LINE -5 -565 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --63.877784531 -11 -70.4667127669 -21 --63.877784531 -0 -LINE -5 -566 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -85.4667127669 -20 --63.877784531 -11 -88.4667127669 -21 --63.877784531 -0 -ARC -5 -567 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -77.9667127669 -20 --67.377784531 -40 -7.5 -100 -AcDbArc -50 -180 -51 -0 -0 -ARC -5 -568 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -77.9667127669 -20 --67.377784531 -40 -10.5 -100 -AcDbArc -50 -180 -51 -241.563109851 -0 -ARC -5 -569 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -77.9667127669 -20 --67.377784531 -40 -10.5 -100 -AcDbArc -50 -298.436890149 -51 -0 -0 -LINE -5 -56A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -88.4667127669 -20 --111.377784531 -11 -88.4667127669 -21 --121.377784531 -0 -LINE -5 -56B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --111.377784531 -11 -67.4667127669 -21 --121.377784531 -0 -LINE -5 -56C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --111.377784531 -11 -88.4667127669 -21 --111.377784531 -0 -LINE -5 -56D -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.1250001461 -20 -25.125 -11 --5.125 -21 -25.125 -0 -LINE -5 -56E -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --5.125 -11 -15.875 -21 --5.125 -0 -LINE -5 -56F -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 --5.125 -21 -13.375 -0 -LINE -5 -570 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.375 -11 -4.125 -21 --5.125 -0 -LINE -5 -571 -100 -AcDbEntity -8 -Top-fix -6 -DOT -62 -256 -370 --1 -100 -AcDbLine -10 -20.125 -20 -18.375 -11 -20.125 -21 -20.125 -0 -LINE -5 -572 -100 -AcDbEntity -8 -Top-fix -6 -DOT -62 -256 -370 --1 -100 -AcDbLine -10 --0.125 -20 -20.125 -11 --0.125 -21 -18.375 -0 -LINE -5 -573 -100 -AcDbEntity -8 -Top-fix -6 -DOT -62 -256 -370 --1 -100 -AcDbLine -10 -9.125 -20 --0.125 -11 -10.875 -21 --0.125 -0 -CIRCLE -5 -574 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -1.26869176962 -20 -7.29582039325 -40 -2 -0 -CIRCLE -5 -575 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -18.7313082304 -20 -7.29582039325 -40 -2 -0 -LINE -5 -576 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10 -20 -20 -11 -10 -21 -20.1275 -0 -LINE -5 -577 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -30 -11 -12 -21 -30 -0 -LINE -5 -578 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -20.1275 -11 -12 -21 -20.1275 -0 -LINE -5 -579 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -23.5 -11 -12 -21 -23.5 -0 -LINE -5 -57A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -23.5 -11 -13 -21 -22.5 -0 -LINE -5 -57B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -23.5 -11 -7 -21 -22.5 -0 -LINE -5 -57C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -13 -21 -31 -0 -LINE -5 -57D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -31 -11 -21 -21 -15.8725 -0 -LINE -5 -57E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -29.8857142857 -11 -35.0000001933 -21 -27.0999997921 -0 -LINE -5 -57F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -29.8857142857 -11 -25 -21 --1.91896540166 -0 -LINE -5 -580 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -31 -11 --1 -21 -15.8725 -0 -LINE -5 -581 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -35 -11 -25.000000259 -21 -34.9999998752 -0 -LINE -5 -582 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -25.5 -11 -8 -21 -20.1275 -0 -LINE -5 -583 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -20.1275 -11 -12 -21 -25.5 -0 -LINE -5 -584 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -28.5 -11 -12 -21 -30 -0 -LINE -5 -585 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -30 -11 -8 -21 -28.5 -0 -LINE -5 -586 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -87.4999998574 -20 --13.2908893876 -11 -87.5000003098 -21 -41.0999995051 -0 -LINE -5 -587 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -97.4999998574 -20 --13.2908894707 -11 -97.5000003098 -21 -41.0999994219 -0 -LINE -5 -588 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -87.5000003098 -20 --13.2908893876 -11 -97.4999998574 -21 --13.2908894707 -0 -LINE -5 -589 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -87.5000003098 -20 -41.0999995051 -11 -97.5000003098 -21 -41.0999994219 -0 -CIRCLE -5 -58A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -92.5000003098 -20 -37.5999997047 -40 -1.5 -0 -ELLIPSE -5 -58B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbEllipse -10 -92.5000001944 -20 -13.3725 -30 -0 -11 --4 -21 -0 -31 -0 -40 -0.920129294467 -41 -0 -42 -6.28318530718 -0 -ELLIPSE -5 -58C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbEllipse -10 -92.5000001003 -20 --11.0264554944 -30 -0 -11 --4.00000000737 -21 -0 -31 -0 -40 -0.442808951933 -41 -0 -42 -6.28318530718 -0 -LINE -5 -58D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -78.5000001551 -20 -22.5 -11 -78.5000002591 -21 -34.9999997275 -0 -LINE -5 -58E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -106.500000155 -20 -22.5 -11 -106.500000259 -21 -34.999999611 -0 -LINE -5 -58F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -78.5000002591 -20 -34.9999997275 -11 -87.5000002575 -21 -34.9999997275 -0 -LINE -5 -590 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -106.500000259 -20 -34.999999611 -11 -97.500000265 -21 -34.999999611 -0 -LINE -5 -591 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -78.5000001551 -20 -22.5 -11 -87.5000001489 -21 -22.5 -0 -LINE -5 -592 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -106.500000155 -20 -22.5 -11 -97.5000001527 -21 -22.5 -0 -CIRCLE -5 -593 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -82.5000002431 -20 -25.06375 -40 -1.5 -0 -CIRCLE -5 -594 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -102.500000241 -20 -25.0637498916 -40 -1.5 -0 -ARC -5 -595 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -82.5000002431 -20 -25.06375 -40 -5 -100 -AcDbArc -50 -174.994578806 -51 -329.152819905 -0 -ARC -5 -596 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -102.500000241 -20 -25.0637498916 -40 -5 -100 -AcDbArc -50 -210.847179474 -51 -5.00542100834 -0 -LINE -5 -597 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -92.4462495497 -11 --25.5 -21 -82.4462495497 -0 -LINE -5 -598 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.5000005039 -20 -92.4462495497 -11 -45.5000005039 -21 -82.4462495497 -0 -LINE -5 -599 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --22.5 -20 -82.4462495497 -11 --22.5 -21 -92.4462495497 -0 -LINE -5 -59A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -82.4462495497 -11 --7.5 -21 -92.4462495497 -0 -LINE -5 -59B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.0000003098 -20 -82.4462495497 -11 -25.0000003098 -21 -92.4462495497 -0 -LINE -5 -59C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -27.5000003098 -20 -82.4462495497 -11 -27.5000003098 -21 -92.4462495497 -0 -LINE -5 -59D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -42.5000003098 -20 -82.4462495497 -11 -42.5000003098 -21 -92.4462495497 -0 -LINE -5 -59E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -82.4462495497 -11 --5 -21 -92.4462495497 -0 -MTEXT -5 -59F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --38.2269559862 -20 -118.861733635 -30 -0 -40 -5 -41 -79.166673321 -71 -1 -72 -5 -1 -Système de glissement: -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.84934656 -0 -LINE -5 -5A0 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -72.4462495497 -11 -12 -21 -72.4462495497 -0 -LINE -5 -5A1 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -72.4462495497 -11 -8 -21 -73.4462495497 -0 -LINE -5 -5A2 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -72.4462495497 -11 -12 -21 -73.4462495497 -0 -LINE -5 -5A3 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -102.44624955 -11 -12 -21 -102.44624955 -0 -LINE -5 -5A4 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -102.44624955 -11 -8 -21 -101.44624955 -0 -LINE -5 -5A5 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -102.44624955 -11 -12 -21 -101.44624955 -0 -LINE -5 -5A6 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -35 -11 -25 -21 -35 -0 -LINE -5 -5A7 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -13 -21 -31 -0 -LINE -5 -5A8 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -31 -11 --1 -21 -31 -0 -LINE -5 -5A9 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -22.5 -11 -4 -21 -31 -0 -LINE -5 -5AA -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -31 -11 -16 -21 -31 -0 -LINE -5 -5AB -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -31 -11 -16 -21 -22.5 -0 -POINT -5 -5AC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.110203869 -20 -43.9593482668 -0 -POINT -5 -5AD -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.110203869 -20 -46.1646667417 -0 -POINT -5 -5AE -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.110203869 -20 -47.5613684425 -0 -POINT -5 -5AF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.1837144848 -20 -49.3256232224 -0 -DIMENSION -5 -5B0 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D1 -10 -35.0000002806 -20 -43.9593482668 -30 -0 -11 -10.0000001403 -21 -43.9593482668 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --15 -23 -37.6 -33 -0 -14 -35.0000002806 -24 -37.5999997921 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B1 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D2 -10 --22.5 -20 -46.1646667417 -30 -0 -11 --24 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --25.5 -23 -41.1 -33 -0 -14 --22.5 -24 -41.1 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B2 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D3 -10 --7.5 -20 -46.1646667417 -30 -0 -11 --15 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --22.5 -23 -41.1 -33 -0 -14 --7.5 -24 -41.1 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B3 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D4 -10 --5 -20 -46.1646667417 -30 -0 -11 --6.25 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --7.5 -23 -41.1 -33 -0 -14 --5 -24 -41.1 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B4 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D5 -10 -25.0000003098 -20 -46.1646667417 -30 -0 -11 -10.0000001549 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5 -23 -41.1 -33 -0 -14 -25.0000003098 -24 -41.0999998752 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B5 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D6 -10 -27.5000003098 -20 -46.1646667417 -30 -0 -11 -26.2500003098 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -25.0000003098 -23 -41.0999998752 -33 -0 -14 -27.5000003098 -24 -41.0999998544 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B6 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D7 -10 -42.5000003098 -20 -46.1646667417 -30 -0 -11 -35.0000003098 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -27.5000003098 -23 -41.0999998544 -33 -0 -14 -42.5000003098 -24 -41.0999997297 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B7 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D8 -10 -45.5000003098 -20 -46.1646667417 -30 -0 -11 -44.0000003098 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -42.5000003098 -23 -41.0999997297 -33 -0 -14 -45.5000003098 -24 -41.0999997047 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B8 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D9 -10 -45.5000003098 -20 -49.3256232224 -30 -0 -11 -10.0000001549 -21 -49.3256232224 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --25.5 -23 -41.1 -33 -0 -14 -45.5000003098 -24 -41.0999997047 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B9 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D10 -10 --29.110203869 -20 --13.2908893876 -30 -0 -11 --29.110203869 -21 -13.9045553062 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --25.5 -23 -41.1 -33 -0 -14 -9.99999992888 -24 --13.2908893876 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BA -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D11 -10 --1 -20 -35 -30 -0 -11 --1 -21 -38.05 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5 -23 -41.1 -33 -0 -14 --5 -24 -35 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BB -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D12 -10 -25.0000003098 -20 -38.0499998752 -30 -0 -11 -26.2500003098 -21 -38.0499998752 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -27.5000003098 -23 -41.0999998544 -33 -0 -14 -25.0000003098 -24 -41.0999998752 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D13 -10 --7.5 -20 -38.05 -30 -0 -11 --6.25 -21 -38.05 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5 -23 -41.1 -33 -0 -14 --7.5 -24 -41.1 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BD -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D14 -10 -4 -20 -13.3725 -30 -0 -11 -2 -21 -13.3725 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --1.2e-15 -23 -13.3725 -33 -0 -14 -4 -24 -13.3725 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BE -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D15 -10 -20 -20 -13.3725 -30 -0 -11 -18 -21 -13.3725 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -16 -23 -13.3725 -33 -0 -14 -20 -24 -13.3725 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D16 -10 -21 -20 -9.6225 -30 -0 -11 -18 -21 -9.6225 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -15 -23 -9.6225 -33 -0 -14 -21 -24 -10.8725 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C0 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D17 -10 -13.3775 -20 -6.18625 -30 -0 -11 -14.18875 -21 -6.18625 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -15 -23 -9.6225 -33 -0 -14 -13.3775 -24 -11.6225 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C1 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D18 -10 -10.75 -20 -2 -30 -0 -11 -12.06375 -21 -2 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -13.3775 -23 -6.18625 -33 -0 -14 -10.75 -24 -9.25 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C2 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D19 -10 -23 -20 -34.9999998752 -30 -0 -11 -23 -21 -32.9999999376 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -31 -33 -0 -14 -25.000000259 -24 -34.9999998752 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C3 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D20 -10 -23 -20 -15.8725 -30 -0 -11 -23 -21 -23.43625 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -31 -33 -0 -14 -21 -24 -15.8725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C4 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D21 -10 -23 -20 -14.8725 -30 -0 -11 -23 -21 -15.3725 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -15.8725 -33 -0 -14 -20 -24 -14.8725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C5 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D22 -10 -23 -20 -11.8725 -30 -0 -11 -23 -21 -13.3725 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -20 -23 -14.8725 -33 -0 -14 -20 -24 -11.8725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C6 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D23 -10 -23 -20 -10.8725 -30 -0 -11 -23 -21 -11.3725 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -20 -23 -11.8725 -33 -0 -14 -21 -24 -10.8725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C7 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D24 -10 -23 -20 -7.3725 -30 -0 -11 -23 -21 -9.1225 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -10.8725 -33 -0 -14 -21 -24 -7.3725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C8 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D25 -10 -23 -20 -5 -30 -0 -11 -23 -21 -6.18625 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -7.3725 -33 -0 -14 -21.8775 -24 -5 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C9 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D26 -10 -23 -20 --1 -30 -0 -11 -23 -21 -2 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21.8775 -23 -5 -33 -0 -14 -21.8775 -24 --1 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -POINT -5 -5CA -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.7245989916 -20 -61.1317224545 -0 -POINT -5 -5CB -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -50.0719282636 -20 -61.1990234333 -0 -POINT -5 -5CC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -55.592403222 -20 -61.1056994093 -0 -POINT -5 -5CD -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -121.702603419 -20 -45.4281607231 -0 -DIMENSION -5 -5CE -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D27 -10 -121.702603419 -20 -37.5999997047 -30 -0 -11 -121.702603419 -21 -39.3499995633 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -92.5000003098 -24 -37.5999997047 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5CF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D28 -10 -121.702603419 -20 -25.0637498916 -30 -0 -11 -121.702603419 -21 -31.3318747981 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -92.5000003098 -23 -37.5999997047 -33 -0 -14 -102.500000241 -24 -25.0637498916 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D0 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D29 -10 -121.702603419 -20 -13.3725 -30 -0 -11 -121.702603419 -21 -19.2181249458 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -102.500000241 -23 -25.0637498916 -33 -0 -14 -92.5000001944 -24 -13.3725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D1 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D30 -10 -121.702603419 -20 --11.0264554944 -30 -0 -11 -121.702603419 -21 -1.1730222528 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -92.5000001944 -23 -13.3725 -33 -0 -14 -92.5000001003 -24 --11.0264554944 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D2 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D31 -10 -121.702603419 -20 --13.2908894707 -30 -0 -11 -121.702603419 -21 --12.1586724825 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -92.5000001003 -23 --11.0264554944 -33 -0 -14 -97.4999998574 -24 --13.2908894707 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -POINT -5 -5D3 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -127.380113994 -20 -45.5995538825 -0 -DIMENSION -5 -5D4 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D32 -10 -127.380113994 -20 -34.999999611 -30 -0 -11 -127.380113994 -21 -38.0499995165 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -106.500000259 -24 -34.999999611 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D5 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D33 -10 -127.380113994 -20 --13.2908894707 -30 -0 -11 -127.380113994 -21 -4.60455526465 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -106.500000155 -23 -22.5 -33 -0 -14 -97.4999998574 -24 --13.2908894707 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -POINT -5 -5D6 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -132.54882917 -20 -45.5995538825 -0 -DIMENSION -5 -5D7 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D34 -10 -132.54882917 -20 --13.2908894707 -30 -0 -11 -132.54882917 -21 -13.9045549756 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -97.4999998574 -24 --13.2908894707 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D8 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D35 -10 -87.5000003098 -20 -45.4281607231 -30 -0 -11 -92.5000003098 -21 -45.4281607231 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -87.5000003098 -24 -41.0999995051 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D9 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D36 -10 -78.5000002591 -20 -45.4281607231 -30 -0 -11 -83.0000002844 -21 -45.4281607231 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -87.5000003098 -23 -41.0999995051 -33 -0 -14 -78.5000002591 -24 -34.9999997275 -34 -0 -100 -AcDbRotatedDimension -0 -POINT -5 -5DA -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --26.2473817511 -20 --54.2894562715 -0 -POINT -5 -5DB -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --32.5288064437 -20 --48.4567047713 -0 -DIMENSION -5 -5DC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D37 -10 --13.4594594595 -20 --54.2894562715 -30 -0 -11 --16.9594594595 -21 --54.2894562715 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --20.4594594595 -23 --68.8175675676 -33 -0 -14 --13.4594594595 -24 --68.8175675676 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5DD -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D38 -10 --26.2473817511 -20 --76.8175675676 -30 -0 -11 --26.2473817511 -21 --72.8175675676 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --20.4594594595 -23 --68.8175675676 -33 -0 -14 --20.4594594595 -24 --76.8175675676 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5DE -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D39 -10 --26.2473817511 -20 --61.8175675676 -30 -0 -11 --26.2473817511 -21 --65.3175675676 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --13.4594594595 -23 --68.8175675676 -33 -0 -14 --13.4594594595 -24 --61.8175675676 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5DF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D40 -10 --26.2473817511 -20 --80.8175675676 -30 -0 -11 --26.2473817511 -21 --78.8175675676 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --20.4594594595 -23 --76.8175675676 -33 -0 -14 --19.204022106 -24 --80.8175675676 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5E0 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D41 -10 --20.4594594595 -20 --48.4567047713 -30 -0 -11 --13.4594594595 -21 --48.4567047713 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --6.45945945946 -23 --68.8175675676 -33 -0 -14 --20.4594594595 -24 --68.8175675676 -34 -0 -100 -AcDbRotatedDimension -0 -MTEXT -5 -5E1 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbMText -10 --29.4441782464 -20 --42.0631117806 -30 -0 -40 -5 -41 -21.6666666667 -71 -1 -72 -5 -1 -Rotule: -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.84934656 -0 -MTEXT -5 -5E2 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -195.028471374 -20 --4.1951629069 -30 -0 -40 -4 -41 -38.5555555556 -71 -1 -72 -5 -1 -Reprap Jeanne -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E3 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -195.095934904 -20 --9.4910499659 -30 -0 -40 -1.5 -41 -36.8750021476 -71 -1 -72 -5 -1 -Système de glissement\Pet de fixation des biellettes\Ple long des trois axes (profil en T) -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E4 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -194.820683704 -20 --17.2250689769 -30 -0 -40 -1.5 -41 -41.2916674381 -71 -1 -72 -5 -1 -@Gnieark https://blog-du-grouik.tinad.fr\P@trankilloman\PHackerspace @jeannedhack -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E5 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -194.069224316 -20 -6.2827665051 -30 -0 -40 -1.5 -41 -14.1672381247 -71 -1 -72 -5 -1 -scale 1:1 A4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E6 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -227.53745961 -20 -6.5462959171 -30 -0 -40 -1.5 -41 -9.58333333333 -71 -1 -72 -5 -1 -env 100 g -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E7 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -194.069224316 -20 -1.8027665051 -30 -0 -40 -1.5 -41 -18.7083333333 -71 -1 -72 -5 -1 -Impression en PLA\P2.5 mm par couche -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E8 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -131.931289528 -20 --24.9802877289 -30 -0 -40 -1 -41 -3.33333333333 -71 -1 -72 -5 -1 -Indice\P -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E9 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -137.050314198 -20 --25.0616325539 -30 -0 -40 -1 -41 -7.1111116254 -71 -1 -72 -5 -1 -Description -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EA -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -131.761173492 -20 --22.1472080829 -30 -0 -40 -1.5 -41 -1 -71 -1 -72 -5 -1 -A -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EB -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -136.726489257 -20 --22.1472080829 -30 -0 -40 -1.5 -41 -14.9583341048 -71 -1 -72 -5 -1 -Version initiale -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EC -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -153.025677963 -20 --22.1472080829 -30 -0 -40 -1.5 -41 -7 -71 -1 -72 -5 -1 -Gnieark -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5ED -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -161.768951375 -20 --22.4440476129 -30 -0 -40 -0.5 -41 -2.72222222222 -71 -1 -72 -5 -1 -20/01/15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EE -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -131.680217257 -20 --19.2057982009 -30 -0 -40 -1.5 -41 -0.833333333333 -71 -1 -72 -5 -1 -B -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EF -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -136.537591375 -20 --18.8010170249 -30 -0 -40 -1 -41 -9.41666718095 -71 -1 -72 -5 -1 -Encoches pour \Pcourroies GT2 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F0 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -152.863765492 -20 --19.3407252599 -30 -0 -40 -1.5 -41 -7 -71 -1 -72 -5 -1 -Gnieark -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F1 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -161.634024316 -20 --19.8804334949 -30 -0 -40 -0.5 -41 -2.72222222222 -71 -1 -72 -5 -1 -25/01/15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F2 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -161.661009727 -20 --24.8457492599 -30 -0 -40 -1 -41 -2.66666666667 -71 -1 -72 -5 -1 -date -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F3 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -153.13361961 -20 --25.0616325539 -30 -0 -40 -1 -41 -4.33333333333 -71 -1 -72 -5 -1 -Auteur -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F4 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -241.578306669 -20 --17.5192099659 -30 -0 -40 -1.5 -41 -4.16666666667 -71 -1 -72 -5 -1 -page \P1/1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F5 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -101.627482353 -20 -26.6797176468 -30 -0 -40 -4 -41 -38.5555555556 -71 -1 -72 -5 -1 -Reprap Jeanne -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F6 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -101.694945882 -20 -21.3838305878 -30 -0 -40 -1.5 -41 -36.8750021476 -71 -1 -72 -5 -1 -Système de glissement\Pet de fixation des biellettes\Ple long des trois axes (profil en T) -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F7 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -101.419694682 -20 -13.6498115768 -30 -0 -40 -1.5 -41 -41.2916674381 -71 -1 -72 -5 -1 -@Gnieark https://blog-du-grouik.tinad.fr\P@trankilloman\PHackerspace @jeannedhack -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F8 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -100.668235294 -20 -37.1576470588 -30 -0 -40 -1.5 -41 -14.1672381247 -71 -1 -72 -5 -1 -scale 1:1 A4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F9 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -134.136470588 -20 -37.4211764708 -30 -0 -40 -1.5 -41 -9.58333333333 -71 -1 -72 -5 -1 -env 100 g -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FA -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -100.668235294 -20 -32.6776470588 -30 -0 -40 -1.5 -41 -18.7083333333 -71 -1 -72 -5 -1 -Impression en PLA\P2.5 mm par couche -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FB -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -38.5303005063 -20 -5.8945928248 -30 -0 -40 -1 -41 -3.33333333333 -71 -1 -72 -5 -1 -Indice\P -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FC -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -43.6493251764 -20 -5.8132479998 -30 -0 -40 -1 -41 -7.1111116254 -71 -1 -72 -5 -1 -Description -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FD -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -38.3601844705 -20 -8.7276724708 -30 -0 -40 -1.5 -41 -1 -71 -1 -72 -5 -1 -A -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FE -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -43.3255002352 -20 -8.7276724708 -30 -0 -40 -1.5 -41 -14.9583341048 -71 -1 -72 -5 -1 -Version initiale -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FF -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -59.6246889411 -20 -8.7276724708 -30 -0 -40 -1.5 -41 -7 -71 -1 -72 -5 -1 -Gnieark -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -600 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -68.3679623529 -20 -8.4308329408 -30 -0 -40 -0.5 -41 -2.72222222222 -71 -1 -72 -5 -1 -20/01/15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -601 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -38.2792282352 -20 -11.6690823528 -30 -0 -40 -1.5 -41 -0.833333333333 -71 -1 -72 -5 -1 -B -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -602 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -43.1366023528 -20 -12.0738635288 -30 -0 -40 -1 -41 -9.41666718095 -71 -1 -72 -5 -1 -Encoches pour \Pcourroies GT2 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -603 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -59.4627764705 -20 -11.5341552938 -30 -0 -40 -1.5 -41 -7 -71 -1 -72 -5 -1 -Gnieark -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -604 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -68.233035294 -20 -10.9944470588 -30 -0 -40 -0.5 -41 -2.72222222222 -71 -1 -72 -5 -1 -25/01/15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -605 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -68.2600207058 -20 -6.0291312938 -30 -0 -40 -1 -41 -2.66666666667 -71 -1 -72 -5 -1 -date -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -606 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -59.7326305881 -20 -5.8132479998 -30 -0 -40 -1 -41 -4.33333333333 -71 -1 -72 -5 -1 -Auteur -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -607 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -148.177317647 -20 -13.3556705878 -30 -0 -40 -1.5 -41 -4.16666666667 -71 -1 -72 -5 -1 -page \P1/1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -LINE -5 -608 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -7 -21 -22.5 -0 -LINE -5 -609 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -31 -11 -13 -21 -22.5 -0 -LINE -5 -60A -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -22.5 -11 -7 -21 -22.5 -0 -LINE -5 -60B -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -22.5 -11 -16 -21 -22.5 -0 -DIMENSION -5 -60C -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D42 -10 -82.5000002431 -20 -22.5 -30 -0 -11 -90.0000002765 -21 -22.5 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -82.5000002431 -24 -25.06375 -34 -0 -100 -AcDbRotatedDimension -0 -LINE -5 -60D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -22.5 -11 -2 -21 -34.9999999652 -0 -LINE -5 -60E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -22.5 -11 -18 -21 -34.9999999147 -0 -LINE -5 -60F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -31 -11 -21 -21 -31 -0 -LINE -5 -610 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -22.5 -11 -18 -21 -22.5 -0 -LINE -5 -611 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -22.5 -11 -7 -21 -22.5 -0 -LINE -5 -612 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -31 -11 -2 -21 -31 -0 -LINE -5 -613 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -34.9999999652 -11 -18 -21 -34.9999999147 -0 -LINE -5 -614 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -34.9999999147 -11 -18 -21 -22.5 -0 -LINE -5 -615 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -22.5 -11 -13 -21 -22.5 -0 -LINE -5 -616 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -22.5 -11 -13 -21 -31 -0 -LINE -5 -617 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -31 -11 -7 -21 -31 -0 -LINE -5 -618 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -7 -21 -22.5 -0 -LINE -5 -619 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -22.5 -11 -2 -21 -22.5 -0 -LINE -5 -61A -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -22.5 -11 -2 -21 -34.9999999652 -0 -LINE -5 -61B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -82.4462495497 -11 --25.5 -21 -82.4462495497 -0 -LINE -5 -61C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -92.4462495497 -11 --25.5 -21 -92.4462495497 -0 -LINE -5 -61D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -107.44624955 -11 -18 -21 -107.44624955 -0 -LINE -5 -61E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -67.4462495497 -11 -18 -21 -67.4462495497 -0 -LINE -5 -61F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -92.4462495497 -11 -45.5000005039 -21 -92.4462495497 -0 -LINE -5 -620 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -82.4462495497 -11 -45.5000005039 -21 -82.4462495497 -0 -LINE -5 -621 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -107.44624955 -11 -2 -21 -92.4462495497 -0 -LINE -5 -622 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -82.4462495497 -11 -2 -21 -67.4462495497 -0 -LINE -5 -623 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -107.44624955 -11 -18 -21 -92.4462495497 -0 -LINE -5 -624 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -82.4462495497 -11 -18 -21 -67.4462495497 -0 -LINE -5 -625 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -104.44624955 -11 -16 -21 -104.44624955 -0 -LINE -5 -626 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -70.4462495497 -11 -16 -21 -70.4462495497 -0 -DIMENSION -5 -627 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D43 -10 -2 -20 -41.1 -30 -0 -11 --1.5 -21 -42.125 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5 -23 -41.1 -33 -0 -14 -2 -24 -34.9999999652 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -628 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D44 -10 -18 -20 -41.1 -30 -0 -11 -10 -21 -42.125 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2 -23 -34.9999999652 -33 -0 -14 -18 -24 -34.9999999147 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -629 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D45 -10 -25.0000003098 -20 -41.1 -30 -0 -11 -21.5000001549 -21 -42.125 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -34.9999999147 -33 -0 -14 -25.0000003098 -24 -41.0999998752 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -62A -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D46 -10 -19.5 -20 -31 -30 -0 -11 -18.475 -21 -32.9999999573 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -34.9999999147 -33 -0 -14 -18 -24 -31 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -62B -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D47 -10 -19.5 -20 -25.5 -30 -0 -11 -18.475 -21 -27 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -28.5 -33 -0 -14 -18 -24 -25.5 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -62C -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D48 -10 -19.5 -20 -22.5 -30 -0 -11 -18.475 -21 -24 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -25.5 -33 -0 -14 -18 -24 -22.5 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -62D -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D49 -10 -19.5 -20 -31 -30 -0 -11 -18.475 -21 -29.75 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -28.5 -33 -0 -14 -18 -24 -31 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -62E -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D50 -10 -72.500000205 -20 -45.4281607231 -30 -0 -11 -75.5000002321 -21 -46.4531607231 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -78.5000002591 -23 -34.9999997275 -33 -0 -14 -72.500000205 -24 -28.5 -34 -0 -100 -AcDbRotatedDimension -0 -LINE -5 -62F -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --42.0675501767 -20 -124.120098541 -11 -144.112597635 -21 -124.120098541 -0 -LINE -5 -630 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -144.112597635 -20 -124.120098541 -11 -144.112597635 -21 --127.035671326 -0 -LINE -5 -631 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -144.112597635 -20 --127.035671326 -11 --42.0675501767 -21 --127.035671326 -0 -LINE -5 -632 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --42.0675501767 -20 --127.035671326 -11 --42.0675501767 -21 -124.120098541 -0 -LINE -5 -633 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --40.4015085855 -20 --22.4915614806 -11 -142.446556044 -21 --22.4915614806 -0 -LINE -5 -634 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -142.446556044 -20 --22.4915614806 -11 -142.446556044 -21 -121.621036154 -0 -LINE -5 -635 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -142.446556044 -20 -121.621036154 -11 --40.4015085855 -21 -121.621036154 -0 -LINE -5 -636 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --40.4015085855 -20 -121.621036154 -11 --40.4015085855 -21 --22.4915614806 -0 -LINE -5 -637 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --40.4328301674 -20 --24.7373855455 -11 -43.2129537706 -21 --24.7373855455 -0 -LINE -5 -638 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -43.2129537706 -20 --24.7373855455 -11 -43.2129537706 -21 --123.911843342 -0 -LINE -5 -639 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -43.2129537706 -20 --123.911843342 -11 --40.4328301674 -21 --123.911843342 -0 -LINE -5 -63A -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --40.4328301674 -20 --123.911843342 -11 --40.4328301674 -21 --24.7373855455 -0 -LINE -5 -63B -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.3163312794 -20 --24.7906988764 -11 -142.524651743 -21 --24.7906988764 -0 -LINE -5 -63C -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -142.524651743 -20 --24.7906988764 -11 -142.524651743 -21 --123.651524344 -0 -LINE -5 -63D -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -142.524651743 -20 --123.651524344 -11 -45.3163312794 -21 --123.651524344 -0 -LINE -5 -63E -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.3163312794 -20 --123.651524344 -11 -45.3163312794 -21 --24.7906988764 -0 -DIMENSION -5 -63F -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D51 -10 -50.0719282636 -20 -73.4462495497 -30 -0 -11 -49.0469282636 -21 -71.9462495497 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -16 -23 -70.4462495497 -33 -0 -14 -16 -24 -73.4462495497 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -640 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D52 -10 -50.0719282636 -20 -82.4462495497 -30 -0 -11 -49.0469282636 -21 -77.9462495497 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -73.4462495497 -33 -0 -14 -45.5000005039 -24 -82.4462495497 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -641 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D53 -10 -50.0719282636 -20 -92.4462495497 -30 -0 -11 -49.0469282636 -21 -87.4462495497 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -45.5000005039 -23 -82.4462495497 -33 -0 -14 -45.5000005039 -24 -92.4462495497 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -642 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D54 -10 -50.0719282636 -20 -67.4462495497 -30 -0 -11 -49.0469282636 -21 -68.9462495497 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -70.4462495497 -33 -0 -14 -18 -24 -67.4462495497 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -LINE -5 -643 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -64.7756970641 -20 -120.221561218 -11 -141.28032693 -21 -120.221561218 -0 -LINE -5 -644 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -141.28032693 -20 -120.221561218 -11 -141.28032693 -21 -47.9819978253 -0 -LINE -5 -645 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -141.28032693 -20 -47.9819978253 -11 -64.7756970641 -21 -47.9819978253 -0 -LINE -5 -646 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -64.7756970641 -20 -47.9819978253 -11 -64.7756970641 -21 -120.221561218 -0 -MTEXT -5 -647 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -67.1747969554 -20 -118.62216129 -30 -0 -40 -3 -41 -57.7500046286 -71 -1 -72 -5 -1 -Reprap Jeanne\P\PPièce servant de glissement \Ple long des axes \P"profil T carré 20X20"\P\PBy Gnieark & tranKilloman -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -LINE -5 -648 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -31 -11 -13 -21 -27.5 -0 -LINE -5 -649 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -27.5 -11 -7 -21 -31 -0 -LINE -5 -64A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -27.5 -11 -8 -21 -26.5 -0 -LINE -5 -64B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -27.5 -11 -12 -21 -26.5 -0 -LINE -5 -64C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -26.5 -11 -8 -21 -23.5 -0 -LINE -5 -64D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -26.5 -11 -12 -21 -23.5 -0 -LINE -5 -64E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -31.9999999709 -11 -18 -21 -31.9999999043 -0 -LINE -5 -64F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -73.4462495497 -11 -16 -21 -70.4462495497 -0 -LINE -5 -650 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -73.4462495497 -11 -16 -21 -73.4462495497 -0 -LINE -5 -651 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -73.4462495497 -11 -4 -21 -70.4462495497 -0 -LINE -5 -652 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -104.44624955 -11 -16 -21 -101.44624955 -0 -LINE -5 -653 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -101.44624955 -11 -16 -21 -101.44624955 -0 -LINE -5 -654 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -104.44624955 -11 -4 -21 -101.44624955 -0 -LINE -5 -655 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -112.500000259 -20 -34.9999995612 -11 -106.500000364 -21 -34.9999996111 -0 -LINE -5 -656 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -112.500000234 -20 -31.9999995612 -11 -112.500000259 -21 -34.9999995612 -0 -LINE -5 -657 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -112.500000234 -20 -31.9999995612 -11 -106.500000364 -21 -31.9999996111 -0 -LINE -5 -658 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.5000002591 -20 -34.9999997275 -11 -78.5000002591 -21 -34.9999997275 -0 -LINE -5 -659 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.5000002342 -20 -31.9999997275 -11 -78.5000002341 -21 -31.9999997275 -0 -LINE -5 -65A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.5000002342 -20 -31.9999997275 -11 -72.5000002591 -21 -34.9999997275 -0 -LINE -5 -65B -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.25000000002 -20 -31.9999999376 -11 -13.75 -21 -31.9999999376 -0 -LINE -5 -65C -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.25000000002 -20 -45.7199999304 -11 -13.75 -21 -45.7199998992 -0 -LINE -5 -65D -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.75 -20 -30.1099999376 -11 -13.75 -21 -47.6099998992 -0 -LINE -5 -65E -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.25000000002 -20 -30.1099999376 -11 -5.25000000002 -21 -47.6099999345 -0 -LINE -5 -65F -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.25000000002 -20 -30.1099999376 -11 -6.25000000002 -21 -47.6099999304 -0 -LINE -5 -660 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.25000000002 -20 -47.6099999345 -11 -6.25000000002 -21 -47.6099999304 -0 -LINE -5 -661 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.25000000002 -20 -30.1099999376 -11 -6.25000000002 -21 -30.1099999376 -0 -MTEXT -5 -662 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -12.2033073817 -20 -40.1964520258 -30 -0 -40 -1 -41 -3.66666666667 -71 -1 -72 -5 -1 -Poulie\PGT2 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -LINE -5 -663 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.25 -20 -60.0099999008 -11 -67.25 -21 -60.0099999008 -0 -LINE -5 -664 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.25 -20 -17.7099999008 -11 -23.25 -21 -60.0099999008 -0 -LINE -5 -665 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.25 -20 -17.7099999008 -11 -67.25 -21 -60.0099999008 -0 -LINE -5 -666 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.25 -20 -17.7099999008 -11 -67.25 -21 -17.7099999008 -0 -LINE -5 -667 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -3.25000000002 -20 -36.3599999008 -11 -3.25000000002 -21 -41.3599999008 -0 -MTEXT -5 -668 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -41.0547874398 -20 -38.8599999008 -30 -0 -40 -1 -41 -10.0555555556 -71 -1 -72 -5 -1 -Motor NEMA 17 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -LINE -5 -669 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -3.25000000002 -20 -41.3599999008 -11 -5.25000000002 -21 -41.3599999008 -0 -LINE -5 -66A -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -3.25000000002 -20 -36.3599999008 -11 -5.25000000002 -21 -36.3599999008 -0 -LINE -5 -66B -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.75 -20 -47.6099998992 -11 -18.125 -21 -47.609999881 -0 -LINE -5 -66C -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.75 -20 -30.1099999376 -11 -18.125 -21 -30.1099999376 -0 -LINE -5 -66D -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -22.25 -20 -30.1099999376 -11 -22.25 -21 -47.6099998639 -0 -LINE -5 -66E -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -22.25 -20 -41.3599999008 -11 -23.25 -21 -41.3599999008 -0 -LINE -5 -66F -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -22.25 -20 -36.3599999008 -11 -23.25 -21 -36.3599999008 -0 -LINE -5 -670 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -18.125 -20 -47.609999881 -11 -22.25 -21 -47.6099998639 -0 -LINE -5 -671 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -18.125 -20 -30.1099999376 -11 -22.25 -21 -30.1099999376 -0 -CIRCLE -5 -672 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --56.4 -20 -38.8599999008 -40 -8.75 -0 -CIRCLE -5 -673 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --56.4 -20 -38.8599999008 -40 -2.5 -0 -CIRCLE -5 -674 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -54.3599999008 -40 -1.5 -0 -CIRCLE -5 -675 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbCircle -10 --71.9 -20 -54.3599999008 -40 -1.5 -0 -CIRCLE -5 -676 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbCircle -10 --71.9 -20 -23.3599999008 -40 -1.5 -0 -CIRCLE -5 -677 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -23.3599999008 -40 -1.5 -0 -LINE -5 -678 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --77.55 -20 -23.3599999008 -11 --71.9 -21 -17.7099999008 -0 -LINE -5 -679 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --40.9 -20 -17.7099999008 -11 --35.25 -21 -23.3599999008 -0 -LINE -5 -67A -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --35.25 -20 -54.3599999008 -11 --40.9 -21 -60.0099999008 -0 -LINE -5 -67B -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --77.55 -20 -54.3599999008 -11 --77.55 -21 -23.3599999008 -0 -LINE -5 -67C -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --71.9 -20 -17.7099999008 -11 --40.9 -21 -17.7099999008 -0 -LINE -5 -67D -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --71.9 -20 -60.0099999008 -11 --40.9 -21 -60.0099999008 -0 -LINE -5 -67E -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --35.25 -20 -54.3599999008 -11 --35.25 -21 -23.3599999008 -0 -LINE -5 -67F -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --71.9 -20 -60.0099999008 -11 --77.675 -21 -54.2349999008 -0 -LINE -5 -680 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.375 -11 -15.875 -21 --5.125 -0 -LINE -5 -681 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.375 -11 -25.125 -21 -17.4599999008 -0 -LINE -5 -682 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.1250001461 -20 -17.4599999008 -11 -25.125 -21 -17.4599999008 -0 -LINE -5 -683 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.1250001461 -20 -17.4599999008 -11 -23.1250001461 -21 -60.2599999008 -0 -LINE -5 -684 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.1250001461 -20 -60.2599999008 -11 -18.1250001461 -21 -60.2599999008 -0 -LINE -5 -685 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.1250001461 -20 -60.2599999008 -11 -15.1250001461 -21 -68.2599999008 -0 -LINE -5 -686 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.1250001461 -20 -60.2599999008 -11 -23.1250001461 -21 -68.2599999008 -0 -LINE -5 -687 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.1250001461 -20 -68.2599999008 -11 -23.1250001461 -21 -68.2599999008 -0 -CIRCLE -5 -688 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -19.1250001461 -20 -64.2599999008 -40 -2 -0 -LINE -5 -689 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.1250001461 -20 -25.125 -11 -18.1250001461 -21 -60.2599999008 -0 -LINE -5 -68A -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --68.9 -20 -26.3599999008 -11 --43.9 -21 -26.3599999008 -0 -LINE -5 -68B -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --68.9 -20 -51.3599999008 -11 --68.9 -21 -26.3599999008 -0 -LINE -5 -68C -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --43.9 -20 -26.3599999008 -11 --43.9 -21 -51.3599999008 -0 -LINE -5 -68D -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --43.9 -20 -51.3599999008 -11 --68.9 -21 -51.3599999008 -0 -CIRCLE -5 -68E -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --71.9 -20 -54.3599999008 -40 -1.5 -0 -CIRCLE -5 -68F -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -54.3599999008 -40 -1.5 -0 -CIRCLE -5 -690 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -23.3599999008 -40 -1.5 -0 -LINE -5 -691 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --71.9 -20 -60.0099999008 -11 --77.55 -21 -54.3599999008 -0 -LINE -5 -692 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -60.0099999008 -11 --71.9 -21 -60.0099999008 -0 -LINE -5 -693 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -60.0099999008 -11 --30.125 -21 -60.0099999008 -0 -LINE -5 -694 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -68.0099999008 -11 --30.125 -21 -68.0099999008 -0 -LINE -5 -695 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --30.125 -20 -68.0099999008 -11 --30.125 -21 --5.125 -0 -LINE -5 -696 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --77.675 -20 -54.2349999008 -11 --77.675 -21 --5.125 -0 -LINE -5 -697 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --77.675 -20 --5.125 -11 --30.125 -21 --5.125 -0 -ARC -5 -698 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -23.3599999008 -40 -4 -100 -AcDbArc -50 -153.816335135 -51 -26.1836648653 -0 -LINE -5 -699 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --44.4895368294 -20 -25.125 -11 --77.675 -21 -25.125 -0 -LINE -5 -69A -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --30.125 -20 -13.375 -11 --77.675 -21 -13.375 -0 -LINE -5 -69B -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --30.125 -20 -25.125 -11 --37.3104631706 -21 -25.125 -0 -LINE -5 -69C -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -13.375 -11 --35.125 -21 --5.125 -0 -LINE -5 -69D -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -68.0099999008 -11 --35.125 -21 -60.0099999008 -0 -LINE -5 -69E -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.925 -20 --5.125 -11 --123.675 -21 --5.125 -0 -LINE -5 -69F -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --102.675 -20 -25.125 -11 --102.675 -21 -13.375 -0 -LINE -5 -6A0 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -25.125 -11 --102.675 -21 -25.125 -0 -LINE -5 -6A1 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --132.925 -20 -13.375 -11 --123.675 -21 --5.125 -0 -LINE -5 -6A2 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --102.675 -20 -13.375 -11 --111.925 -21 --5.125 -0 -LINE -5 -6A3 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --127.925 -20 -20.125 -11 --107.675 -21 -20.125 -0 -LINE -5 -6A4 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --116.925 -20 -18.375 -11 --107.675 -21 -18.375 -0 -LINE -5 -6A5 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --127.925 -20 -18.375 -11 --118.675 -21 -18.375 -0 -LINE -5 -6A6 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --116.925 -20 --0.125 -11 --116.925 -21 -18.375 -0 -LINE -5 -6A7 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --118.675 -20 --0.125 -11 --118.675 -21 -18.375 -0 -LINE -5 -6A8 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --132.925 -20 -13.375 -11 --123.675 -21 -13.375 -0 -LINE -5 -6A9 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --123.675 -20 --5.125 -11 --123.675 -21 -13.375 -0 -LINE -5 -6AA -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.925 -20 -13.375 -11 --102.675 -21 -13.375 -0 -LINE -5 -6AB -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --127.925 -20 -20.125 -11 --127.925 -21 -18.375 -0 -LINE -5 -6AC -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --107.675 -20 -20.125 -11 --107.675 -21 -18.375 -0 -LINE -5 -6AD -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --118.675 -20 --0.125 -11 --116.925 -21 --0.125 -0 -LINE -5 -6AE -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.925 -20 -13.375 -11 --111.925 -21 --5.125 -0 -CIRCLE -5 -6AF -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --126.53130823 -20 -7.29582039325 -40 -2 -0 -CIRCLE -5 -6B0 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --109.06869177 -20 -7.29582039325 -40 -2 -0 -LINE -5 -6B1 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --114.050000146 -20 -31.9999999376 -11 --121.550000146 -21 -31.9999999376 -0 -LINE -5 -6B2 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --114.050000146 -20 -45.7199999304 -11 --121.550000146 -21 -45.7199998992 -0 -LINE -5 -6B3 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --121.550000146 -20 -30.1099999376 -11 --121.550000146 -21 -47.6099998992 -0 -LINE -5 -6B4 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --113.050000146 -20 -30.1099999376 -11 --113.050000146 -21 -47.6099999345 -0 -LINE -5 -6B5 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --114.050000146 -20 -30.1099999376 -11 --114.050000146 -21 -47.6099999304 -0 -LINE -5 -6B6 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --113.050000146 -20 -47.6099999345 -11 --114.050000146 -21 -47.6099999304 -0 -LINE -5 -6B7 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --113.050000146 -20 -30.1099999376 -11 --114.050000146 -21 -30.1099999376 -0 -LINE -5 -6B8 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --131.050000146 -20 -60.0099999008 -11 --175.050000146 -21 -60.0099999008 -0 -LINE -5 -6B9 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --175.050000146 -20 -17.7099999008 -11 --175.050000146 -21 -60.0099999008 -0 -LINE -5 -6BA -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --131.050000146 -20 -17.7099999008 -11 --175.050000146 -21 -17.7099999008 -0 -LINE -5 -6BB -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.050000146 -20 -36.3599999008 -11 --111.050000146 -21 -41.3599999008 -0 -LINE -5 -6BC -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.050000146 -20 -41.3599999008 -11 --113.050000146 -21 -41.3599999008 -0 -LINE -5 -6BD -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.050000146 -20 -36.3599999008 -11 --113.050000146 -21 -36.3599999008 -0 -MTEXT -5 -6BE -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --159.77113538 -20 -39.7885723102 -30 -0 -40 -1 -41 -10.0555555556 -71 -1 -72 -5 -1 -Motor NEMA 17 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -LINE -5 -6BF -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --121.550000146 -20 -47.6099998992 -11 --125.925000146 -21 -47.609999881 -0 -LINE -5 -6C0 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --121.550000146 -20 -30.1099999376 -11 --125.925000146 -21 -30.1099999376 -0 -LINE -5 -6C1 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --130.050000146 -20 -30.1099999376 -11 --130.050000146 -21 -47.6099998639 -0 -LINE -5 -6C2 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --130.050000146 -20 -41.3599999008 -11 --131.050000146 -21 -41.3599999008 -0 -LINE -5 -6C3 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -47.609999881 -11 --130.050000146 -21 -47.6099998639 -0 -LINE -5 -6C4 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -30.1099999376 -11 --130.050000146 -21 -30.1099999376 -0 -LINE -5 -6C5 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --130.050000146 -20 -36.3599999008 -11 --131.050000146 -21 -36.3599999008 -0 -LINE -5 -6C6 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --132.925 -20 -13.375 -11 --132.925 -21 -17.4599999008 -0 -LINE -5 -6C7 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --130.925000146 -20 -17.4599999008 -11 --132.925 -21 -17.4599999008 -0 -LINE -5 -6C8 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -25.125 -11 --125.925000146 -21 -60.2599999008 -0 -LINE -5 -6C9 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --122.925000146 -20 -60.2599999008 -11 --122.925000146 -21 -68.2599999008 -0 -LINE -5 -6CA -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --122.925000146 -20 -68.2599999008 -11 --130.925000146 -21 -68.2599999008 -0 -LINE -5 -6CB -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -60.2599999008 -11 --130.925000146 -21 -60.2599999008 -0 -LINE -5 -6CC -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --122.925000146 -20 -60.2599999008 -11 --125.925000146 -21 -60.2599999008 -0 -CIRCLE -5 -6CD -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --126.925000146 -20 -64.2599999008 -40 -2 -0 -LINE -5 -6CE -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --130.925000146 -20 -17.4599999008 -11 --130.925000146 -21 -68.2599999008 -0 -POINT -5 -6CF -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -76.1116938222 -20 --12.2846944415 -0 -POINT -5 -6D0 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -76.378752397 -20 --18.4270416622 -0 -MTEXT -5 -6D1 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --173.124345412 -20 --17.0819034644 -30 -0 -40 -4 -41 -38.5555555556 -71 -1 -72 -5 -1 -Reprap Jeanne -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D2 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --173.332133082 -20 --30.1118095344 -30 -0 -40 -1.5 -41 -41.2916674381 -71 -1 -72 -5 -1 -@Gnieark https://blog-du-grouik.tinad.fr\P@trankilloman\PHackerspace @jeannedhack -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D3 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --140.615357176 -20 --6.3404446404 -30 -0 -40 -1.5 -41 -9.58333333333 -71 -1 -72 -5 -1 -env 100 g -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D4 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --174.08359247 -20 --11.0839740524 -30 -0 -40 -1.5 -41 -18.7083333333 -71 -1 -72 -5 -1 -Impression en PLA\P2.5 mm par couche -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D5 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --126.574510117 -20 --30.4059505234 -30 -0 -40 -1.5 -41 -4.16666666667 -71 -1 -72 -5 -1 -page \P1/1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D6 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --173.624153887 -20 --23.6262753095 -30 -0 -40 -1.5 -41 -36.0000007714 -71 -1 -72 -5 -1 -Fixation en haut de l'axe entre:\Pplateau supérieur, profil T, moteur -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -MTEXT -5 -6D7 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --174.032675598 -20 --6.08839733169 -30 -0 -40 -1.5 -41 -11.9172381247 -71 -1 -72 -5 -1 -scale 1:1 A4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.96 -0 -LINE -5 -6D8 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -82.9667127669 -20 --76.6108771873 -11 -82.9667127669 -21 --96.377784531 -0 -LINE -5 -6D9 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.9667127669 -20 --76.6108771873 -11 -72.9667127669 -21 --96.377784531 -0 -LINE -5 -6DA -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.9667127669 -20 --96.377784531 -11 -82.9667127669 -21 --96.377784531 -0 -LINE -5 -6DB -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -113.466712767 -20 --63.877784531 -11 -113.466712767 -21 --96.377784531 -0 -DIMENSION -5 -6DC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D55 -10 -127.380113994 -20 -31.9999995612 -30 -0 -11 -127.380113994 -21 -33.4999995612 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -112.500000259 -23 -34.9999995612 -33 -0 -14 -112.500000234 -24 -31.9999995612 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -6DD -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D56 -10 -127.380113994 -20 -22.5 -30 -0 -11 -127.380113994 -21 -27.2499997806 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -112.500000234 -23 -31.9999995612 -33 -0 -14 -106.500000155 -24 -22.5 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -CIRCLE -5 -6DE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -77.9667127669 -20 --116.377784531 -40 -2.1 -0 -LINE -5 -6DF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -74.9667127669 -20 --120.477784531 -11 -74.9667127669 -21 --122.977784531 -0 -LINE -5 -6E0 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -80.9667127669 -20 --122.977784531 -11 -74.9667127669 -21 --122.977784531 -0 -LINE -5 -6E1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -80.9667127669 -20 --120.477784531 -11 -80.9667127669 -21 --122.977784531 -0 -LINE -5 -6E2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -80.9667127669 -20 --120.477784531 -11 -74.9667127669 -21 --120.477784531 -0 -LINE -5 -6E3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -82.9667127669 -20 --111.377784531 -11 -82.9667127669 -21 --125.977784531 -0 -LINE -5 -6E4 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.9667127669 -20 --111.377784531 -11 -72.9667127669 -21 --125.977784531 -0 -LINE -5 -6E5 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -82.9667127669 -20 --125.977784531 -11 -72.9667127669 -21 --125.977784531 -0 -LINE -5 -6E6 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --121.377784531 -11 -72.9667127669 -21 --121.377784531 -0 -LINE -5 -6E7 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -82.9667127669 -20 --121.377784531 -11 -88.4667127669 -21 --121.377784531 -0 -POINT -5 -6E8 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -90.216061105 -20 --127.806086565 -0 -POINT -5 -6E9 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -95.2280644998 -20 --131.843533745 -0 -DIMENSION -5 -6EA -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D57 -10 -90.216061105 -20 --121.377784531 -30 -0 -11 -90.216061105 -21 --123.677784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -82.9667127669 -23 --125.977784531 -33 -0 -14 -88.4667127669 -24 --121.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -6EB -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D58 -10 -90.216061105 -20 --111.377784531 -30 -0 -11 -90.216061105 -21 --116.377784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -88.4667127669 -23 --121.377784531 -33 -0 -14 -88.4667127669 -24 --111.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -LINE -5 -6EC -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -113.466712767 -20 --96.377784531 -11 -128.066712767 -21 --96.377784531 -0 -LINE -5 -6ED -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -128.066712767 -20 --86.377784531 -11 -128.066712767 -21 --96.377784531 -0 -LINE -5 -6EE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -123.466712767 -20 --86.377784531 -11 -128.066712767 -21 --86.377784531 -0 -LINE -5 -6EF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -123.466712767 -20 --63.877784531 -11 -123.466712767 -21 --86.377784531 -0 -LINE -5 -6F0 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -158.466712767 -20 --63.877784531 -11 -158.466712767 -21 --67.377784531 -0 -LINE -5 -6F1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -161.466712767 -20 --63.877784531 -11 -161.466712767 -21 --67.377784531 -0 -LINE -5 -6F2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -176.466712767 -20 --63.877784531 -11 -176.466712767 -21 --67.377784531 -0 -LINE -5 -6F3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -179.466712767 -20 --63.877784531 -11 -179.466712767 -21 --67.377784531 -0 -LINE -5 -6F4 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -179.466712767 -20 --63.877784531 -11 -176.466712767 -21 --63.877784531 -0 -LINE -5 -6F5 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -161.466712767 -20 --63.877784531 -11 -158.466712767 -21 --63.877784531 -0 -ARC -5 -6F6 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -168.966712767 -20 --67.377784531 -40 -7.5 -100 -AcDbArc -50 -180 -51 -0 -0 -ARC -5 -6F7 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -168.966712767 -20 --67.377784531 -40 -10.5 -100 -AcDbArc -50 -298.436890149 -51 -0 -0 -ARC -5 -6F8 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -168.966712767 -20 --67.377784531 -40 -10.5 -100 -AcDbArc -50 -180 -51 -241.563109851 -0 -LINE -5 -6F9 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -163.966712767 -20 --76.6108771873 -11 -163.966712767 -21 --96.377784531 -0 -LINE -5 -6FA -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -173.966712767 -20 --76.6108771873 -11 -173.966712767 -21 --96.377784531 -0 -LINE -5 -6FB -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -173.966712767 -20 --96.377784531 -11 -163.966712767 -21 --96.377784531 -0 -CIRCLE -5 -6FC -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -168.966712767 -20 --91.377784531 -40 -1.5 -0 -LINE -5 -6FD -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -163.966712767 -20 --86.377784531 -11 -173.966712767 -21 --86.377784531 -0 -MTEXT -5 -6FE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -64.5806644014 -20 --33.6499251355 -30 -0 -40 -5 -41 -58.0555555556 -71 -1 -72 -5 -1 -Fixation \PRotule / Bielette -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.84934656 -0 -POINT -5 -6FF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -185.339708867 -20 --60.9097634776 -0 -POINT -5 -700 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -185.339708867 -20 --55.4713917385 -0 -POINT -5 -701 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -185.557243737 -20 --50.250554869 -0 -DIMENSION -5 -702 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D59 -10 -70.4667127669 -20 --60.9097634776 -30 -0 -11 -68.9667127669 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -67.4667127669 -23 --63.877784531 -33 -0 -14 -70.4667127669 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -703 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D60 -10 -77.9667127669 -20 --60.9097634776 -30 -0 -11 -74.2167127669 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -70.4667127669 -23 --63.877784531 -33 -0 -14 -77.9667127669 -24 --67.377784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -704 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D61 -10 -85.4667127669 -20 --60.9097634776 -30 -0 -11 -81.7167127669 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -77.9667127669 -23 --67.377784531 -33 -0 -14 -85.4667127669 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -705 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D62 -10 -88.4667127669 -20 --60.9097634776 -30 -0 -11 -86.9667127669 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -85.4667127669 -23 --63.877784531 -33 -0 -14 -88.4667127669 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -706 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D63 -10 -88.4667127669 -20 --55.4713917385 -30 -0 -11 -77.9667127669 -21 --55.4713917385 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -67.4667127669 -23 --63.877784531 -33 -0 -14 -88.4667127669 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -707 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D64 -10 -118.466712767 -20 --60.9097634776 -30 -0 -11 -115.966712767 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -113.466712767 -23 --63.877784531 -33 -0 -14 -118.466712767 -24 --67.127784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -708 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D65 -10 -123.466712767 -20 --60.9097634776 -30 -0 -11 -120.966712767 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -118.466712767 -23 --67.127784531 -33 -0 -14 -123.466712767 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -709 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D66 -10 -128.066712767 -20 --60.9097634776 -30 -0 -11 -125.766712767 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -123.466712767 -23 --63.877784531 -33 -0 -14 -128.066712767 -24 --86.377784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70A -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D67 -10 -123.466712767 -20 --55.4713917385 -30 -0 -11 -118.466712767 -21 --55.4713917385 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -113.466712767 -23 --63.877784531 -33 -0 -14 -123.466712767 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70B -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D68 -10 -185.339708867 -20 --91.377784531 -30 -0 -11 -185.339708867 -21 --93.877784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -173.966712767 -23 --96.377784531 -33 -0 -14 -168.966712767 -24 --91.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70C -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D69 -10 -185.339708867 -20 --86.377784531 -30 -0 -11 -185.339708867 -21 --88.877784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -168.966712767 -23 --91.377784531 -33 -0 -14 -173.966712767 -24 --86.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70D -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D70 -10 -185.339708867 -20 --76.6108771873 -30 -0 -11 -185.339708867 -21 --81.4943308592 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -173.966712767 -23 --86.377784531 -33 -0 -14 -173.966712767 -24 --76.6108771873 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70E -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D71 -10 -185.339708867 -20 --67.377784531 -30 -0 -11 -185.339708867 -21 --71.9943308591 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -173.966712767 -23 --76.6108771873 -33 -0 -14 -168.966712767 -24 --67.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70F -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D72 -10 -185.339708867 -20 --63.877784531 -30 -0 -11 -185.339708867 -21 --65.627784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -168.966712767 -23 --67.377784531 -33 -0 -14 -179.466712767 -24 --63.877784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -710 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D73 -10 -82.9667127669 -20 --96.377784531 -30 -0 -11 -77.9667127669 -21 --96.377784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -72.9667127669 -23 --96.377784531 -33 -0 -14 -82.9667127669 -24 --96.377784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -711 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D74 -10 -88.4667127669 -20 --96.377784531 -30 -0 -11 -88.4667127669 -21 --86.4943308592 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -82.9667127669 -23 --76.6108771873 -33 -0 -14 -82.9667127669 -24 --96.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -712 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D75 -10 -72.9667127669 -20 --96.377784531 -30 -0 -11 -72.9667127669 -21 --81.877784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -77.9667127669 -23 --67.377784531 -33 -0 -14 -72.9667127669 -24 --96.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -713 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D76 -10 -72.9667127669 -20 --67.377784531 -30 -0 -11 -75.4667127669 -21 --67.377784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -77.9667127669 -23 --67.377784531 -33 -0 -14 -72.9667127669 -24 --76.6108771873 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -714 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D77 -10 -82.9667127669 -20 --122.977784531 -30 -0 -11 -82.9667127669 -21 --122.177784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -82.9667127669 -23 --121.377784531 -33 -0 -14 -80.9667127669 -24 --122.977784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -715 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D78 -10 -74.9667127669 -20 --122.977784531 -30 -0 -11 -74.9667127669 -21 --121.727784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -74.9667127669 -23 --120.477784531 -33 -0 -14 -74.9667127669 -24 --122.977784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -716 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D79 -10 -168.966712767 -20 --91.377784531 -30 -0 -11 -168.966712767 -21 --79.377784531 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -168.966712767 -23 --67.377784531 -33 -0 -14 -168.966712767 -24 --91.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -717 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D80 -10 -10 -20 --5.125 -30 -0 -11 -10 -21 -16.8674999504 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -23.25 -23 -38.8599999008 -33 -0 -14 -10 -24 --5.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -718 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D81 -10 --56.4 -20 -51.3599999008 -30 -0 -11 --67.0375 -21 -51.3599999008 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --77.675 -23 -24.5549999504 -33 -0 -14 --56.4 -24 -51.3599999008 -34 -0 -100 -AcDbRotatedDimension -0 -LINE -5 -719 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.375 -11 -15.875 -21 --5.125 -0 -LINE -5 -71A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.875 -20 --5.125 -11 -4.125 -21 --5.125 -0 -LINE -5 -71B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --5.125 -11 --5.125 -21 -13.375 -0 -LINE -5 -71C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.375 -11 --5.125 -21 -25.125 -0 -LINE -5 -71D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -25.125 -11 -25.125 -21 -13.375 -0 -LINE -5 -71E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --0.2 -20 -20.2 -11 --0.2 -21 -18.3 -0 -LINE -5 -71F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 -18.3 -11 --0.2 -21 -18.3 -0 -LINE -5 -720 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 --0.2 -11 -9.05 -21 -18.3 -0 -LINE -5 -721 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 --0.2 -11 -10.95 -21 --0.2 -0 -LINE -5 -722 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.95 -20 --0.2 -11 -10.95 -21 -18.3 -0 -LINE -5 -723 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -20.2 -11 --0.2 -21 -20.2 -0 -LINE -5 -724 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -18.3 -11 -20.2 -21 -20.2 -0 -LINE -5 -725 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -18.3 -11 -10.95 -21 -18.3 -0 -LINE -5 -726 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000009158 -20 -53.9999999522 -11 -13.5000000916 -21 -53.999999923 -0 -LINE -5 -727 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.5000000916 -20 -53.999999923 -11 -13.5 -21 -31.999999923 -0 -LINE -5 -728 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.5 -20 -31.9999999522 -11 -13.5 -21 -31.999999923 -0 -LINE -5 -729 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000009158 -20 -53.9999999522 -11 -6.5 -21 -31.9999999522 -0 -LINE -5 -72A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.5000000624 -20 -46.999999923 -11 -13.5000000291 -21 -38.999999923 -0 -LINE -5 -72B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000006244 -20 -46.9999999522 -11 -6.50000002914 -21 -38.9999999522 -0 -LINE -5 -72C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000666 -20 -47.9999999189 -11 -13.5000000624 -21 -46.999999923 -0 -LINE -5 -72D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.5000000291 -20 -38.999999923 -11 -14.500000025 -21 -37.9999999189 -0 -LINE -5 -72E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000006244 -20 -46.9999999522 -11 -5.5000000666 -21 -47.9999999563 -0 -LINE -5 -72F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000002914 -20 -38.9999999522 -11 -5.50000002498 -21 -37.9999999563 -0 -LINE -5 -730 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -54.9999999688 -11 -5.50000009574 -21 -54.9999999563 -0 -LINE -5 -731 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -17.5000000957 -21 -54.9999999064 -0 -LINE -5 -732 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -733 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -5.49999997138 -21 -25.125 -0 -LINE -5 -734 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.49999997138 -20 -25.125 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -735 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.4999999714 -20 -25.125 -11 -25.125 -21 -25.125 -0 -LINE -5 -736 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -737 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 --5.125 -11 -4.05 -21 -13.3 -0 -LINE -5 -738 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 -13.3 -11 --5.125 -21 -13.3 -0 -LINE -5 -739 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.3 -11 -15.95 -21 -13.3 -0 -LINE -5 -73A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 --5.125 -11 -15.95 -21 -13.3 -0 -LINE -5 -73B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -50.125 -20 -25.125 -11 -90.125 -21 -25.125 -0 -LINE -5 -73C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -50.125 -20 -13.3 -11 -90.125 -21 -13.3 -0 -LINE -5 -73D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -50.125 -20 --5.125 -11 -90.125 -21 --5.125 -0 -LINE -5 -73E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -86.125 -20 -13.3 -11 -86.125 -21 --5.125 -0 -CIRCLE -5 -73F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -70.125 -20 -42.999999923 -40 -4 -0 -ARC -5 -740 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -70.125 -20 -42.999999923 -40 -20 -100 -AcDbArc -50 -143.13010296 -51 -179.999998634 -0 -LINE -5 -741 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -50.125 -20 -42.9999994462 -11 -50.125 -21 --5.125 -0 -LINE -5 -742 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -54.1249998732 -20 -54.9999997539 -11 -90.125 -21 -54.9999996041 -0 -LINE -5 -743 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -14.5000000957 -21 -54.9999999189 -0 -LINE -5 -744 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000012071 -20 -60.9999999688 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -745 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -2.50000012071 -21 -60.9999999688 -0 -LINE -5 -746 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -17.4999999714 -21 -25.1249999875 -0 -CIRCLE -5 -747 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -10.0000001082 -20 -57.9999999376 -40 -2 -0 -LINE -5 -748 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -86.125 -20 -60.9999996207 -11 -90.125000025 -21 -60.9999996041 -0 -LINE -5 -749 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -90.125 -20 -60.9999996041 -11 -90.125 -21 --5.125 -0 -LINE -5 -74A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -86.125 -20 -60.9999996207 -11 -86.125 -21 -54.9999996207 -0 -LINE -5 -74B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --30.125 -11 -4.125 -21 --70.125 -0 -LINE -5 -74C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.875 -20 --30.125 -11 -15.875 -21 --70.125 -0 -LINE -5 -74D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 --70.125 -11 --5.125 -21 --70.125 -0 -LINE -5 -74E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 --30.125 -11 --5.125 -21 --30.125 -0 -LINE -5 -74F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 --66.125 -11 -15.875 -21 --66.125 -0 -LINE -5 -750 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --66.125 -11 --5.125 -21 --66.125 -0 -LINE -5 -751 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 --30.125 -11 --5.125 -21 --70.125 -0 -LINE -5 -752 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 --30.125 -11 -25.125 -21 --70.125 -0 -LINE -5 -753 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -145.375 -20 -13.375 -11 -136.125 -21 --5.125 -0 -LINE -5 -754 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -136.125 -20 --5.125 -11 -124.375 -21 --5.125 -0 -LINE -5 -755 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -124.375 -20 --5.125 -11 -115.125 -21 -13.375 -0 -LINE -5 -756 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -115.125 -20 -13.375 -11 -115.125 -21 -25.125 -0 -LINE -5 -757 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -145.375 -20 -25.125 -11 -145.375 -21 -13.375 -0 -LINE -5 -758 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000092 -20 -53.9999999522 -11 -133.750000092 -21 -53.999999923 -0 -LINE -5 -759 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -133.750000092 -20 -53.999999923 -11 -133.75 -21 -31.999999923 -0 -LINE -5 -75A -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.75 -20 -31.9999999522 -11 -133.75 -21 -31.999999923 -0 -LINE -5 -75B -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000092 -20 -53.9999999522 -11 -126.75 -21 -31.9999999522 -0 -LINE -5 -75C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -133.750000062 -20 -46.999999923 -11 -133.750000029 -21 -38.999999923 -0 -LINE -5 -75D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000062 -20 -46.9999999522 -11 -126.750000029 -21 -38.9999999522 -0 -LINE -5 -75E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -134.750000067 -20 -47.9999999189 -11 -133.750000062 -21 -46.999999923 -0 -LINE -5 -75F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -133.750000029 -20 -38.999999923 -11 -134.750000025 -21 -37.9999999189 -0 -LINE -5 -760 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000062 -20 -46.9999999522 -11 -125.750000067 -21 -47.9999999563 -0 -LINE -5 -761 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000029 -20 -38.9999999522 -11 -125.750000025 -21 -37.9999999563 -0 -LINE -5 -762 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -134.750000096 -20 -54.9999999189 -11 -134.749999971 -21 -25.125 -0 -LINE -5 -763 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -125.750000096 -20 -54.9999999563 -11 -125.749999971 -21 -25.125 -0 -LINE -5 -764 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -125.749999971 -20 -25.125 -11 -134.749999971 -21 -25.125 -0 -LINE -5 -765 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -137.749999971 -20 -25.125 -11 -145.375 -21 -25.125 -0 -LINE -5 -766 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -115.125 -20 -25.125 -11 -122.749999971 -21 -25.125 -0 -LINE -5 -767 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -125.750000096 -20 -54.9999999563 -11 -134.750000096 -21 -54.9999999189 -0 -LINE -5 -768 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -122.750000121 -20 -60.9999999688 -11 -122.749999971 -21 -25.125 -0 -LINE -5 -769 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -137.750000121 -20 -60.9999999064 -11 -122.750000121 -21 -60.9999999688 -0 -LINE -5 -76A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -137.750000121 -20 -60.9999999064 -11 -137.749999971 -21 -25.1249999875 -0 -CIRCLE -5 -76B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -130.250000108 -20 -57.9999999376 -40 -2 -0 -LINE -5 -76C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000002248 -20 -85.9999999064 -11 -2.50000022478 -21 -85.9999999688 -0 -LINE -5 -76D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.1250002706 -20 -125.999999896 -11 --5.12499972938 -21 -125.999999979 -0 -LINE -5 -76E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.1250001602 -20 -85.9999998959 -11 --5.12499983977 -21 -85.9999999793 -0 -LINE -5 -76F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.12499983977 -20 -85.9999999793 -11 --5.12499972938 -21 -125.999999979 -0 -LINE -5 -770 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.1250001602 -20 -85.9999998959 -11 -25.1250002706 -21 -125.999999896 -0 -LINE -5 -771 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -85.9999999169 -11 -17.5000001207 -21 -125.999999925 -0 -LINE -5 -772 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -85.9999999583 -11 -2.50000009574 -21 -125.999999967 -0 -LINE -5 -773 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -89.99999995 -11 -5.50000009574 -21 -125.999999967 -0 -LINE -5 -774 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -89.9999999252 -11 -14.5000000957 -21 -125.999999896 -0 -LINE -5 -775 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -89.9999999169 -11 -2.50000009574 -21 -89.9999999583 -0 -POINT -5 -776 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --7.29478994918 -20 -63.7501208602 -0 -POINT -5 -777 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --12.0522616552 -20 -67.8732630054 -0 -POINT -5 -778 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --16.8097333612 -20 -72.6307347114 -0 -DIMENSION -5 -779 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D82 -10 --7.29478994918 -20 -42.9999999522 -30 -0 -11 --7.29478994918 -21 -51.9999999605 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2.50000012071 -23 -60.9999999688 -33 -0 -14 -6.50000004579 -24 -42.9999999522 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77A -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D83 -10 --7.29478994918 -20 --5.125 -30 -0 -11 --7.29478994918 -21 -18.9374999761 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -6.50000004579 -23 -42.9999999522 -33 -0 -14 -4.05 -24 --5.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77B -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D84 -10 --12.0522616552 -20 -54.9999999688 -30 -0 -11 --12.0522616552 -21 -57.9999999688 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2.50000012071 -23 -60.9999999688 -33 -0 -14 -2.50000009574 -24 -54.9999999688 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77C -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D85 -10 --12.0522616552 -20 -47.9999999563 -30 -0 -11 --12.0522616552 -21 -51.4999999626 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2.50000009574 -23 -54.9999999688 -33 -0 -14 -5.5000000666 -24 -47.9999999563 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77D -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D86 -10 --12.0522616552 -20 -46.9999999522 -30 -0 -11 --12.0522616552 -21 -47.4999999543 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -5.5000000666 -23 -47.9999999563 -33 -0 -14 -6.50000006244 -24 -46.9999999522 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77E -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D87 -10 --12.0522616552 -20 -38.9999999522 -30 -0 -11 --12.0522616552 -21 -42.9999999522 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -6.50000006244 -23 -46.9999999522 -33 -0 -14 -6.50000002914 -24 -38.9999999522 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77F -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D88 -10 --12.0522616552 -20 -37.9999999563 -30 -0 -11 --12.0522616552 -21 -38.4999999543 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -6.50000002914 -23 -38.9999999522 -33 -0 -14 -5.50000002498 -24 -37.9999999563 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -780 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D89 -10 --12.0522616552 -20 -25.125 -30 -0 -11 --12.0522616552 -21 -31.5624999782 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -5.50000002498 -23 -37.9999999563 -33 -0 -14 --5.125 -24 -25.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -781 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D90 -10 --12.0522616552 -20 -20.2 -30 -0 -11 --12.0522616552 -21 -22.6625 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5.125 -23 -25.125 -33 -0 -14 --0.2 -24 -20.2 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -782 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D91 -10 --12.0522616552 -20 -18.3 -30 -0 -11 --12.0522616552 -21 -19.25 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --0.2 -23 -20.2 -33 -0 -14 --0.2 -24 -18.3 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -783 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D92 -10 --12.0522616552 -20 -13.3 -30 -0 -11 --12.0522616552 -21 -15.8 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --0.2 -23 -18.3 -33 -0 -14 --5.125 -24 -13.3 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -784 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D93 -10 --12.0522616552 -20 --0.2 -30 -0 -11 --12.0522616552 -21 -6.55 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5.125 -23 -13.3 -33 -0 -14 -9.05 -24 --0.2 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -785 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D94 -10 --12.0522616552 -20 --5.125 -30 -0 -11 --12.0522616552 -21 --2.6625 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -9.05 -23 --0.2 -33 -0 -14 -4.05 -24 --5.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -786 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D95 -10 --16.8097333612 -20 --5.125 -30 -0 -11 --16.8097333612 -21 -27.9374999844 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2.50000012071 -23 -60.9999999688 -33 -0 -14 -4.05 -24 --5.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -787 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D96 -10 -17.5000001207 -20 -63.7501208602 -30 -0 -11 -21.3125000604 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -25.125 -23 -25.125 -33 -0 -14 -17.5000001207 -24 -60.9999999064 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -788 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D97 -10 -10.0000001207 -20 -63.7501208602 -30 -0 -11 -13.7500001207 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -17.5000001207 -23 -60.9999999064 -33 -0 -14 -10.0000001207 -24 -60.9999999376 -34 -0 -100 -AcDbRotatedDimension -0 -POINT -5 -789 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -28.1642324994 -20 --7.8656865539 -0 -DIMENSION -5 -78A -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D98 -10 -15.95 -20 --7.8656865539 -30 -0 -11 -20.5375 -21 --7.8656865539 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -25.125 -23 -13.3 -33 -0 -14 -15.95 -24 --5.125 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78B -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D99 -10 -10.95 -20 --7.8656865539 -30 -0 -11 -13.4125 -21 --7.8656865539 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -15.875 -23 --5.125 -33 -0 -14 -10.95 -24 --0.2 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78C -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D100 -10 -9.05 -20 --7.8656865539 -30 -0 -11 -10 -21 --7.8656865539 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -10.95 -23 --0.2 -33 -0 -14 -9.05 -24 --0.2 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78D -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D101 -10 -54.1249998732 -20 -63.7501208602 -30 -0 -11 -52.1249999366 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -50.125 -23 -43.0000003999 -33 -0 -14 -54.1249998732 -24 -54.9999997539 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78E -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D102 -10 -70.125 -20 -63.7501208602 -30 -0 -11 -62.1249999366 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -54.1249998732 -23 -54.9999997539 -33 -0 -14 -70.125 -24 -42.999999923 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78F -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D103 -10 -86.125 -20 -63.7501208602 -30 -0 -11 -78.125 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -70.125 -23 -42.999999923 -33 -0 -14 -86.125 -24 -60.9999996207 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -790 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D104 -10 -90.125000025 -20 -63.7501208602 -30 -0 -11 -88.1250000125 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -86.125 -23 -60.9999996207 -33 -0 -14 -90.125000025 -24 -60.9999996041 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -791 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D105 -10 -90.125 -20 -67.8732630054 -30 -0 -11 -70.125 -21 -67.8732630054 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -50.125 -23 -43.0000003999 -33 -0 -14 -90.125 -24 -54.9999996041 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -792 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D106 -10 -122.750000121 -20 -63.7501208602 -30 -0 -11 -118.93750006 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -115.125 -23 -25.125 -33 -0 -14 -122.750000121 -24 -60.9999999688 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -793 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D107 -10 -130.250000108 -20 -63.7501208602 -30 -0 -11 -126.500000114 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -122.750000121 -23 -60.9999999688 -33 -0 -14 -130.250000108 -24 -57.9999999376 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -794 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D108 -10 -137.750000121 -20 -63.7501208602 -30 -0 -11 -134.000000114 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -130.250000108 -23 -57.9999999376 -33 -0 -14 -137.750000121 -24 -60.9999999064 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -795 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D109 -10 -145.375 -20 -63.7501208602 -30 -0 -11 -141.56250006 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -137.750000121 -23 -60.9999999064 -33 -0 -14 -145.375 -24 -25.125 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -796 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D110 -10 -145.375 -20 -67.8732630054 -30 -0 -11 -130.25 -21 -67.8732630054 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -115.125 -23 -25.125 -33 -0 -14 -145.375 -24 -25.125 -34 -0 -100 -AcDbRotatedDimension -0 -LINE -5 -797 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.375 -11 -15.875 -21 --5.125 -0 -LINE -5 -798 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.875 -20 --5.125 -11 -4.125 -21 --5.125 -0 -LINE -5 -799 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --5.125 -11 --5.125 -21 -13.375 -0 -LINE -5 -79A -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.375 -11 --5.125 -21 -25.125 -0 -LINE -5 -79B -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -25.125 -11 -25.125 -21 -13.375 -0 -LINE -5 -79C -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -79D -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -5.49999997138 -21 -25.125 -0 -LINE -5 -79E -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.49999997138 -20 -25.125 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -79F -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.4999999714 -20 -25.125 -11 -25.125 -21 -25.125 -0 -LINE -5 -7A0 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7A1 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -14.5000000957 -21 -54.9999999189 -0 -LINE -5 -7A2 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000012071 -20 -60.9999999688 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7A3 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -2.50000012071 -21 -60.9999999688 -0 -LINE -5 -7A4 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -17.4999999714 -21 -25.1249999875 -0 -CIRCLE -5 -7A5 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -10.0000001082 -20 -57.9999999376 -40 -2 -0 -CIRCLE -5 -7A6 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -1.26869176962 -20 -7.29582039325 -40 -2 -0 -CIRCLE -5 -7A7 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -18.7313082304 -20 -7.29582039325 -40 -2 -0 -LINE -5 -7A8 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --0.2 -20 -20.2 -11 --0.2 -21 -18.3 -0 -LINE -5 -7A9 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 -18.3 -11 --0.2 -21 -18.3 -0 -LINE -5 -7AA -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 --0.2 -11 -9.05 -21 -18.3 -0 -LINE -5 -7AB -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 --0.2 -11 -10.95 -21 --0.2 -0 -LINE -5 -7AC -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.95 -20 --0.2 -11 -10.95 -21 -18.3 -0 -LINE -5 -7AD -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -20.2 -11 --0.2 -21 -20.2 -0 -LINE -5 -7AE -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -18.3 -11 -20.2 -21 -20.2 -0 -LINE -5 -7AF -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -18.3 -11 -10.95 -21 -18.3 -0 -LINE -5 -7B0 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -25.125 -11 -25.125 -21 -13.375 -0 -LINE -5 -7B1 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.4999999714 -20 -25.125 -11 -25.125 -21 -25.125 -0 -LINE -5 -7B2 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 --5.125 -11 -4.05 -21 -13.3 -0 -LINE -5 -7B3 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.3 -11 -15.95 -21 -13.3 -0 -LINE -5 -7B4 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 --5.125 -11 -4.125 -21 --5.125 -0 -LINE -5 -7B5 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 --5.125 -11 -15.95 -21 -13.3 -0 -LINE -5 -7B6 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.3 -11 --5.125 -21 -25.125 -0 -LINE -5 -7B7 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 -13.3 -11 --5.125 -21 -13.3 -0 -LINE -5 -7B8 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -54.9999999688 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7B9 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7BA -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -5.49999997138 -21 -25.125 -0 -LINE -5 -7BB -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -54.9999999688 -11 -5.50000009574 -21 -54.9999999563 -0 -LINE -5 -7BC -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.49999997138 -20 -25.125 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -7BD -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -7BE -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000000957 -20 -54.9999999064 -11 -17.4999999714 -21 -25.1249999875 -0 -LINE -5 -7BF -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -17.5000000957 -21 -54.9999999064 -0 -LINE -5 -7C0 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.3 -11 -4.05 -21 -13.3 -0 -LINE -5 -7C1 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 -13.3 -11 -4.125 -21 --5.125 -0 -LINE -5 -7C2 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --5.125 -11 -15.95 -21 --5.125 -0 -LINE -5 -7C3 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 --5.125 -11 -15.95 -21 -13.3 -0 -LINE -5 -7C4 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 -13.3 -11 -25.125 -21 -13.3 -0 -LINE -5 -7C5 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.3 -11 -25.125 -21 -25.125 -0 -LINE -5 -7C6 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -25.125 -11 -17.4999999714 -21 -25.1249999875 -0 -LINE -5 -7C7 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.4999999714 -20 -25.1249999875 -11 -17.5000000957 -21 -54.9999999064 -0 -LINE -5 -7C8 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000000957 -20 -54.9999999064 -11 -14.5000000957 -21 -54.9999999189 -0 -LINE -5 -7C9 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -7CA -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.4999999714 -20 -25.125 -11 -5.49999997138 -21 -25.125 -0 -LINE -5 -7CB -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.49999997138 -20 -25.125 -11 -5.50000009574 -21 -54.9999999563 -0 -LINE -5 -7CC -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -2.50000009574 -21 -54.9999999688 -0 -LINE -5 -7CD -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -54.9999999688 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7CE -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.49999997138 -20 -25.125 -11 --5.125 -21 -25.125 -0 -LINE -5 -7CF -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 --5.125 -21 -13.3 -0 -POINT -5 -7D0 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -0 -20 -0 -0 -MTEXT -5 -7D1 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -58.041154813 -20 --41.2314214519 -30 -0 -40 -3 -41 -84.5000046286 -71 -1 -72 -5 -1 -Reprap Jeanne\Pfixation du bas des axes de l'imprimante\P\PBy gnieark & TranKILLoman\P\Pscale 1:1 A4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.96 -0 -CIRCLE -5 -7D2 -100 -AcDbEntity -8 -chausson-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -10 -20 --5.125 -40 -1 -0 -ARC -5 -7D3 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -46.971104675 -100 -AcDbArc -50 -239.568148281 -51 -251.578300055 -0 -LINE -5 -7D4 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.20851676776 -20 --5.5 -11 -18.9883075193 -21 --5.5 -0 -ARC -5 -7D5 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -47.071104675 -100 -AcDbArc -50 -288.783715182 -51 -300.638423686 -0 -ARC -5 -7D6 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -51.0668863981 -100 -AcDbArc -50 -287.081542752 -51 -307.525951231 -0 -ARC -5 -7D7 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -51.0668863981 -100 -AcDbArc -50 -232.474048539 -51 -252.918456771 -0 -LINE -5 -7D8 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --10.8186851348 -20 --5.5 -11 --6.10589793587 -21 --5.5 -0 -LINE -5 -7D9 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -30.8186852527 -20 --5.5 -11 -26.1058980324 -21 --5.5 -0 -LINE -5 -7DA -100 -AcDbEntity -8 -bar-for-endstop-5-8 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.20851676776 -20 --5.5 -11 -18.9883075193 -21 --5.5 -0 -LINE -5 -7DB -100 -AcDbEntity -8 -bar-for-endstop-5-8 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.9883075193 -20 --5.5 -11 -18.9883075193 -21 --13.5645638187 -0 -LINE -5 -7DC -100 -AcDbEntity -8 -bar-for-endstop-5-8 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.9883075193 -20 --13.5645638187 -11 -1.20851676776 -21 --13.5645638187 -0 -LINE -5 -7DD -100 -AcDbEntity -8 -bar-for-endstop-5-8 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.20851676776 -20 --5.5 -11 -1.20851676776 -21 --13.5645638187 -0 -LINE -5 -7DE -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.49999991403 -20 --16.7974729318 -11 -9.99999991342 -21 --16.9444722967 -0 -LINE -5 -7DF -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.99999991342 -20 --16.9444722967 -11 -10.499999914 -21 --16.797472936 -0 -LINE -5 -7E0 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.99999991342 -20 --16.9444722967 -11 --6.10589798347 -21 --16.9444722297 -0 -LINE -5 -7E1 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --10.8186851348 -20 --5.5 -11 --6.10589798347 -21 --16.9444722297 -0 -LINE -5 -7E2 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.99999991342 -20 --16.9444722967 -11 -26.1058980324 -21 --16.9444723637 -0 -LINE -5 -7E3 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -26.1058980324 -20 --16.9444723637 -11 -30.8186852527 -21 --5.5 -0 -LINE -5 -7E4 -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.4999999447 -20 --9.44590975529 -11 -10.499999914 -21 --16.797472936 -0 -LINE -5 -7E5 -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.49999994505 -20 --9.33998954315 -11 -9.49999991403 -21 --16.7974729318 -0 -LINE -5 -7E6 -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.49999994505 -20 --9.33998954315 -11 -10.4999999447 -21 --9.44590975529 -0 -LINE -5 -7E7 -100 -AcDbEntity -8 -fix--endstop -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.25 -20 --2.1 -11 -10.75 -21 --2.1 -0 -LINE -5 -7E8 -100 -AcDbEntity -8 -fix--endstop -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.15 -20 -14.9 -11 -10.85 -21 -14.9 -0 -LINE -5 -7E9 -100 -AcDbEntity -8 -fix--endstop -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.15 -20 --0.1 -11 -9.15 -21 -14.9 -0 -LINE -5 -7EA -100 -AcDbEntity -8 -fix--endstop -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.15 -20 --0.1 -11 -10.85 -21 --0.1 -0 -LINE -5 -7EB -100 -AcDbEntity -8 -fix--endstop -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.85 -20 --0.1 -11 -10.85 -21 -14.9 -0 -LINE -5 -7EC -100 -AcDbEntity -8 -fix--endstop -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.85 -20 --0.1 -11 -13.85 -21 -14.9 -0 -LINE -5 -7ED -100 -AcDbEntity -8 -fix--endstop -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.15 -20 --0.1 -11 -6.15 -21 -14.9 -0 -ENDSEC -0 -SECTION -2 -OBJECTS -0 -DICTIONARY -5 -C -330 -0 -100 -AcDbDictionary -281 -1 -3 -ACAD_GROUP -350 -D -0 -DICTIONARY -5 -D -330 -C -100 -AcDbDictionary -281 -1 -0 -ENDSEC -0 -EOF diff --git a/DXF-SCAD-AND-OTHERS/all.dxf b/DXF-SCAD-AND-OTHERS/all.dxf index b110edf..80b85f3 100644 --- a/DXF-SCAD-AND-OTHERS/all.dxf +++ b/DXF-SCAD-AND-OTHERS/all.dxf @@ -67,7 +67,7 @@ STANDARD 9 $CLAYER 8 -bar-for-endstop-8-15 +profil-pour-3d-3-middle 9 $DIMASZ 40 @@ -229,9 +229,9 @@ AcDbViewportTableRecord 21 1 12 -8.85708311767 +22.6357716008 22 --3.38846381325 +8.11624963706 13 0 23 @@ -257,9 +257,9 @@ AcDbViewportTableRecord 37 0 40 -8.29872559109 +40.9483147518 41 -1.672823219 +1.87450199203 42 50 43 @@ -1297,7 +1297,7 @@ AcDbLayerTableRecord 2 bar-for-endstop-0-5 70 -0 +1 62 7 6 @@ -1341,7 +1341,7 @@ AcDbLayerTableRecord 2 bar-for-endstop-8-15 70 -0 +1 62 7 6 @@ -1581,6 +1581,50 @@ AcDbSymbolTableRecord 100 AcDbLayerTableRecord 2 +profil-bar-endstop +70 +1 +62 +7 +6 +CONTINUOUS +370 +0 +390 +F +0 +LAYER +5 +59 +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord +2 +profil-bar-endstop2 +70 +1 +62 +7 +6 +CONTINUOUS +370 +0 +390 +F +0 +LAYER +5 +5A +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord +2 profil-pour-3d 70 1 @@ -1595,7 +1639,7 @@ F 0 LAYER 5 -59 +5B 330 2 100 @@ -1617,7 +1661,51 @@ F 0 LAYER 5 -5A +5C +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord +2 +profil-pour-3d-3 +70 +1 +62 +7 +6 +CONTINUOUS +370 +0 +390 +F +0 +LAYER +5 +5D +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord +2 +profil-pour-3d-3-middle +70 +0 +62 +7 +6 +CONTINUOUS +370 +0 +390 +F +0 +LAYER +5 +5E 330 2 100 @@ -1637,6 +1725,50 @@ CONTINUOUS 390 F 0 +LAYER +5 +5F +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord +2 +top-fix-profil +70 +1 +62 +7 +6 +CONTINUOUS +370 +0 +390 +F +0 +LAYER +5 +60 +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord +2 +top-fix-profil2 +70 +1 +62 +7 +6 +CONTINUOUS +370 +0 +390 +F +0 ENDTAB 0 TABLE @@ -1653,7 +1785,7 @@ AcDbSymbolTable 0 STYLE 5 -5B +61 330 2 100 @@ -1755,7 +1887,7 @@ AcDbDimStyleTable 0 DIMSTYLE 105 -5C +62 330 A 100 @@ -1937,42 +2069,6 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -5D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D30 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -60 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D84 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 63 330 1 @@ -1981,7 +2077,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D67 +*D31 70 0 280 @@ -1999,7 +2095,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D83 +*D96 70 0 280 @@ -2017,7 +2113,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D107 +*D45 70 0 280 @@ -2035,7 +2131,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D35 +*D108 70 0 280 @@ -2053,7 +2149,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D63 +*D34 70 0 280 @@ -2071,7 +2167,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D14 +*D89 70 0 280 @@ -2089,7 +2185,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D76 +*D25 70 0 280 @@ -2107,7 +2203,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D47 +*D41 70 0 280 @@ -2125,7 +2221,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D11 +*D79 70 0 280 @@ -2143,7 +2239,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D46 +*D70 70 0 280 @@ -2161,7 +2257,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D49 +*D107 70 0 280 @@ -2179,7 +2275,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D4 +*D27 70 0 280 @@ -2197,7 +2293,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D8 +*D50 70 0 280 @@ -2215,7 +2311,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D99 +*D7 70 0 280 @@ -2233,7 +2329,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D103 +*D57 70 0 280 @@ -2251,7 +2347,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D101 +*D90 70 0 280 @@ -2269,7 +2365,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D54 +*D5 70 0 280 @@ -2287,7 +2383,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D73 +*D87 70 0 280 @@ -2305,7 +2401,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D7 +*D51 70 0 280 @@ -2323,7 +2419,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D74 +*D43 70 0 280 @@ -2341,7 +2437,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D87 +*D54 70 0 280 @@ -2359,7 +2455,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D20 +*D98 70 0 280 @@ -2377,7 +2473,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D22 +*D28 70 0 280 @@ -2395,7 +2491,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D25 +*D47 70 0 280 @@ -2413,7 +2509,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D90 +*D36 70 0 280 @@ -2431,7 +2527,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D94 +*D12 70 0 280 @@ -2449,7 +2545,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D21 +*D10 70 0 280 @@ -2467,7 +2563,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D69 +*D33 70 0 280 @@ -2485,7 +2581,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D5 +*D56 70 0 280 @@ -2503,7 +2599,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D33 +*D93 70 0 280 @@ -2521,7 +2617,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D39 +*D99 70 0 280 @@ -2539,7 +2635,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D80 +*D86 70 0 280 @@ -2557,7 +2653,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D88 +*D58 70 0 280 @@ -2575,7 +2671,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D95 +*D26 70 0 280 @@ -2593,7 +2689,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D91 +*D104 70 0 280 @@ -2611,7 +2707,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D72 +*D39 70 0 280 @@ -2629,7 +2725,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D92 +*D32 70 0 280 @@ -2647,7 +2743,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D23 +*D40 70 0 280 @@ -2665,7 +2761,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D45 +*D23 70 0 280 @@ -2683,7 +2779,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D16 +*D72 70 0 280 @@ -2701,7 +2797,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D86 +*D85 70 0 280 @@ -2719,7 +2815,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D28 +*D59 70 0 280 @@ -2737,7 +2833,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D31 +*D15 70 0 280 @@ -2755,7 +2851,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D13 +*D83 70 0 280 @@ -2773,7 +2869,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D102 +*D73 70 0 280 @@ -2791,7 +2887,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D104 +*D82 70 0 280 @@ -2809,7 +2905,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D51 +*D22 70 0 280 @@ -2827,7 +2923,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D62 +*D80 70 0 280 @@ -2845,7 +2941,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D108 +*D65 70 0 280 @@ -2863,7 +2959,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D85 +*D13 70 0 280 @@ -2881,7 +2977,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D26 +*D109 70 0 280 @@ -2899,7 +2995,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D82 +*D44 70 0 280 @@ -2917,7 +3013,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D24 +*D11 70 0 280 @@ -2935,7 +3031,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D70 +*D38 70 0 280 @@ -2953,7 +3049,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D65 +*D53 70 0 280 @@ -2971,7 +3067,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D57 +*D81 70 0 280 @@ -2989,7 +3085,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D41 +*D30 70 0 280 @@ -3007,7 +3103,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D9 +*D8 70 0 280 @@ -3025,7 +3121,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D71 +*D16 70 0 280 @@ -3043,7 +3139,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D81 +*D69 70 0 280 @@ -3061,7 +3157,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D55 +*D3 70 0 280 @@ -3079,7 +3175,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D110 +*D49 70 0 280 @@ -3097,7 +3193,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D1 +*D78 70 0 280 @@ -3115,7 +3211,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D10 +*D48 70 0 280 @@ -3133,7 +3229,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D61 +*D74 70 0 280 @@ -3151,7 +3247,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D6 +*D37 70 0 280 @@ -3169,7 +3265,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D34 +*D9 70 0 280 @@ -3187,7 +3283,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D2 +*D61 70 0 280 @@ -3205,7 +3301,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D59 +*D77 70 0 280 @@ -3223,7 +3319,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D27 +*D60 70 0 280 @@ -3241,7 +3337,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D56 +*D94 70 0 280 @@ -3259,7 +3355,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D64 +*D68 70 0 280 @@ -3277,7 +3373,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D100 +*D95 70 0 280 @@ -3295,7 +3391,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D15 +*D24 70 0 280 @@ -3313,7 +3409,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D68 +*D52 70 0 280 @@ -3331,7 +3427,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D77 +*D102 70 0 280 @@ -3349,7 +3445,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D60 +*D64 70 0 280 @@ -3367,7 +3463,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D109 +*D75 70 0 280 @@ -3385,7 +3481,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D32 +*D35 70 0 280 @@ -3403,7 +3499,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D12 +*D91 70 0 280 @@ -3421,7 +3517,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D105 +*D62 70 0 280 @@ -3439,7 +3535,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D29 +*D71 70 0 280 @@ -3457,7 +3553,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D97 +*D88 70 0 280 @@ -3475,7 +3571,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D48 +*D29 70 0 280 @@ -3493,7 +3589,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D78 +*D6 70 0 280 @@ -3511,7 +3607,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D17 +*D66 70 0 280 @@ -3529,7 +3625,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D96 +*D97 70 0 280 @@ -3547,7 +3643,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D3 +*D18 70 0 280 @@ -3565,7 +3661,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D44 +*D20 70 0 280 @@ -3583,7 +3679,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D38 +*D103 70 0 280 @@ -3601,7 +3697,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D53 +*D63 70 0 280 @@ -3619,7 +3715,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D58 +*D1 70 0 280 @@ -3637,7 +3733,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D79 +*D55 70 0 280 @@ -3655,7 +3751,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D93 +*D46 70 0 280 @@ -3673,7 +3769,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D98 +*D2 70 0 280 @@ -3691,7 +3787,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D50 +*D42 70 0 280 @@ -3709,7 +3805,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D52 +*D101 70 0 280 @@ -3727,7 +3823,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D66 +*D19 70 0 280 @@ -3745,7 +3841,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D19 +*D84 70 0 280 @@ -3763,7 +3859,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D18 +*D106 70 0 280 @@ -3781,7 +3877,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D40 +*D67 70 0 280 @@ -3799,7 +3895,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D75 +*D21 70 0 280 @@ -3817,7 +3913,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D37 +*D105 70 0 280 @@ -3835,7 +3931,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D36 +*D14 70 0 280 @@ -3853,7 +3949,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D43 +*D100 70 0 280 @@ -3871,7 +3967,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D42 +*D4 70 0 280 @@ -3889,7 +3985,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D89 +*D17 70 0 280 @@ -3907,7 +4003,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D106 +*D76 70 0 280 @@ -3925,7 +4021,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -a3 +*D92 70 0 280 @@ -3943,7 +4039,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -a3-0 +a3 70 0 280 @@ -3961,6 +4057,24 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 +a3-0 +70 +0 +280 +1 +281 +0 +0 +BLOCK_RECORD +5 +1B0 +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord +2 foot-cotes 70 0 @@ -4055,9 +4169,9 @@ AcDbBlockEnd 0 BLOCK 5 -5E +64 330 -5D +63 100 AcDbEntity 8 @@ -4065,7 +4179,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D30 +*D31 70 1 10 @@ -4073,13 +4187,13 @@ AcDbBlockBegin 20 0 3 -*D30 +*D31 1 0 LINE 5 -1B0 +1B3 100 AcDbEntity 8 @@ -4095,15 +4209,15 @@ AcDbLine 10 121.702603419 20 -13.3725 +-11.0264554944 11 121.702603419 21 -2.1980222528 +-11.1336724825 0 SOLID 5 -1B1 +1B4 100 AcDbEntity 8 @@ -4119,31 +4233,31 @@ AcDbTrace 10 121.702603419 20 -13.3725 +-11.0264554944 30 0 11 121.752557578 21 -13.0725 +-11.3264554944 31 0 12 121.65264926 22 -13.0725 +-11.3264554944 32 0 13 121.65264926 23 -13.0725 +-11.3264554944 33 0 0 SOLID 5 -1B2 +1B5 100 AcDbEntity 8 @@ -4159,31 +4273,31 @@ AcDbTrace 10 121.702603419 20 --11.0264554944 +-13.2908894707 30 0 11 121.65264926 21 --10.7264554944 +-12.9908894707 31 0 12 121.752557578 22 --10.7264554944 +-12.9908894707 32 0 13 121.752557578 23 --10.7264554944 +-12.9908894707 33 0 0 LINE 5 -1B3 +1B6 100 AcDbEntity 8 @@ -4199,15 +4313,15 @@ AcDbLine 10 121.702603419 20 -0.1480222528 +-13.1836724825 11 121.702603419 21 --11.0264554944 +-13.2908894707 0 MTEXT 5 -1B4 +1B7 100 AcDbEntity 8 @@ -4221,21 +4335,21 @@ CONTINUOUS 100 AcDbMText 10 -121.702603419 +125.104264852 20 -1.1730222528 +-12.1586724825 30 0 40 0.8 41 -3.2 +3.28888888889 71 5 72 1 1 -24.399 +2.2644 7 standard 210 @@ -4253,7 +4367,7 @@ standard 0 LINE 5 -1B5 +1B8 100 AcDbEntity 8 @@ -4267,17 +4381,17 @@ CONTINUOUS 100 AcDbLine 10 -94.5000001944 +94.5000001003 20 -13.3725 +-11.0264554944 11 122.002603419 21 -13.3725 +-11.0264554944 0 LINE 5 -1B6 +1B9 100 AcDbEntity 8 @@ -4291,19 +4405,19 @@ CONTINUOUS 100 AcDbLine 10 -94.5000001003 +99.4999998574 20 --11.0264554944 +-13.2908894707 11 122.002603419 21 --11.0264554944 +-13.2908894707 0 ENDBLK 5 -5F +65 330 -5D +63 100 AcDbEntity 8 @@ -4313,9 +4427,9 @@ AcDbBlockEnd 0 BLOCK 5 -61 +67 330 -60 +66 100 AcDbEntity 8 @@ -4323,7 +4437,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D84 +*D96 70 1 10 @@ -4331,13 +4445,13 @@ AcDbBlockBegin 20 0 3 -*D84 +*D96 1 0 LINE 5 -1B7 +1BA 100 AcDbEntity 8 @@ -4351,17 +4465,17 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +17.5000001207 20 -60.9999999688 +63.7501208602 11 --12.0522616552 +14.9972223429 21 -59.0249999688 +63.7501208602 0 SOLID 5 -1B8 +1BB 100 AcDbEntity 8 @@ -4375,33 +4489,33 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +17.5000001207 20 -60.9999999688 +63.7501208602 30 0 11 --12.0023074963 +17.2000001207 21 -60.6999999688 +63.7001667013 31 0 12 --12.1022158141 +17.2000001207 22 -60.6999999688 +63.8000750191 32 0 13 --12.1022158141 +17.2000001207 23 -60.6999999688 +63.8000750191 33 0 0 SOLID 5 -1B9 +1BC 100 AcDbEntity 8 @@ -4415,33 +4529,33 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +10.0000001207 20 -54.9999999688 +63.7501208602 30 0 11 --12.1022158141 +10.3000001207 21 -55.2999999688 +63.8000750191 31 0 12 --12.0023074963 +10.3000001207 22 -55.2999999688 +63.7001667013 32 0 13 --12.0023074963 +10.3000001207 23 -55.2999999688 +63.7001667013 33 0 0 LINE 5 -1BA +1BD 100 AcDbEntity 8 @@ -4455,17 +4569,17 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +12.5027778985 20 -56.9749999688 +63.7501208602 11 --12.0522616552 +10.0000001207 21 -54.9999999688 +63.7501208602 0 MTEXT 5 -1BB +1BE 100 AcDbEntity 8 @@ -4479,21 +4593,21 @@ CONTINUOUS 100 AcDbMText 10 --12.0522616552 +13.7500001207 20 -57.9999999688 +63.7501208602 30 0 40 0.8 41 -0.355555555556 +1.24444444444 71 5 72 1 1 -6 +7.5 7 standard 210 @@ -4511,7 +4625,7 @@ standard 0 LINE 5 -1BC +1BF 100 AcDbEntity 8 @@ -4525,17 +4639,17 @@ CONTINUOUS 100 AcDbLine 10 -0.50000012071 +17.5000001207 20 -60.9999999688 +62.9999999064 11 --12.3522616552 +17.5000001207 21 -60.9999999688 +64.0501208602 0 LINE 5 -1BD +1C0 100 AcDbEntity 8 @@ -4549,19 +4663,19 @@ CONTINUOUS 100 AcDbLine 10 -0.50000009574 +10.0000001207 20 -54.9999999688 +62.9999999376 11 --12.3522616552 +10.0000001207 21 -54.9999999688 +64.0501208602 0 ENDBLK 5 -62 +68 330 -60 +66 100 AcDbEntity 8 @@ -4571,9 +4685,9 @@ AcDbBlockEnd 0 BLOCK 5 -64 +6A 330 -63 +69 100 AcDbEntity 8 @@ -4581,7 +4695,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D67 +*D45 70 1 10 @@ -4589,13 +4703,13 @@ AcDbBlockBegin 20 0 3 -*D67 +*D45 1 0 LINE 5 -1BE +1C1 100 AcDbEntity 8 @@ -4609,17 +4723,17 @@ CONTINUOUS 100 AcDbLine 10 -113.466712767 +19.5 20 --55.4713917385 +34.9999999147 11 -117.441712767 +19.5 21 --55.4713917385 +31 0 SOLID 5 -1BF +1C2 100 AcDbEntity 8 @@ -4633,33 +4747,33 @@ CONTINUOUS 100 AcDbTrace 10 -113.466712767 +19.5 20 --55.4713917385 +34.9999999147 30 0 11 -113.766712767 +19.5499541589 21 --55.4214375796 +34.6999999147 31 0 12 -113.766712767 +19.4500458411 22 --55.5213458974 +34.6999999147 32 0 13 -113.766712767 +19.4500458411 23 --55.5213458974 +34.6999999147 33 0 0 SOLID 5 -1C0 +1C3 100 AcDbEntity 8 @@ -4673,57 +4787,33 @@ CONTINUOUS 100 AcDbTrace 10 -123.466712767 +19.5 20 --55.4713917385 +31 30 0 11 -123.166712767 +19.4500458411 21 --55.5213458974 +31.3 31 0 12 -123.166712767 +19.5499541589 22 --55.4214375796 +31.3 32 0 13 -123.166712767 +19.5499541589 23 --55.4214375796 +31.3 33 0 0 -LINE -5 -1C1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -119.491712767 -20 --55.4713917385 -11 -123.466712767 -21 --55.4713917385 -0 MTEXT 5 -1C2 +1C4 100 AcDbEntity 8 @@ -4737,21 +4827,21 @@ CONTINUOUS 100 AcDbMText 10 -118.466712767 +18.475 20 --55.4713917385 +32.9999999573 30 0 40 0.8 41 -0.8 +0.444444444444 71 5 72 1 1 -10 +4 7 standard 210 @@ -4769,7 +4859,7 @@ standard 0 LINE 5 -1C3 +1C5 100 AcDbEntity 8 @@ -4783,17 +4873,17 @@ CONTINUOUS 100 AcDbLine 10 -113.466712767 20 --61.877784531 +20 +34.9999999147 11 -113.466712767 +19.8 21 --55.1713917385 +34.9999999147 0 LINE 5 -1C4 +1C6 100 AcDbEntity 8 @@ -4807,19 +4897,19 @@ CONTINUOUS 100 AcDbLine 10 -123.466712767 20 --61.877784531 +20 +31 11 -123.466712767 +19.8 21 --55.1713917385 +31 0 ENDBLK 5 -65 +6B 330 -63 +69 100 AcDbEntity 8 @@ -4829,9 +4919,9 @@ AcDbBlockEnd 0 BLOCK 5 -67 +6D 330 -66 +6C 100 AcDbEntity 8 @@ -4839,7 +4929,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D83 +*D108 70 1 10 @@ -4847,13 +4937,13 @@ AcDbBlockBegin 20 0 3 -*D83 +*D108 1 0 LINE 5 -1C5 +1C7 100 AcDbEntity 8 @@ -4867,17 +4957,17 @@ CONTINUOUS 100 AcDbLine 10 --7.29478994918 +137.750000121 20 -42.9999999522 +63.7501208602 11 --7.29478994918 +139.693055616 21 -19.9624999761 +63.7501208602 0 SOLID 5 -1C6 +1C8 100 AcDbEntity 8 @@ -4891,33 +4981,33 @@ CONTINUOUS 100 AcDbTrace 10 --7.29478994918 +137.750000121 20 -42.9999999522 +63.7501208602 30 0 11 --7.24483579025 +138.050000121 21 -42.6999999522 +63.8000750191 31 0 12 --7.34474410811 +138.050000121 22 -42.6999999522 +63.7001667013 32 0 13 --7.34474410811 +138.050000121 23 -42.6999999522 +63.7001667013 33 0 0 SOLID 5 -1C7 +1C9 100 AcDbEntity 8 @@ -4931,33 +5021,33 @@ CONTINUOUS 100 AcDbTrace 10 --7.29478994918 +145.375 20 --5.125 +63.7501208602 30 0 11 --7.34474410811 +145.075 21 --4.825 +63.7001667013 31 0 12 --7.24483579025 +145.075 22 --4.825 +63.8000750191 32 0 13 --7.24483579025 +145.075 23 --4.825 +63.8000750191 33 0 0 LINE 5 -1C8 +1CA 100 AcDbEntity 8 @@ -4971,17 +5061,17 @@ CONTINUOUS 100 AcDbLine 10 --7.29478994918 +143.431944504 20 -17.9124999761 +63.7501208602 11 --7.29478994918 +145.375 21 --5.125 +63.7501208602 0 MTEXT 5 -1C9 +1CB 100 AcDbEntity 8 @@ -4995,21 +5085,21 @@ CONTINUOUS 100 AcDbMText 10 --7.29478994918 +141.56250006 20 -18.9374999761 +63.7501208602 30 0 40 0.8 41 -3.02222222222 +2.48888888889 71 5 72 1 1 -48.125 +7.625 7 standard 210 @@ -5027,7 +5117,7 @@ standard 0 LINE 5 -1CA +1CC 100 AcDbEntity 8 @@ -5041,17 +5131,17 @@ CONTINUOUS 100 AcDbLine 10 -4.50000004579 +137.750000121 20 -42.9999999522 +62.9999999064 11 --7.59478994918 +137.750000121 21 -42.9999999522 +64.0501208602 0 LINE 5 -1CB +1CD 100 AcDbEntity 8 @@ -5065,19 +5155,19 @@ CONTINUOUS 100 AcDbLine 10 -2.05 +145.375 20 --5.125 +27.125 11 --7.59478994918 +145.375 21 --5.125 +64.0501208602 0 ENDBLK 5 -68 +6E 330 -66 +6C 100 AcDbEntity 8 @@ -5087,9 +5177,9 @@ AcDbBlockEnd 0 BLOCK 5 -6A +70 330 -69 +6F 100 AcDbEntity 8 @@ -5097,7 +5187,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D107 +*D34 70 1 10 @@ -5105,17 +5195,17 @@ AcDbBlockBegin 20 0 3 -*D107 +*D34 1 0 LINE 5 -1CC +1CE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -5125,21 +5215,21 @@ CONTINUOUS 100 AcDbLine 10 -122.750000121 +132.54882917 20 -63.7501208602 +41.0999994219 11 -125.252777892 +132.54882917 21 -63.7501208602 +14.9295549756 0 SOLID 5 -1CD +1CF 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -5149,37 +5239,37 @@ CONTINUOUS 100 AcDbTrace 10 -122.750000121 +132.54882917 20 -63.7501208602 +41.0999994219 30 0 11 -123.050000121 +132.598783329 21 -63.8000750191 +40.7999994219 31 0 12 -123.050000121 +132.498875011 22 -63.7001667013 +40.7999994219 32 0 13 -123.050000121 +132.498875011 23 -63.7001667013 +40.7999994219 33 0 0 SOLID 5 -1CE +1D0 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -5189,37 +5279,37 @@ CONTINUOUS 100 AcDbTrace 10 -130.250000108 +132.54882917 20 -63.7501208602 +-13.2908894707 30 0 11 -129.950000108 +132.498875011 21 -63.7001667013 +-12.9908894707 31 0 12 -129.950000108 +132.598783329 22 -63.8000750191 +-12.9908894707 32 0 13 -129.950000108 +132.598783329 23 -63.8000750191 +-12.9908894707 33 0 0 LINE 5 -1CF +1D1 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -5229,21 +5319,21 @@ CONTINUOUS 100 AcDbLine 10 -127.747222336 +132.54882917 20 -63.7501208602 +12.8795549756 11 -130.250000108 +132.54882917 21 -63.7501208602 +-13.2908894707 0 MTEXT 5 -1D0 +1D2 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -5253,21 +5343,21 @@ CONTINUOUS 100 AcDbMText 10 -126.500000114 +132.54882917 20 -63.7501208602 +13.9045549756 30 0 40 0.8 41 -1.24444444444 +3.82222222222 71 5 72 1 1 -7.5 +54.3909 7 standard 210 @@ -5285,11 +5375,11 @@ standard 0 LINE 5 -1D1 +1D3 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -5299,21 +5389,21 @@ CONTINUOUS 100 AcDbLine 10 -122.750000121 +99.5000003098 20 -62.9999999688 +41.0999994219 11 -122.750000121 +132.84882917 21 -64.0501208602 +41.0999994219 0 LINE 5 -1D2 +1D4 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -5323,19 +5413,19 @@ CONTINUOUS 100 AcDbLine 10 -130.250000108 +99.4999998574 20 -59.9999999376 +-13.2908894707 11 -130.250000108 +132.84882917 21 -64.0501208602 +-13.2908894707 0 ENDBLK 5 -6B +71 330 -69 +6F 100 AcDbEntity 8 @@ -5345,9 +5435,9 @@ AcDbBlockEnd 0 BLOCK 5 -6D +73 330 -6C +72 100 AcDbEntity 8 @@ -5355,7 +5445,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D35 +*D89 70 1 10 @@ -5363,17 +5453,17 @@ AcDbBlockBegin 20 0 3 -*D35 +*D89 1 0 LINE 5 -1D3 +1D5 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -5383,21 +5473,21 @@ CONTINUOUS 100 AcDbLine 10 -97.5000003098 +-12.0522616552 20 -45.4281607231 +25.125 11 -93.5250003098 +-12.0522616552 21 -45.4281607231 +23.6875 0 SOLID 5 -1D4 +1D6 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -5407,37 +5497,37 @@ CONTINUOUS 100 AcDbTrace 10 -97.5000003098 +-12.0522616552 20 -45.4281607231 +25.125 30 0 11 -97.2000003098 +-12.0023074963 21 -45.3782065642 +24.825 31 0 12 -97.2000003098 +-12.1022158141 22 -45.478114882 +24.825 32 0 13 -97.2000003098 +-12.1022158141 23 -45.478114882 +24.825 33 0 0 SOLID 5 -1D5 +1D7 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -5447,37 +5537,37 @@ CONTINUOUS 100 AcDbTrace 10 -87.5000003098 +-12.0522616552 20 -45.4281607231 +20.2 30 0 11 -87.8000003098 +-12.1022158141 21 -45.478114882 +20.5 31 0 12 -87.8000003098 +-12.0023074963 22 -45.3782065642 +20.5 32 0 13 -87.8000003098 +-12.0023074963 23 -45.3782065642 +20.5 33 0 0 LINE 5 -1D6 +1D8 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -5487,21 +5577,21 @@ CONTINUOUS 100 AcDbLine 10 -91.4750003098 +-12.0522616552 20 -45.4281607231 +21.6375 11 -87.5000003098 +-12.0522616552 21 -45.4281607231 +20.2 0 MTEXT 5 -1D7 +1D9 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -5511,21 +5601,21 @@ CONTINUOUS 100 AcDbMText 10 -92.5000003098 +-12.0522616552 20 -45.4281607231 +22.6625 30 0 40 0.8 41 -0.8 +2.57777777778 71 5 72 1 1 -10 +4.925 7 standard 210 @@ -5543,11 +5633,11 @@ standard 0 LINE 5 -1D8 +1DA 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -5557,21 +5647,21 @@ CONTINUOUS 100 AcDbLine 10 -97.5000003098 +-7.125 20 -43.0999994219 +25.125 11 -97.5000003098 +-12.3522616552 21 -45.7281607231 +25.125 0 LINE 5 -1D9 +1DB 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -5581,19 +5671,19 @@ CONTINUOUS 100 AcDbLine 10 -87.5000003098 +-2.2 20 -43.0999995051 +20.2 11 -87.5000003098 +-12.3522616552 21 -45.7281607231 +20.2 0 ENDBLK 5 -6E +74 330 -6C +72 100 AcDbEntity 8 @@ -5603,9 +5693,9 @@ AcDbBlockEnd 0 BLOCK 5 -70 +76 330 -6F +75 100 AcDbEntity 8 @@ -5613,7 +5703,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D63 +*D25 70 1 10 @@ -5621,13 +5711,13 @@ AcDbBlockBegin 20 0 3 -*D63 +*D25 1 0 LINE 5 -1DA +1DC 100 AcDbEntity 8 @@ -5641,17 +5731,17 @@ CONTINUOUS 100 AcDbLine 10 -67.4667127669 +23 20 --55.4713917385 +7.3725 11 -76.9417127669 +23 21 --55.4713917385 +7.21125 0 SOLID 5 -1DB +1DD 100 AcDbEntity 8 @@ -5665,33 +5755,33 @@ CONTINUOUS 100 AcDbTrace 10 -67.4667127669 +23 20 --55.4713917385 +7.3725 30 0 11 -67.7667127669 +23.0499541589 21 --55.4214375796 +7.0725 31 0 12 -67.7667127669 +22.9500458411 22 --55.5213458974 +7.0725 32 0 13 -67.7667127669 +22.9500458411 23 --55.5213458974 +7.0725 33 0 0 SOLID 5 -1DC +1DE 100 AcDbEntity 8 @@ -5705,33 +5795,33 @@ CONTINUOUS 100 AcDbTrace 10 -88.4667127669 +23 20 --55.4713917385 +5 30 0 11 -88.1667127669 +22.9500458411 21 --55.5213458974 +5.3 31 0 12 -88.1667127669 +23.0499541589 22 --55.4214375796 +5.3 32 0 13 -88.1667127669 +23.0499541589 23 --55.4214375796 +5.3 33 0 0 LINE 5 -1DD +1DF 100 AcDbEntity 8 @@ -5745,17 +5835,17 @@ CONTINUOUS 100 AcDbLine 10 -78.9917127669 +23 20 --55.4713917385 +5.16125 11 -88.4667127669 +23 21 --55.4713917385 +5 0 MTEXT 5 -1DE +1E0 100 AcDbEntity 8 @@ -5769,21 +5859,21 @@ CONTINUOUS 100 AcDbMText 10 -77.9667127669 +26.3668055556 20 --55.4713917385 +6.18625 30 0 40 0.8 41 -0.8 +3.11111111111 71 5 72 1 1 -21 +2.3725 7 standard 210 @@ -5801,7 +5891,7 @@ standard 0 LINE 5 -1DF +1E1 100 AcDbEntity 8 @@ -5815,17 +5905,17 @@ CONTINUOUS 100 AcDbLine 10 -67.4667127669 +23 20 --61.877784531 +7.3725 11 -67.4667127669 +23.3 21 --55.1713917385 +7.3725 0 LINE 5 -1E0 +1E2 100 AcDbEntity 8 @@ -5839,19 +5929,19 @@ CONTINUOUS 100 AcDbLine 10 -88.4667127669 +23.8775 20 --61.877784531 +5 11 -88.4667127669 +23.3 21 --55.1713917385 +5 0 ENDBLK 5 -71 +77 330 -6F +75 100 AcDbEntity 8 @@ -5861,9 +5951,9 @@ AcDbBlockEnd 0 BLOCK 5 -73 +79 330 -72 +78 100 AcDbEntity 8 @@ -5871,7 +5961,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D14 +*D41 70 1 10 @@ -5879,13 +5969,13 @@ AcDbBlockBegin 20 0 3 -*D14 +*D41 1 0 LINE 5 -1E1 +1E3 100 AcDbEntity 8 @@ -5899,17 +5989,17 @@ CONTINUOUS 100 AcDbLine 10 --1.7763568394e-15 +-6.45945945946 20 -13.3725 +-48.4567047713 11 -1.15277777778 +-12.3900150151 21 -13.3725 +-48.4567047713 0 SOLID 5 -1E2 +1E4 100 AcDbEntity 8 @@ -5923,33 +6013,33 @@ CONTINUOUS 100 AcDbTrace 10 --1.7763568394e-15 +-6.45945945946 20 -13.3725 +-48.4567047713 30 0 11 -0.3 +-6.75945945946 21 -13.4224541589 +-48.5066589302 31 0 12 -0.3 +-6.75945945946 22 -13.3225458411 +-48.4067506124 32 0 13 -0.3 +-6.75945945946 23 -13.3225458411 +-48.4067506124 33 0 0 SOLID 5 -1E3 +1E5 100 AcDbEntity 8 @@ -5963,33 +6053,33 @@ CONTINUOUS 100 AcDbTrace 10 -4 +-20.4594594595 20 -13.3725 +-48.4567047713 30 0 11 -3.7 +-20.1594594595 21 -13.3225458411 +-48.4067506124 31 0 12 -3.7 +-20.1594594595 22 -13.4224541589 +-48.5066589302 32 0 13 -3.7 +-20.1594594595 23 -13.4224541589 +-48.5066589302 33 0 0 LINE 5 -1E4 +1E6 100 AcDbEntity 8 @@ -6003,17 +6093,17 @@ CONTINUOUS 100 AcDbLine 10 -2.84722222222 +-14.5289039039 20 -13.3725 +-48.4567047713 11 -4 +-20.4594594595 21 -13.3725 +-48.4567047713 0 MTEXT 5 -1E5 +1E7 100 AcDbEntity 8 @@ -6027,21 +6117,21 @@ CONTINUOUS 100 AcDbMText 10 -2 +-13.4594594595 20 -13.3725 +-48.4567047713 30 0 40 0.8 41 -0.444444444444 +0.888888888889 71 5 72 1 1 -4 +14 7 standard 210 @@ -6059,7 +6149,7 @@ standard 0 LINE 5 -1E6 +1E8 100 AcDbEntity 8 @@ -6073,17 +6163,17 @@ CONTINUOUS 100 AcDbLine 10 --1.07753532009e-15 +-6.45945945946 20 -15.3725 +-66.8175675676 11 --1.75798713741e-15 +-6.45945945946 21 -13.6725 +-48.1567047713 0 LINE 5 -1E7 +1E9 100 AcDbEntity 8 @@ -6097,19 +6187,19 @@ CONTINUOUS 100 AcDbLine 10 -4 +-20.4594594595 20 -15.3725 +-66.8175675676 11 -4 +-20.4594594595 21 -13.6725 +-48.1567047713 0 ENDBLK 5 -74 +7A 330 -72 +78 100 AcDbEntity 8 @@ -6119,9 +6209,9 @@ AcDbBlockEnd 0 BLOCK 5 -76 +7C 330 -75 +7B 100 AcDbEntity 8 @@ -6129,7 +6219,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D76 +*D79 70 1 10 @@ -6137,17 +6227,17 @@ AcDbBlockBegin 20 0 3 -*D76 +*D79 1 0 LINE 5 -1E8 +1EA 100 AcDbEntity 8 -cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -6157,21 +6247,21 @@ CONTINUOUS 100 AcDbLine 10 -77.9667127669 +10 20 --67.377784531 +38.8599999008 11 -76.2694905447 +10 21 --67.377784531 +17.8924999504 0 SOLID 5 -1E9 +1EB 100 AcDbEntity 8 -cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -6181,37 +6271,37 @@ CONTINUOUS 100 AcDbTrace 10 -77.9667127669 +10 20 --67.377784531 +38.8599999008 30 0 11 -77.6667127669 +10.0499541589 21 --67.4277386899 +38.5599999008 31 0 12 -77.6667127669 +9.95004584107 22 --67.3278303721 +38.5599999008 32 0 13 -77.6667127669 +9.95004584107 23 --67.3278303721 +38.5599999008 33 0 0 SOLID 5 -1EA +1EC 100 AcDbEntity 8 -cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -6221,37 +6311,37 @@ CONTINUOUS 100 AcDbTrace 10 -72.9667127669 +10 20 --67.377784531 +-5.125 30 0 11 -73.2667127669 +9.95004584107 21 --67.3278303721 +-4.825 31 0 12 -73.2667127669 +10.0499541589 22 --67.4277386899 +-4.825 32 0 13 -73.2667127669 +10.0499541589 23 --67.4277386899 +-4.825 33 0 0 LINE 5 -1EB +1ED 100 AcDbEntity 8 -cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -6261,21 +6351,21 @@ CONTINUOUS 100 AcDbLine 10 -74.6639349891 +10 20 --67.377784531 +15.8424999504 11 -72.9667127669 +10 21 --67.377784531 +-5.125 0 MTEXT 5 -1EC +1EE 100 AcDbEntity 8 -cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -6285,21 +6375,21 @@ CONTINUOUS 100 AcDbMText 10 -75.4667127669 +10 20 --67.377784531 +16.8674999504 30 0 40 0.8 41 -0.355555555556 +3.2 71 5 72 1 1 -5 +43.985 7 standard 210 @@ -6317,11 +6407,11 @@ standard 0 LINE 5 -1ED +1EF 100 AcDbEntity 8 -cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -6331,21 +6421,21 @@ CONTINUOUS 100 AcDbLine 10 -77.9667127669 +21.25 20 --65.377784531 +38.8599999008 11 -77.9667127669 +9.7 21 --67.077784531 +38.8599999008 0 LINE 5 -1EE +1F0 100 AcDbEntity 8 -cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -6355,19 +6445,19 @@ CONTINUOUS 100 AcDbLine 10 -72.9667127669 +8 20 --74.6108771873 +-5.125 11 -72.9667127669 +9.7 21 --67.077784531 +-5.125 0 ENDBLK 5 -77 +7D 330 -75 +7B 100 AcDbEntity 8 @@ -6377,9 +6467,9 @@ AcDbBlockEnd 0 BLOCK 5 -79 +7F 330 -78 +7E 100 AcDbEntity 8 @@ -6387,7 +6477,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D47 +*D70 70 1 10 @@ -6395,13 +6485,13 @@ AcDbBlockBegin 20 0 3 -*D47 +*D70 1 0 LINE 5 -1EF +1F1 100 AcDbEntity 8 @@ -6415,17 +6505,17 @@ CONTINUOUS 100 AcDbLine 10 -19.5 +185.339708867 20 -28.5 +-76.6108771873 11 -19.5 +185.339708867 21 -25.5 +-73.0193308591 0 SOLID 5 -1F0 +1F2 100 AcDbEntity 8 @@ -6439,33 +6529,33 @@ CONTINUOUS 100 AcDbTrace 10 -19.5 +185.339708867 20 -28.5 +-76.6108771873 30 0 11 -19.5499541589 +185.289754708 21 -28.2 +-76.3108771873 31 0 12 -19.4500458411 +185.389663026 22 -28.2 +-76.3108771873 32 0 13 -19.4500458411 +185.389663026 23 -28.2 +-76.3108771873 33 0 0 SOLID 5 -1F1 +1F3 100 AcDbEntity 8 @@ -6479,33 +6569,57 @@ CONTINUOUS 100 AcDbTrace 10 -19.5 +185.339708867 20 -25.5 +-67.377784531 30 0 11 -19.4500458411 +185.389663026 21 -25.8 +-67.677784531 31 0 12 -19.5499541589 +185.289754708 22 -25.8 +-67.677784531 32 0 13 -19.5499541589 +185.289754708 23 -25.8 +-67.677784531 33 0 0 +LINE +5 +1F4 +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +185.339708867 +20 +-70.9693308591 +11 +185.339708867 +21 +-67.377784531 +0 MTEXT 5 -1F2 +1F5 100 AcDbEntity 8 @@ -6519,21 +6633,21 @@ CONTINUOUS 100 AcDbMText 10 -18.475 +185.339708867 20 -27 +-71.9943308591 30 0 40 0.8 41 -0.355555555556 +2.93333333333 71 5 72 1 1 -3 +9.2331 7 standard 210 @@ -6551,7 +6665,7 @@ standard 0 LINE 5 -1F3 +1F6 100 AcDbEntity 8 @@ -6565,17 +6679,17 @@ CONTINUOUS 100 AcDbLine 10 +175.966712767 20 -20 -28.5 +-76.6108771873 11 -19.8 +185.639708867 21 -28.5 +-76.6108771873 0 LINE 5 -1F4 +1F7 100 AcDbEntity 8 @@ -6589,19 +6703,19 @@ CONTINUOUS 100 AcDbLine 10 +170.966712767 20 -20 -25.5 +-67.377784531 11 -19.8 +185.639708867 21 -25.5 +-67.377784531 0 ENDBLK 5 -7A +80 330 -78 +7E 100 AcDbEntity 8 @@ -6611,9 +6725,9 @@ AcDbBlockEnd 0 BLOCK 5 -7C +82 330 -7B +81 100 AcDbEntity 8 @@ -6621,7 +6735,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D11 +*D107 70 1 10 @@ -6629,17 +6743,17 @@ AcDbBlockBegin 20 0 3 -*D11 +*D107 1 0 LINE 5 -1F5 +1F8 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -6649,21 +6763,21 @@ CONTINUOUS 100 AcDbLine 10 --1 +130.250000108 20 -41.1 +63.7501208602 11 --1 +132.752777892 21 -39.075 +63.7501208602 0 SOLID 5 -1F6 +1F9 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -6673,37 +6787,37 @@ CONTINUOUS 100 AcDbTrace 10 --1 +130.250000108 20 -41.1 +63.7501208602 30 0 11 --0.950045841067 +130.550000108 21 -40.8 +63.8000750191 31 0 12 --1.04995415893 +130.550000108 22 -40.8 +63.7001667013 32 0 13 --1.04995415893 +130.550000108 23 -40.8 +63.7001667013 33 0 0 SOLID 5 -1F7 +1FA 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -6713,37 +6827,37 @@ CONTINUOUS 100 AcDbTrace 10 --1 +137.750000121 20 -35 +63.7501208602 30 0 11 --1.04995415893 +137.450000121 21 -35.3 +63.7001667013 31 0 12 --0.950045841067 +137.450000121 22 -35.3 +63.8000750191 32 0 13 --0.950045841067 +137.450000121 23 -35.3 +63.8000750191 33 0 0 LINE 5 -1F8 +1FB 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -6753,21 +6867,21 @@ CONTINUOUS 100 AcDbLine 10 --1 +135.247222336 20 -37.025 +63.7501208602 11 --1 +137.750000121 21 -35 +63.7501208602 0 MTEXT 5 -1F9 +1FC 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -6777,21 +6891,21 @@ CONTINUOUS 100 AcDbMText 10 --1 +134.000000114 20 -38.05 +63.7501208602 30 0 40 0.8 41 -1.06666666667 +1.24444444444 71 5 72 1 1 -6.1 +7.5 7 standard 210 @@ -6809,11 +6923,11 @@ standard 0 LINE 5 -1FA +1FD 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -6823,21 +6937,21 @@ CONTINUOUS 100 AcDbLine 10 --3 +130.250000108 20 -41.1 +59.9999999376 11 --0.7 +130.250000108 21 -41.1 +64.0501208602 0 LINE 5 -1FB +1FE 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -6847,19 +6961,19 @@ CONTINUOUS 100 AcDbLine 10 --3 +137.750000121 20 -35 +62.9999999064 11 --0.7 +137.750000121 21 -35 +64.0501208602 0 ENDBLK 5 -7D +83 330 -7B +81 100 AcDbEntity 8 @@ -6869,9 +6983,9 @@ AcDbBlockEnd 0 BLOCK 5 -7F +85 330 -7E +84 100 AcDbEntity 8 @@ -6879,7 +6993,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D46 +*D27 70 1 10 @@ -6887,13 +7001,13 @@ AcDbBlockBegin 20 0 3 -*D46 +*D27 1 0 LINE 5 -1FC +1FF 100 AcDbEntity 8 @@ -6907,17 +7021,17 @@ CONTINUOUS 100 AcDbLine 10 -19.5 +121.702603419 20 -34.9999999147 +41.0999994219 11 -19.5 +121.702603419 21 -31 +40.3749995633 0 SOLID 5 -1FD +200 100 AcDbEntity 8 @@ -6931,33 +7045,33 @@ CONTINUOUS 100 AcDbTrace 10 -19.5 +121.702603419 20 -34.9999999147 +41.0999994219 30 0 11 -19.5499541589 +121.752557578 21 -34.6999999147 +40.7999994219 31 0 12 -19.4500458411 +121.65264926 22 -34.6999999147 +40.7999994219 32 0 13 -19.4500458411 +121.65264926 23 -34.6999999147 +40.7999994219 33 0 0 SOLID 5 -1FE +201 100 AcDbEntity 8 @@ -6971,33 +7085,57 @@ CONTINUOUS 100 AcDbTrace 10 -19.5 +121.702603419 20 -31 +37.5999997047 30 0 11 -19.4500458411 +121.65264926 21 -31.3 +37.8999997047 31 0 12 -19.5499541589 +121.752557578 22 -31.3 +37.8999997047 32 0 13 -19.5499541589 +121.752557578 23 -31.3 +37.8999997047 33 0 0 +LINE +5 +202 +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +121.702603419 +20 +38.3249995633 +11 +121.702603419 +21 +37.5999997047 +0 MTEXT 5 -1FF +203 100 AcDbEntity 8 @@ -7011,21 +7149,21 @@ CONTINUOUS 100 AcDbMText 10 -18.475 +121.702603419 20 -32.9999999573 +39.3499995633 30 0 40 0.8 41 -0.444444444444 +1.24444444444 71 5 72 1 1 -4 +3.5 7 standard 210 @@ -7043,7 +7181,7 @@ standard 0 LINE 5 -200 +204 100 AcDbEntity 8 @@ -7057,17 +7195,17 @@ CONTINUOUS 100 AcDbLine 10 +99.5000003098 20 -20 -34.9999999147 +41.0999994219 11 -19.8 +122.002603419 21 -34.9999999147 +41.0999994219 0 LINE 5 -201 +205 100 AcDbEntity 8 @@ -7081,19 +7219,19 @@ CONTINUOUS 100 AcDbLine 10 +94.5000003098 20 -20 -31 +37.5999997047 11 -19.8 +122.002603419 21 -31 +37.5999997047 0 ENDBLK 5 -80 +86 330 -7E +84 100 AcDbEntity 8 @@ -7103,9 +7241,9 @@ AcDbBlockEnd 0 BLOCK 5 -82 +88 330 -81 +87 100 AcDbEntity 8 @@ -7113,7 +7251,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D49 +*D50 70 1 10 @@ -7121,13 +7259,13 @@ AcDbBlockBegin 20 0 3 -*D49 +*D50 1 0 LINE 5 -202 +206 100 AcDbEntity 8 @@ -7141,17 +7279,17 @@ CONTINUOUS 100 AcDbLine 10 -19.5 +50.0719282636 20 -28.5 +70.4462495497 11 -19.5 +50.0719282636 21 -28.725 +73.4462495497 0 SOLID 5 -203 +207 100 AcDbEntity 8 @@ -7165,33 +7303,33 @@ CONTINUOUS 100 AcDbTrace 10 -19.5 +50.0719282636 20 -28.5 +70.4462495497 30 0 11 -19.4500458411 +50.0219741047 21 -28.8 +70.7462495497 31 0 12 -19.5499541589 +50.1218824225 22 -28.8 +70.7462495497 32 0 13 -19.5499541589 +50.1218824225 23 -28.8 +70.7462495497 33 0 0 SOLID 5 -204 +208 100 AcDbEntity 8 @@ -7205,57 +7343,33 @@ CONTINUOUS 100 AcDbTrace 10 -19.5 +50.0719282636 20 -31 +73.4462495497 30 0 11 -19.5499541589 +50.1218824225 21 -30.7 +73.1462495497 31 0 12 -19.4500458411 +50.0219741047 22 -30.7 +73.1462495497 32 0 13 -19.4500458411 +50.0219741047 23 -30.7 +73.1462495497 33 0 0 -LINE -5 -205 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -30.775 -11 -19.5 -21 -31 -0 MTEXT 5 -206 +209 100 AcDbEntity 8 @@ -7269,21 +7383,21 @@ CONTINUOUS 100 AcDbMText 10 -18.475 +49.0469282636 20 -29.75 +71.9462495497 30 0 40 0.8 41 -1.24444444444 +0.355555555556 71 5 72 1 1 -2.5 +3 7 standard 210 @@ -7301,7 +7415,7 @@ standard 0 LINE 5 -207 +20A 100 AcDbEntity 8 @@ -7315,17 +7429,17 @@ CONTINUOUS 100 AcDbLine 10 +18 20 -20 -28.5 +70.4462495497 11 -19.8 +50.3719282636 21 -28.5 +70.4462495497 0 LINE 5 -208 +20B 100 AcDbEntity 8 @@ -7339,19 +7453,19 @@ CONTINUOUS 100 AcDbLine 10 +18 20 -20 -31 +73.4462495497 11 -19.8 +50.3719282636 21 -31 +73.4462495497 0 ENDBLK 5 -83 +89 330 -81 +87 100 AcDbEntity 8 @@ -7361,9 +7475,9 @@ AcDbBlockEnd 0 BLOCK 5 -85 +8B 330 -84 +8A 100 AcDbEntity 8 @@ -7371,7 +7485,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D4 +*D7 70 1 10 @@ -7379,13 +7493,13 @@ AcDbBlockBegin 20 0 3 -*D4 +*D7 1 0 LINE 5 -209 +20C 100 AcDbEntity 8 @@ -7399,17 +7513,17 @@ CONTINUOUS 100 AcDbLine 10 --7.5 +27.5000003098 20 46.1646667417 11 --7.49722222222 +33.9750003098 21 46.1646667417 0 SOLID 5 -20A +20D 100 AcDbEntity 8 @@ -7423,25 +7537,25 @@ CONTINUOUS 100 AcDbTrace 10 --7.5 +27.5000003098 20 46.1646667417 30 0 11 --7.2 +27.8000003098 21 46.2146209006 31 0 12 --7.2 +27.8000003098 22 46.1147125828 32 0 13 --7.2 +27.8000003098 23 46.1147125828 33 @@ -7449,7 +7563,7 @@ AcDbTrace 0 SOLID 5 -20B +20E 100 AcDbEntity 8 @@ -7463,25 +7577,25 @@ CONTINUOUS 100 AcDbTrace 10 --5 +42.5000003098 20 46.1646667417 30 0 11 --5.3 +42.2000003098 21 46.1147125828 31 0 12 --5.3 +42.2000003098 22 46.2146209006 32 0 13 --5.3 +42.2000003098 23 46.2146209006 33 @@ -7489,7 +7603,7 @@ AcDbTrace 0 LINE 5 -20C +20F 100 AcDbEntity 8 @@ -7503,17 +7617,17 @@ CONTINUOUS 100 AcDbLine 10 --5.00277777778 +36.0250003098 20 46.1646667417 11 --5 +42.5000003098 21 46.1646667417 0 MTEXT 5 -20D +210 100 AcDbEntity 8 @@ -7527,7 +7641,7 @@ CONTINUOUS 100 AcDbMText 10 --6.25 +35.0000003098 20 46.1646667417 30 @@ -7535,13 +7649,13 @@ AcDbMText 40 0.8 41 -1.24444444444 +0.8 71 5 72 1 1 -2.5 +15 7 standard 210 @@ -7559,7 +7673,7 @@ standard 0 LINE 5 -20E +211 100 AcDbEntity 8 @@ -7573,17 +7687,17 @@ CONTINUOUS 100 AcDbLine 10 --7.5 +27.5000003098 20 -43.1 +43.0999998544 11 --7.5 +27.5000003098 21 46.4646667417 0 LINE 5 -20F +212 100 AcDbEntity 8 @@ -7597,19 +7711,19 @@ CONTINUOUS 100 AcDbLine 10 --5 +42.5000003098 20 -43.1 +43.0999997297 11 --5 +42.5000003098 21 46.4646667417 0 ENDBLK 5 -86 +8C 330 -84 +8A 100 AcDbEntity 8 @@ -7619,9 +7733,9 @@ AcDbBlockEnd 0 BLOCK 5 -88 +8E 330 -87 +8D 100 AcDbEntity 8 @@ -7629,7 +7743,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D8 +*D57 70 1 10 @@ -7637,13 +7751,13 @@ AcDbBlockBegin 20 0 3 -*D8 +*D57 1 0 LINE 5 -210 +213 100 AcDbEntity 8 @@ -7657,17 +7771,17 @@ CONTINUOUS 100 AcDbLine 10 -42.5000003098 +90.216061105 20 -46.1646667417 +-121.377784531 11 -43.197222532 +90.216061105 21 -46.1646667417 +-117.402784531 0 SOLID 5 -211 +214 100 AcDbEntity 8 @@ -7681,33 +7795,33 @@ CONTINUOUS 100 AcDbTrace 10 -42.5000003098 +90.216061105 20 -46.1646667417 +-121.377784531 30 0 11 -42.8000003098 +90.1661069461 21 -46.2146209006 +-121.077784531 31 0 12 -42.8000003098 +90.2660152639 22 -46.1147125828 +-121.077784531 32 0 13 -42.8000003098 +90.2660152639 23 -46.1147125828 +-121.077784531 33 0 0 SOLID 5 -212 +215 100 AcDbEntity 8 @@ -7721,33 +7835,33 @@ CONTINUOUS 100 AcDbTrace 10 -45.5000003098 +90.216061105 20 -46.1646667417 +-111.377784531 30 0 11 -45.2000003098 +90.2660152639 21 -46.1147125828 +-111.677784531 31 0 12 -45.2000003098 +90.1661069461 22 -46.2146209006 +-111.677784531 32 0 13 -45.2000003098 +90.1661069461 23 -46.2146209006 +-111.677784531 33 0 0 LINE 5 -213 +216 100 AcDbEntity 8 @@ -7761,17 +7875,17 @@ CONTINUOUS 100 AcDbLine 10 -44.8027780876 +90.216061105 20 -46.1646667417 +-115.352784531 11 -45.5000003098 +90.216061105 21 -46.1646667417 +-111.377784531 0 MTEXT 5 -214 +217 100 AcDbEntity 8 @@ -7785,21 +7899,21 @@ CONTINUOUS 100 AcDbMText 10 -44.0000003098 +90.216061105 20 -46.1646667417 +-116.377784531 30 0 40 0.8 41 -0.355555555556 +0.8 71 5 72 1 1 -3 +10 7 standard 210 @@ -7817,7 +7931,7 @@ standard 0 LINE 5 -215 +218 100 AcDbEntity 8 @@ -7831,17 +7945,17 @@ CONTINUOUS 100 AcDbLine 10 -42.5000003098 +90.4667127669 20 -43.0999997297 +-121.377784531 11 -42.5000003098 +90.516061105 21 -46.4646667417 +-121.377784531 0 LINE 5 -216 +219 100 AcDbEntity 8 @@ -7855,19 +7969,19 @@ CONTINUOUS 100 AcDbLine 10 -45.5000003098 +90.4667127669 20 -43.0999997047 +-111.377784531 11 -45.5000003098 +90.516061105 21 -46.4646667417 +-111.377784531 0 ENDBLK 5 -89 +8F 330 -87 +8D 100 AcDbEntity 8 @@ -7877,9 +7991,9 @@ AcDbBlockEnd 0 BLOCK 5 -8B +91 330 -8A +90 100 AcDbEntity 8 @@ -7887,7 +8001,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D99 +*D90 70 1 10 @@ -7895,13 +8009,13 @@ AcDbBlockBegin 20 0 3 -*D99 +*D90 1 0 LINE 5 -217 +21A 100 AcDbEntity 8 @@ -7915,17 +8029,17 @@ CONTINUOUS 100 AcDbLine 10 -15.875 +-12.0522616552 20 --7.8656865539 +20.2 11 -15.3263888889 +-12.0522616552 21 --7.8656865539 +18.3 0 SOLID 5 -218 +21B 100 AcDbEntity 8 @@ -7939,33 +8053,33 @@ CONTINUOUS 100 AcDbTrace 10 -15.875 +-12.0522616552 20 --7.8656865539 +20.2 30 0 11 -15.575 +-12.0023074963 21 --7.91564071283 +19.9 31 0 12 -15.575 +-12.1022158141 22 --7.81573239497 +19.9 32 0 13 -15.575 +-12.1022158141 23 --7.81573239497 +19.9 33 0 0 SOLID 5 -219 +21C 100 AcDbEntity 8 @@ -7979,57 +8093,33 @@ CONTINUOUS 100 AcDbTrace 10 -10.95 +-12.0522616552 20 --7.8656865539 +18.3 30 0 11 -11.25 +-12.1022158141 21 --7.81573239497 +18.6 31 0 12 -11.25 +-12.0023074963 22 --7.91564071283 +18.6 32 0 13 -11.25 +-12.0023074963 23 --7.91564071283 +18.6 33 0 0 -LINE -5 -21A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.4986111111 -20 --7.8656865539 -11 -10.95 -21 --7.8656865539 -0 MTEXT 5 -21B +21D 100 AcDbEntity 8 @@ -8043,21 +8133,21 @@ CONTINUOUS 100 AcDbMText 10 -13.4125 +-12.0522616552 20 --7.8656865539 +19.25 30 0 40 0.8 41 -2.57777777778 +1.06666666667 71 5 72 1 1 -4.925 +1.9 7 standard 210 @@ -8075,7 +8165,7 @@ standard 0 LINE 5 -21C +21E 100 AcDbEntity 8 @@ -8089,17 +8179,17 @@ CONTINUOUS 100 AcDbLine 10 -15.875 +-2.2 20 --7.125 +20.2 11 -15.875 +-12.3522616552 21 --8.1656865539 +20.2 0 LINE 5 -21D +21F 100 AcDbEntity 8 @@ -8113,19 +8203,19 @@ CONTINUOUS 100 AcDbLine 10 -10.95 -20 -2.2 +20 +18.3 11 -10.95 +-12.3522616552 21 --8.1656865539 +18.3 0 ENDBLK 5 -8C +92 330 -8A +90 100 AcDbEntity 8 @@ -8135,9 +8225,9 @@ AcDbBlockEnd 0 BLOCK 5 -8E +94 330 -8D +93 100 AcDbEntity 8 @@ -8145,7 +8235,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D103 +*D5 70 1 10 @@ -8153,17 +8243,17 @@ AcDbBlockBegin 20 0 3 -*D103 +*D5 1 0 LINE 5 -21E +220 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -8173,21 +8263,21 @@ CONTINUOUS 100 AcDbLine 10 -70.125 +-5 20 -63.7501208602 +46.1646667417 11 -77.1 +8.88611126601 21 -63.7501208602 +46.1646667417 0 SOLID 5 -21F +221 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -8197,37 +8287,37 @@ CONTINUOUS 100 AcDbTrace 10 -70.125 +-5 20 -63.7501208602 +46.1646667417 30 0 11 -70.425 +-4.7 21 -63.8000750191 +46.2146209006 31 0 12 -70.425 +-4.7 22 -63.7001667013 +46.1147125828 32 0 13 -70.425 +-4.7 23 -63.7001667013 +46.1147125828 33 0 0 SOLID 5 -220 +222 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -8237,37 +8327,37 @@ CONTINUOUS 100 AcDbTrace 10 -86.125 +25.0000003098 20 -63.7501208602 +46.1646667417 30 0 11 -85.825 +24.7000003098 21 -63.7001667013 +46.1147125828 31 0 12 -85.825 +24.7000003098 22 -63.8000750191 +46.2146209006 32 0 13 -85.825 +24.7000003098 23 -63.8000750191 +46.2146209006 33 0 0 LINE 5 -221 +223 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -8277,21 +8367,21 @@ CONTINUOUS 100 AcDbLine 10 -79.15 +11.1138890438 20 -63.7501208602 +46.1646667417 11 -86.125 +25.0000003098 21 -63.7501208602 +46.1646667417 0 MTEXT 5 -222 +224 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -8301,21 +8391,21 @@ CONTINUOUS 100 AcDbMText 10 -78.125 +10.0000001549 20 -63.7501208602 +46.1646667417 30 0 40 0.8 41 -0.8 +0.977777777778 71 5 72 1 1 -16 +30 7 standard 210 @@ -8333,11 +8423,11 @@ standard 0 LINE 5 -223 +225 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -8347,21 +8437,21 @@ CONTINUOUS 100 AcDbLine 10 -70.125 +-5 20 -44.999999923 +43.1 11 -70.125 +-5 21 -64.0501208602 +46.4646667417 0 LINE 5 -224 +226 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -8371,19 +8461,19 @@ CONTINUOUS 100 AcDbLine 10 -86.125 +25.0000003098 20 -62.9999996207 +43.0999998752 11 -86.125 +25.0000003098 21 -64.0501208602 +46.4646667417 0 ENDBLK 5 -8F +95 330 -8D +93 100 AcDbEntity 8 @@ -8393,9 +8483,9 @@ AcDbBlockEnd 0 BLOCK 5 -91 +97 330 -90 +96 100 AcDbEntity 8 @@ -8403,7 +8493,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D101 +*D87 70 1 10 @@ -8411,13 +8501,13 @@ AcDbBlockBegin 20 0 3 -*D101 +*D87 1 0 LINE 5 -225 +227 100 AcDbEntity 8 @@ -8431,17 +8521,17 @@ CONTINUOUS 100 AcDbLine 10 -50.125 +-12.0522616552 20 -63.7501208602 +38.9999999522 11 -51.2777777144 +-12.0522616552 21 -63.7501208602 +37.9999999563 0 SOLID 5 -226 +228 100 AcDbEntity 8 @@ -8455,33 +8545,33 @@ CONTINUOUS 100 AcDbTrace 10 -50.125 +-12.0522616552 20 -63.7501208602 +38.9999999522 30 0 11 -50.425 +-12.0023074963 21 -63.8000750191 +38.6999999522 31 0 12 -50.425 +-12.1022158141 22 -63.7001667013 +38.6999999522 32 0 13 -50.425 +-12.1022158141 23 -63.7001667013 +38.6999999522 33 0 0 SOLID 5 -227 +229 100 AcDbEntity 8 @@ -8495,57 +8585,33 @@ CONTINUOUS 100 AcDbTrace 10 -54.1249998732 +-12.0522616552 20 -63.7501208602 +37.9999999563 30 0 11 -53.8249998732 +-12.1022158141 21 -63.7001667013 +38.2999999563 31 0 12 -53.8249998732 +-12.0023074963 22 -63.8000750191 +38.2999999563 32 0 13 -53.8249998732 +-12.0023074963 23 -63.8000750191 +38.2999999563 33 0 0 -LINE -5 -228 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -52.9722221588 -20 -63.7501208602 -11 -54.1249998732 -21 -63.7501208602 -0 MTEXT 5 -229 +22A 100 AcDbEntity 8 @@ -8559,21 +8625,21 @@ CONTINUOUS 100 AcDbMText 10 -52.1249999366 +-12.0522616552 20 -63.7501208602 +38.4999999543 30 0 40 0.8 41 -0.444444444444 +0.177777777778 71 5 72 1 1 -4 +1 7 standard 210 @@ -8591,7 +8657,7 @@ standard 0 LINE 5 -22A +22B 100 AcDbEntity 8 @@ -8605,17 +8671,17 @@ CONTINUOUS 100 AcDbLine 10 -50.125 +4.50000002914 20 -45.0000003999 +38.9999999522 11 -50.125 +-12.3522616552 21 -64.0501208602 +38.9999999522 0 LINE 5 -22B +22C 100 AcDbEntity 8 @@ -8629,19 +8695,19 @@ CONTINUOUS 100 AcDbLine 10 -54.1249998732 +3.50000002498 20 -56.9999997539 +37.9999999563 11 -54.1249998732 +-12.3522616552 21 -64.0501208602 +37.9999999563 0 ENDBLK 5 -92 +98 330 -90 +96 100 AcDbEntity 8 @@ -8651,9 +8717,9 @@ AcDbBlockEnd 0 BLOCK 5 -94 +9A 330 -93 +99 100 AcDbEntity 8 @@ -8661,7 +8727,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D54 +*D51 70 1 10 @@ -8669,13 +8735,13 @@ AcDbBlockBegin 20 0 3 -*D54 +*D51 1 0 LINE 5 -22C +22D 100 AcDbEntity 8 @@ -8691,15 +8757,15 @@ AcDbLine 10 50.0719282636 20 -70.4462495497 +73.4462495497 11 50.0719282636 21 -67.4462495497 +82.4462495497 0 SOLID 5 -22D +22E 100 AcDbEntity 8 @@ -8715,31 +8781,31 @@ AcDbTrace 10 50.0719282636 20 -70.4462495497 +73.4462495497 30 0 11 -50.1218824225 +50.0219741047 21 -70.1462495497 +73.7462495497 31 0 12 -50.0219741047 +50.1218824225 22 -70.1462495497 +73.7462495497 32 0 13 -50.0219741047 +50.1218824225 23 -70.1462495497 +73.7462495497 33 0 0 SOLID 5 -22E +22F 100 AcDbEntity 8 @@ -8755,31 +8821,31 @@ AcDbTrace 10 50.0719282636 20 -67.4462495497 +82.4462495497 30 0 11 -50.0219741047 +50.1218824225 21 -67.7462495497 +82.1462495497 31 0 12 -50.1218824225 +50.0219741047 22 -67.7462495497 +82.1462495497 32 0 13 -50.1218824225 +50.0219741047 23 -67.7462495497 +82.1462495497 33 0 0 MTEXT 5 -22F +230 100 AcDbEntity 8 @@ -8795,7 +8861,7 @@ AcDbMText 10 49.0469282636 20 -68.9462495497 +77.9462495497 30 0 40 @@ -8807,7 +8873,7 @@ AcDbMText 72 1 1 -3 +9 7 standard 210 @@ -8825,7 +8891,7 @@ standard 0 LINE 5 -230 +231 100 AcDbEntity 8 @@ -8841,15 +8907,15 @@ AcDbLine 10 20 20 -70.4462495497 +73.4462495497 11 50.3719282636 21 -70.4462495497 +73.4462495497 0 LINE 5 -231 +232 100 AcDbEntity 8 @@ -8863,19 +8929,19 @@ CONTINUOUS 100 AcDbLine 10 +47.5000005039 20 -20 -67.4462495497 +82.4462495497 11 50.3719282636 21 -67.4462495497 +82.4462495497 0 ENDBLK 5 -95 +9B 330 -93 +99 100 AcDbEntity 8 @@ -8885,9 +8951,9 @@ AcDbBlockEnd 0 BLOCK 5 -97 +9D 330 -96 +9C 100 AcDbEntity 8 @@ -8895,7 +8961,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D73 +*D43 70 1 10 @@ -8903,13 +8969,13 @@ AcDbBlockBegin 20 0 3 -*D73 +*D43 1 0 LINE 5 -232 +233 100 AcDbEntity 8 @@ -8923,17 +8989,17 @@ CONTINUOUS 100 AcDbLine 10 -72.9667127669 +2 20 --96.377784531 +41.1 11 -76.9417127669 +8.975 21 --96.377784531 +41.1 0 SOLID 5 -233 +234 100 AcDbEntity 8 @@ -8947,33 +9013,33 @@ CONTINUOUS 100 AcDbTrace 10 -72.9667127669 +2 20 --96.377784531 +41.1 30 0 11 -73.2667127669 +2.3 21 --96.3278303721 +41.1499541589 31 0 12 -73.2667127669 +2.3 22 --96.4277386899 +41.0500458411 32 0 13 -73.2667127669 +2.3 23 --96.4277386899 +41.0500458411 33 0 0 SOLID 5 -234 +235 100 AcDbEntity 8 @@ -8987,33 +9053,33 @@ CONTINUOUS 100 AcDbTrace 10 -82.9667127669 +18 20 --96.377784531 +41.1 30 0 11 -82.6667127669 +17.7 21 --96.4277386899 +41.0500458411 31 0 12 -82.6667127669 +17.7 22 --96.3278303721 +41.1499541589 32 0 13 -82.6667127669 +17.7 23 --96.3278303721 +41.1499541589 33 0 0 LINE 5 -235 +236 100 AcDbEntity 8 @@ -9027,17 +9093,17 @@ CONTINUOUS 100 AcDbLine 10 -78.9917127669 +11.025 20 --96.377784531 +41.1 11 -82.9667127669 +18 21 --96.377784531 +41.1 0 MTEXT 5 -236 +237 100 AcDbEntity 8 @@ -9051,9 +9117,9 @@ CONTINUOUS 100 AcDbMText 10 -77.9667127669 +10 20 --96.377784531 +42.125 30 0 40 @@ -9065,7 +9131,7 @@ AcDbMText 72 1 1 -10 +16 7 standard 210 @@ -9083,7 +9149,7 @@ standard 0 LINE 5 -237 +238 100 AcDbEntity 8 @@ -9097,17 +9163,17 @@ CONTINUOUS 100 AcDbLine 10 -72.9667127669 +2 20 --94.377784531 +36.9999999652 11 -72.9667127669 +2 21 --96.077784531 +41.4 0 LINE 5 -238 +239 100 AcDbEntity 8 @@ -9121,19 +9187,19 @@ CONTINUOUS 100 AcDbLine 10 -82.9667127669 +18 20 --94.377784531 +36.9999999147 11 -82.9667127669 +18 21 --96.077784531 +41.4 0 ENDBLK 5 -98 +9E 330 -96 +9C 100 AcDbEntity 8 @@ -9143,9 +9209,9 @@ AcDbBlockEnd 0 BLOCK 5 -9A +A0 330 -99 +9F 100 AcDbEntity 8 @@ -9153,7 +9219,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D7 +*D54 70 1 10 @@ -9161,13 +9227,13 @@ AcDbBlockBegin 20 0 3 -*D7 +*D54 1 0 LINE 5 -239 +23A 100 AcDbEntity 8 @@ -9181,17 +9247,17 @@ CONTINUOUS 100 AcDbLine 10 -27.5000003098 +127.380113994 20 -46.1646667417 +34.9999995612 11 -33.9750003098 +127.380113994 21 -46.1646667417 +34.5249995612 0 SOLID 5 -23A +23B 100 AcDbEntity 8 @@ -9205,33 +9271,33 @@ CONTINUOUS 100 AcDbTrace 10 -27.5000003098 +127.380113994 20 -46.1646667417 +34.9999995612 30 0 11 -27.8000003098 +127.430068153 21 -46.2146209006 +34.6999995612 31 0 12 -27.8000003098 +127.330159835 22 -46.1147125828 +34.6999995612 32 0 13 -27.8000003098 +127.330159835 23 -46.1147125828 +34.6999995612 33 0 0 SOLID 5 -23B +23C 100 AcDbEntity 8 @@ -9245,33 +9311,33 @@ CONTINUOUS 100 AcDbTrace 10 -42.5000003098 +127.380113994 20 -46.1646667417 +31.9999995612 30 0 11 -42.2000003098 +127.330159835 21 -46.1147125828 +32.2999995612 31 0 12 -42.2000003098 +127.430068153 22 -46.2146209006 +32.2999995612 32 0 13 -42.2000003098 +127.430068153 23 -46.2146209006 +32.2999995612 33 0 0 LINE 5 -23C +23D 100 AcDbEntity 8 @@ -9285,17 +9351,17 @@ CONTINUOUS 100 AcDbLine 10 -36.0250003098 +127.380113994 20 -46.1646667417 +32.4749995612 11 -42.5000003098 +127.380113994 21 -46.1646667417 +31.9999995612 0 MTEXT 5 -23D +23E 100 AcDbEntity 8 @@ -9309,21 +9375,21 @@ CONTINUOUS 100 AcDbMText 10 -35.0000003098 +127.380113994 20 -46.1646667417 +33.4999995612 30 0 40 0.8 41 -0.8 +0.355555555556 71 5 72 1 1 -15 +3 7 standard 210 @@ -9341,7 +9407,7 @@ standard 0 LINE 5 -23E +23F 100 AcDbEntity 8 @@ -9355,17 +9421,17 @@ CONTINUOUS 100 AcDbLine 10 -27.5000003098 +114.500000259 20 -43.0999998544 +34.9999995612 11 -27.5000003098 +127.680113994 21 -46.4646667417 +34.9999995612 0 LINE 5 -23F +240 100 AcDbEntity 8 @@ -9379,19 +9445,19 @@ CONTINUOUS 100 AcDbLine 10 -42.5000003098 +114.500000234 20 -43.0999997297 +31.9999995612 11 -42.5000003098 +127.680113994 21 -46.4646667417 +31.9999995612 0 ENDBLK 5 -9B +A1 330 -99 +9F 100 AcDbEntity 8 @@ -9401,9 +9467,9 @@ AcDbBlockEnd 0 BLOCK 5 -9D +A3 330 -9C +A2 100 AcDbEntity 8 @@ -9411,7 +9477,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D74 +*D98 70 1 10 @@ -9419,17 +9485,17 @@ AcDbBlockBegin 20 0 3 -*D74 +*D98 1 0 LINE 5 -240 +241 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -9439,21 +9505,21 @@ CONTINUOUS 100 AcDbLine 10 -88.4667127669 +15.875 20 --76.6108771873 +-7.8656865539 11 -88.4667127669 +15.3263888889 21 --85.4693308592 +-7.8656865539 0 SOLID 5 -241 +242 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -9463,37 +9529,37 @@ CONTINUOUS 100 AcDbTrace 10 -88.4667127669 +15.875 20 --76.6108771873 +-7.8656865539 30 0 11 -88.5166669258 +15.575 21 --76.9108771873 +-7.91564071283 31 0 12 -88.416758608 +15.575 22 --76.9108771873 +-7.81573239497 32 0 13 -88.416758608 +15.575 23 --76.9108771873 +-7.81573239497 33 0 0 SOLID 5 -242 +243 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -9503,37 +9569,37 @@ CONTINUOUS 100 AcDbTrace 10 -88.4667127669 +10.95 20 --96.377784531 +-7.8656865539 30 0 11 -88.416758608 +11.25 21 --96.077784531 +-7.81573239497 31 0 12 -88.5166669258 +11.25 22 --96.077784531 +-7.91564071283 32 0 13 -88.5166669258 +11.25 23 --96.077784531 +-7.91564071283 33 0 0 LINE 5 -243 +244 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -9543,21 +9609,21 @@ CONTINUOUS 100 AcDbLine 10 -88.4667127669 +11.4986111111 20 --87.5193308592 +-7.8656865539 11 -88.4667127669 +10.95 21 --96.377784531 +-7.8656865539 0 MTEXT 5 -244 +245 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -9567,21 +9633,21 @@ CONTINUOUS 100 AcDbMText 10 -88.4667127669 +13.4125 20 --86.4943308592 +-7.8656865539 30 0 40 0.8 41 -3.55555555556 +2.57777777778 71 5 72 1 1 -19.7669 +4.925 7 standard 210 @@ -9599,11 +9665,11 @@ standard 0 LINE 5 -245 +246 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -9613,21 +9679,21 @@ CONTINUOUS 100 AcDbLine 10 -84.9667127669 +15.875 20 --76.6108771873 +-7.125 11 -88.7667127669 +15.875 21 --76.6108771873 +-8.1656865539 0 LINE 5 -246 +247 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -9637,19 +9703,19 @@ CONTINUOUS 100 AcDbLine 10 -84.9667127669 +10.95 20 --96.377784531 +-2.2 11 -88.7667127669 +10.95 21 --96.377784531 +-8.1656865539 0 ENDBLK 5 -9E +A4 330 -9C +A2 100 AcDbEntity 8 @@ -9659,9 +9725,9 @@ AcDbBlockEnd 0 BLOCK 5 -A0 +A6 330 -9F +A5 100 AcDbEntity 8 @@ -9669,7 +9735,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D87 +*D28 70 1 10 @@ -9677,17 +9743,17 @@ AcDbBlockBegin 20 0 3 -*D87 +*D28 1 0 LINE 5 -247 +248 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -9697,21 +9763,21 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +121.702603419 20 -46.9999999522 +37.5999997047 11 --12.0522616552 +121.702603419 21 -44.0249999522 +32.3568747981 0 SOLID 5 -248 +249 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -9721,37 +9787,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +121.702603419 20 -46.9999999522 +37.5999997047 30 0 11 --12.0023074963 +121.752557578 21 -46.6999999522 +37.2999997047 31 0 12 --12.1022158141 +121.65264926 22 -46.6999999522 +37.2999997047 32 0 13 --12.1022158141 +121.65264926 23 -46.6999999522 +37.2999997047 33 0 0 SOLID 5 -249 +24A 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -9761,37 +9827,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +121.702603419 20 -38.9999999522 +25.0637498916 30 0 11 --12.1022158141 +121.65264926 21 -39.2999999522 +25.3637498916 31 0 12 --12.0023074963 +121.752557578 22 -39.2999999522 +25.3637498916 32 0 13 --12.0023074963 +121.752557578 23 -39.2999999522 +25.3637498916 33 0 0 LINE 5 -24A +24B 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -9801,21 +9867,21 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +121.702603419 20 -41.9749999522 +30.3068747981 11 --12.0522616552 +121.702603419 21 -38.9999999522 +25.0637498916 0 MTEXT 5 -24B +24C 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -9825,21 +9891,21 @@ CONTINUOUS 100 AcDbMText 10 --12.0522616552 +121.702603419 20 -42.9999999522 +31.3318747981 30 0 40 0.8 41 -0.355555555556 +3.55555555556 71 5 72 1 1 -8 +12.5362 7 standard 210 @@ -9857,11 +9923,11 @@ standard 0 LINE 5 -24C +24D 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -9871,21 +9937,21 @@ CONTINUOUS 100 AcDbLine 10 -4.50000006244 +94.5000003098 20 -46.9999999522 +37.5999997047 11 --12.3522616552 +122.002603419 21 -46.9999999522 +37.5999997047 0 LINE 5 -24D +24E 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -9895,19 +9961,19 @@ CONTINUOUS 100 AcDbLine 10 -4.50000002914 +104.500000241 20 -38.9999999522 +25.0637498916 11 --12.3522616552 +122.002603419 21 -38.9999999522 +25.0637498916 0 ENDBLK 5 -A1 +A7 330 -9F +A5 100 AcDbEntity 8 @@ -9917,9 +9983,9 @@ AcDbBlockEnd 0 BLOCK 5 -A3 +A9 330 -A2 +A8 100 AcDbEntity 8 @@ -9927,7 +9993,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D20 +*D47 70 1 10 @@ -9935,13 +10001,13 @@ AcDbBlockBegin 20 0 3 -*D20 +*D47 1 0 LINE 5 -24E +24F 100 AcDbEntity 8 @@ -9955,17 +10021,17 @@ CONTINUOUS 100 AcDbLine 10 -23 +19.5 20 -31 +25.5 11 -23 +19.5 21 -24.46125 +22.5 0 SOLID 5 -24F +250 100 AcDbEntity 8 @@ -9979,33 +10045,33 @@ CONTINUOUS 100 AcDbTrace 10 -23 +19.5 20 -31 +25.5 30 0 11 -23.0499541589 +19.5499541589 21 -30.7 +25.2 31 0 12 -22.9500458411 +19.4500458411 22 -30.7 +25.2 32 0 13 -22.9500458411 +19.4500458411 23 -30.7 +25.2 33 0 0 SOLID 5 -250 +251 100 AcDbEntity 8 @@ -10019,54 +10085,30 @@ CONTINUOUS 100 AcDbTrace 10 -23 +19.5 20 -15.8725 +22.5 30 0 11 -22.9500458411 +19.4500458411 21 -16.1725 +22.8 31 0 12 -23.0499541589 +19.5499541589 22 -16.1725 +22.8 32 0 13 -23.0499541589 +19.5499541589 23 -16.1725 +22.8 33 0 0 -LINE -5 -251 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -22.41125 -11 -23 -21 -15.8725 -0 MTEXT 5 252 @@ -10083,21 +10125,21 @@ CONTINUOUS 100 AcDbMText 10 -23 +18.475 20 -23.43625 +24 30 0 40 0.8 41 -3.37777777778 +0.355555555556 71 5 72 1 1 -15.1275 +3 7 standard 210 @@ -10129,13 +10171,13 @@ CONTINUOUS 100 AcDbLine 10 -23 20 -31 +20 +25.5 11 -23.3 +19.8 21 -31 +25.5 0 LINE 5 @@ -10153,19 +10195,19 @@ CONTINUOUS 100 AcDbLine 10 -23 20 -15.8725 +20 +22.5 11 -23.3 +19.8 21 -15.8725 +22.5 0 ENDBLK 5 -A4 +AA 330 -A2 +A8 100 AcDbEntity 8 @@ -10175,9 +10217,9 @@ AcDbBlockEnd 0 BLOCK 5 -A6 +AC 330 -A5 +AB 100 AcDbEntity 8 @@ -10185,7 +10227,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D22 +*D36 70 1 10 @@ -10193,7 +10235,7 @@ AcDbBlockBegin 20 0 3 -*D22 +*D36 1 0 @@ -10213,13 +10255,13 @@ CONTINUOUS 100 AcDbLine 10 -23 +87.5000003098 20 -14.8725 +45.4281607231 11 -23 +83.8027780622 21 -14.3975 +45.4281607231 0 SOLID 5 @@ -10237,27 +10279,27 @@ CONTINUOUS 100 AcDbTrace 10 -23 +87.5000003098 20 -14.8725 +45.4281607231 30 0 11 -23.0499541589 +87.2000003098 21 -14.5725 +45.3782065642 31 0 12 -22.9500458411 +87.2000003098 22 -14.5725 +45.478114882 32 0 13 -22.9500458411 +87.2000003098 23 -14.5725 +45.478114882 33 0 0 @@ -10277,27 +10319,27 @@ CONTINUOUS 100 AcDbTrace 10 -23 +78.5000002591 20 -11.8725 +45.4281607231 30 0 11 -22.9500458411 +78.8000002591 21 -12.1725 +45.478114882 31 0 12 -23.0499541589 +78.8000002591 22 -12.1725 +45.3782065642 32 0 13 -23.0499541589 +78.8000002591 23 -12.1725 +45.3782065642 33 0 0 @@ -10317,13 +10359,13 @@ CONTINUOUS 100 AcDbLine 10 -23 +82.1972225066 20 -12.3475 +45.4281607231 11 -23 +78.5000002591 21 -11.8725 +45.4281607231 0 MTEXT 5 @@ -10341,9 +10383,9 @@ CONTINUOUS 100 AcDbMText 10 -23 +83.0000002844 20 -13.3725 +45.4281607231 30 0 40 @@ -10355,7 +10397,7 @@ AcDbMText 72 1 1 -3 +9 7 standard 210 @@ -10387,13 +10429,13 @@ CONTINUOUS 100 AcDbLine 10 -22 +87.5000003098 20 -14.8725 +43.0999995051 11 -23.3 +87.5000003098 21 -14.8725 +45.7281607231 0 LINE 5 @@ -10411,19 +10453,19 @@ CONTINUOUS 100 AcDbLine 10 -22 +78.5000002591 20 -11.8725 +36.9999997275 11 -23.3 +78.5000002591 21 -11.8725 +45.7281607231 0 ENDBLK 5 -A7 +AD 330 -A5 +AB 100 AcDbEntity 8 @@ -10433,9 +10475,9 @@ AcDbBlockEnd 0 BLOCK 5 -A9 +AF 330 -A8 +AE 100 AcDbEntity 8 @@ -10443,7 +10485,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D25 +*D12 70 1 10 @@ -10451,7 +10493,7 @@ AcDbBlockBegin 20 0 3 -*D25 +*D12 1 0 @@ -10471,13 +10513,13 @@ CONTINUOUS 100 AcDbLine 10 -23 +27.5000003098 20 -7.3725 +38.0499998752 11 -23 +27.497222532 21 -7.21125 +38.0499998752 0 SOLID 5 @@ -10495,27 +10537,27 @@ CONTINUOUS 100 AcDbTrace 10 -23 +27.5000003098 20 -7.3725 +38.0499998752 30 0 11 -23.0499541589 +27.2000003098 21 -7.0725 +38.0000457163 31 0 12 -22.9500458411 +27.2000003098 22 -7.0725 +38.0999540341 32 0 13 -22.9500458411 +27.2000003098 23 -7.0725 +38.0999540341 33 0 0 @@ -10535,27 +10577,27 @@ CONTINUOUS 100 AcDbTrace 10 -23 +25.0000003098 20 -5 +38.0499998752 30 0 11 -22.9500458411 +25.3000003098 21 -5.3 +38.0999540341 31 0 12 -23.0499541589 +25.3000003098 22 -5.3 +38.0000457163 32 0 13 -23.0499541589 +25.3000003098 23 -5.3 +38.0000457163 33 0 0 @@ -10575,13 +10617,13 @@ CONTINUOUS 100 AcDbLine 10 -23 +25.0027780876 20 -5.16125 +38.0499998752 11 -23 +25.0000003098 21 -5 +38.0499998752 0 MTEXT 5 @@ -10599,21 +10641,21 @@ CONTINUOUS 100 AcDbMText 10 -26.3668055556 +26.2500003098 20 -6.18625 +38.0499998752 30 0 40 0.8 41 -3.11111111111 +1.24444444444 71 5 72 1 1 -2.3725 +2.5 7 standard 210 @@ -10645,13 +10687,13 @@ CONTINUOUS 100 AcDbLine 10 -23 +27.5000003098 20 -7.3725 +39.0999998544 11 -23.3 +27.5000003098 21 -7.3725 +37.7499998752 0 LINE 5 @@ -10669,19 +10711,19 @@ CONTINUOUS 100 AcDbLine 10 -23.8775 +25.0000003098 20 -5 +39.0999998752 11 -23.3 +25.0000003098 21 -5 +37.7499998752 0 ENDBLK 5 -AA +B0 330 -A8 +AE 100 AcDbEntity 8 @@ -10691,9 +10733,9 @@ AcDbBlockEnd 0 BLOCK 5 -AC +B2 330 -AB +B1 100 AcDbEntity 8 @@ -10701,7 +10743,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D90 +*D10 70 1 10 @@ -10709,7 +10751,7 @@ AcDbBlockBegin 20 0 3 -*D90 +*D10 1 0 @@ -10719,7 +10761,7 @@ LINE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -10729,13 +10771,13 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +-29.110203869 20 -25.125 +41.1 11 --12.0522616552 +-29.110203869 21 -23.6875 +14.9295553062 0 SOLID 5 @@ -10743,7 +10785,7 @@ SOLID 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -10753,27 +10795,27 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +-29.110203869 20 -25.125 +41.1 30 0 11 --12.0023074963 +-29.0602497101 21 -24.825 +40.8 31 0 12 --12.1022158141 +-29.1601580279 22 -24.825 +40.8 32 0 13 --12.1022158141 +-29.1601580279 23 -24.825 +40.8 33 0 0 @@ -10783,7 +10825,7 @@ SOLID 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -10793,27 +10835,27 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +-29.110203869 20 -20.2 +-13.2908893876 30 0 11 --12.1022158141 +-29.1601580279 21 -20.5 +-12.9908893876 31 0 12 --12.0023074963 +-29.0602497101 22 -20.5 +-12.9908893876 32 0 13 --12.0023074963 +-29.0602497101 23 -20.5 +-12.9908893876 33 0 0 @@ -10823,7 +10865,7 @@ LINE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -10833,13 +10875,13 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +-29.110203869 20 -21.6375 +12.8795553062 11 --12.0522616552 +-29.110203869 21 -20.2 +-13.2908893876 0 MTEXT 5 @@ -10847,7 +10889,7 @@ MTEXT 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -10857,21 +10899,21 @@ CONTINUOUS 100 AcDbMText 10 --12.0522616552 +-29.110203869 20 -22.6625 +13.9045553062 30 0 40 0.8 41 -2.57777777778 +3.82222222222 71 5 72 1 1 -4.925 +54.3909 7 standard 210 @@ -10893,7 +10935,7 @@ LINE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -10903,13 +10945,13 @@ CONTINUOUS 100 AcDbLine 10 --7.125 +-27.5 20 -25.125 +41.1 11 --12.3522616552 +-29.410203869 21 -25.125 +41.1 0 LINE 5 @@ -10917,7 +10959,7 @@ LINE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -10927,19 +10969,19 @@ CONTINUOUS 100 AcDbLine 10 --2.2 +7.99999992888 20 -20.2 +-13.2908893876 11 --12.3522616552 +-29.410203869 21 -20.2 +-13.2908893876 0 ENDBLK 5 -AD +B3 330 -AB +B1 100 AcDbEntity 8 @@ -10949,9 +10991,9 @@ AcDbBlockEnd 0 BLOCK 5 -AF +B5 330 -AE +B4 100 AcDbEntity 8 @@ -10959,7 +11001,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D94 +*D33 70 1 10 @@ -10967,7 +11009,7 @@ AcDbBlockBegin 20 0 3 -*D94 +*D33 1 0 @@ -10977,7 +11019,7 @@ LINE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -10987,13 +11029,13 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +127.380113994 20 --0.2 +22.5 11 --12.0522616552 +127.380113994 21 --1.6375 +5.62955526465 0 SOLID 5 @@ -11001,7 +11043,7 @@ SOLID 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -11011,27 +11053,27 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +127.380113994 20 --0.2 +22.5 30 0 11 --12.0023074963 +127.430068153 21 --0.5 +22.2 31 0 12 --12.1022158141 +127.330159835 22 --0.5 +22.2 32 0 13 --12.1022158141 +127.330159835 23 --0.5 +22.2 33 0 0 @@ -11041,7 +11083,7 @@ SOLID 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -11051,27 +11093,27 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +127.380113994 20 --5.125 +-13.2908894707 30 0 11 --12.1022158141 +127.330159835 21 --4.825 +-12.9908894707 31 0 12 --12.0023074963 +127.430068153 22 --4.825 +-12.9908894707 32 0 13 --12.0023074963 +127.430068153 23 --4.825 +-12.9908894707 33 0 0 @@ -11081,7 +11123,7 @@ LINE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -11091,13 +11133,13 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +127.380113994 20 --3.6875 +3.57955526465 11 --12.0522616552 +127.380113994 21 --5.125 +-13.2908894707 0 MTEXT 5 @@ -11105,7 +11147,7 @@ MTEXT 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -11115,21 +11157,21 @@ CONTINUOUS 100 AcDbMText 10 --12.0522616552 +127.380113994 20 --2.6625 +4.60455526465 30 0 40 0.8 41 -2.57777777778 +3.73333333333 71 5 72 1 1 -4.925 +35.7909 7 standard 210 @@ -11151,7 +11193,7 @@ LINE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -11161,13 +11203,13 @@ CONTINUOUS 100 AcDbLine 10 -7.05 +108.500000155 20 --0.2 +22.5 11 --12.3522616552 +127.680113994 21 --0.2 +22.5 0 LINE 5 @@ -11175,7 +11217,7 @@ LINE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -11185,19 +11227,19 @@ CONTINUOUS 100 AcDbLine 10 -2.05 +99.4999998574 20 --5.125 +-13.2908894707 11 --12.3522616552 +127.680113994 21 --5.125 +-13.2908894707 0 ENDBLK 5 -B0 +B6 330 -AE +B4 100 AcDbEntity 8 @@ -11207,9 +11249,9 @@ AcDbBlockEnd 0 BLOCK 5 -B2 +B8 330 -B1 +B7 100 AcDbEntity 8 @@ -11217,7 +11259,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D21 +*D56 70 1 10 @@ -11225,7 +11267,7 @@ AcDbBlockBegin 20 0 3 -*D21 +*D56 1 0 @@ -11245,13 +11287,13 @@ CONTINUOUS 100 AcDbLine 10 -23 +90.216061105 20 -15.8725 +-125.977784531 11 -23 +90.216061105 21 -14.8725 +-124.702784531 0 SOLID 5 @@ -11269,27 +11311,27 @@ CONTINUOUS 100 AcDbTrace 10 -23 +90.216061105 20 -15.8725 +-125.977784531 30 0 11 -23.0499541589 +90.1661069461 21 -15.5725 +-125.677784531 31 0 12 -22.9500458411 +90.2660152639 22 -15.5725 +-125.677784531 32 0 13 -22.9500458411 +90.2660152639 23 -15.5725 +-125.677784531 33 0 0 @@ -11309,31 +11351,31 @@ CONTINUOUS 100 AcDbTrace 10 -23 +90.216061105 20 -14.8725 +-121.377784531 30 0 11 -22.9500458411 +90.2660152639 21 -15.1725 +-121.677784531 31 0 12 -23.0499541589 +90.1661069461 22 -15.1725 +-121.677784531 32 0 13 -23.0499541589 +90.1661069461 23 -15.1725 +-121.677784531 33 0 0 -MTEXT +LINE 5 274 100 @@ -11347,23 +11389,47 @@ CONTINUOUS 370 0 100 +AcDbLine +10 +90.216061105 +20 +-122.652784531 +11 +90.216061105 +21 +-121.377784531 +0 +MTEXT +5 +275 +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 AcDbMText 10 -23 +90.216061105 20 -15.3725 +-123.677784531 30 0 40 0.8 41 -0.177777777778 +1.33333333333 71 5 72 1 1 -1 +4.6 7 standard 210 @@ -11381,7 +11447,7 @@ standard 0 LINE 5 -275 +276 100 AcDbEntity 8 @@ -11395,17 +11461,17 @@ CONTINUOUS 100 AcDbLine 10 -23 +84.9667127669 20 -15.8725 +-125.977784531 11 -23.3 +90.516061105 21 -15.8725 +-125.977784531 0 LINE 5 -276 +277 100 AcDbEntity 8 @@ -11419,19 +11485,19 @@ CONTINUOUS 100 AcDbLine 10 -22 +90.4667127669 20 -14.8725 +-121.377784531 11 -23.3 +90.516061105 21 -14.8725 +-121.377784531 0 ENDBLK 5 -B3 +B9 330 -B1 +B7 100 AcDbEntity 8 @@ -11441,9 +11507,9 @@ AcDbBlockEnd 0 BLOCK 5 -B5 +BB 330 -B4 +BA 100 AcDbEntity 8 @@ -11451,7 +11517,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D69 +*D93 70 1 10 @@ -11459,17 +11525,17 @@ AcDbBlockBegin 20 0 3 -*D69 +*D93 1 0 LINE 5 -277 +278 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11479,21 +11545,21 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +-12.0522616552 20 --91.377784531 +-0.2 11 -185.339708867 +-12.0522616552 21 --89.902784531 +-1.6375 0 SOLID 5 -278 +279 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11503,37 +11569,37 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +-12.0522616552 20 --91.377784531 +-0.2 30 0 11 -185.289754708 +-12.0023074963 21 --91.077784531 +-0.5 31 0 12 -185.389663026 +-12.1022158141 22 --91.077784531 +-0.5 32 0 13 -185.389663026 +-12.1022158141 23 --91.077784531 +-0.5 33 0 0 SOLID 5 -279 +27A 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11543,37 +11609,37 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +-12.0522616552 20 --86.377784531 +-5.125 30 0 11 -185.389663026 +-12.1022158141 21 --86.677784531 +-4.825 31 0 12 -185.289754708 +-12.0023074963 22 --86.677784531 +-4.825 32 0 13 -185.289754708 +-12.0023074963 23 --86.677784531 +-4.825 33 0 0 LINE 5 -27A +27B 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11583,21 +11649,21 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +-12.0522616552 20 --87.852784531 +-3.6875 11 -185.339708867 +-12.0522616552 21 --86.377784531 +-5.125 0 MTEXT 5 -27B +27C 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11607,21 +11673,21 @@ CONTINUOUS 100 AcDbMText 10 -185.339708867 +-12.0522616552 20 --88.877784531 +-2.6625 30 0 40 0.8 41 -0.355555555556 +2.57777777778 71 5 72 1 1 -5 +4.925 7 standard 210 @@ -11639,11 +11705,11 @@ standard 0 LINE 5 -27C +27D 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11653,21 +11719,21 @@ CONTINUOUS 100 AcDbLine 10 -170.966712767 +7.05 20 --91.377784531 +-0.2 11 -185.639708867 +-12.3522616552 21 --91.377784531 +-0.2 0 LINE 5 -27D +27E 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11677,19 +11743,19 @@ CONTINUOUS 100 AcDbLine 10 -175.966712767 +2.05 20 --86.377784531 +-5.125 11 -185.639708867 +-12.3522616552 21 --86.377784531 +-5.125 0 ENDBLK 5 -B6 +BC 330 -B4 +BA 100 AcDbEntity 8 @@ -11699,9 +11765,9 @@ AcDbBlockEnd 0 BLOCK 5 -B8 +BE 330 -B7 +BD 100 AcDbEntity 8 @@ -11709,7 +11775,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D5 +*D99 70 1 10 @@ -11717,17 +11783,17 @@ AcDbBlockBegin 20 0 3 -*D5 +*D99 1 0 LINE 5 -27E +27F 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11737,21 +11803,21 @@ CONTINUOUS 100 AcDbLine 10 --5 +10.95 20 -46.1646667417 +-7.8656865539 11 -8.88611126601 +9.05 21 -46.1646667417 +-7.8656865539 0 SOLID 5 -27F +280 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11761,37 +11827,37 @@ CONTINUOUS 100 AcDbTrace 10 --5 +10.95 20 -46.1646667417 +-7.8656865539 30 0 11 --4.7 +10.65 21 -46.2146209006 +-7.91564071283 31 0 12 --4.7 +10.65 22 -46.1147125828 +-7.81573239497 32 0 13 --4.7 +10.65 23 -46.1147125828 +-7.81573239497 33 0 0 SOLID 5 -280 +281 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11801,61 +11867,37 @@ CONTINUOUS 100 AcDbTrace 10 -25.0000003098 +9.05 20 -46.1646667417 +-7.8656865539 30 0 11 -24.7000003098 +9.35 21 -46.1147125828 +-7.81573239497 31 0 12 -24.7000003098 +9.35 22 -46.2146209006 +-7.91564071283 32 0 13 -24.7000003098 +9.35 23 -46.2146209006 +-7.91564071283 33 0 0 -LINE -5 -281 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.1138890438 -20 -46.1646667417 -11 -25.0000003098 -21 -46.1646667417 -0 MTEXT 5 282 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11865,21 +11907,21 @@ CONTINUOUS 100 AcDbMText 10 -10.0000001549 +10 20 -46.1646667417 +-7.8656865539 30 0 40 0.8 41 -0.977777777778 +1.06666666667 71 5 72 1 1 -30 +1.9 7 standard 210 @@ -11901,7 +11943,7 @@ LINE 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11911,13 +11953,13 @@ CONTINUOUS 100 AcDbLine 10 --5 +10.95 20 -43.1 +-2.2 11 --5 +10.95 21 -46.4646667417 +-8.1656865539 0 LINE 5 @@ -11925,7 +11967,7 @@ LINE 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11935,19 +11977,19 @@ CONTINUOUS 100 AcDbLine 10 -25.0000003098 +9.05 20 -43.0999998752 +-2.2 11 -25.0000003098 +9.05 21 -46.4646667417 +-8.1656865539 0 ENDBLK 5 -B9 +BF 330 -B7 +BD 100 AcDbEntity 8 @@ -11957,9 +11999,9 @@ AcDbBlockEnd 0 BLOCK 5 -BB +C1 330 -BA +C0 100 AcDbEntity 8 @@ -11967,7 +12009,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D33 +*D86 70 1 10 @@ -11975,7 +12017,7 @@ AcDbBlockBegin 20 0 3 -*D33 +*D86 1 0 @@ -11985,7 +12027,7 @@ LINE 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -11995,13 +12037,13 @@ CONTINUOUS 100 AcDbLine 10 -127.380113994 +-12.0522616552 20 -22.5 +46.9999999522 11 -127.380113994 +-12.0522616552 21 -5.62955526465 +44.0249999522 0 SOLID 5 @@ -12009,7 +12051,7 @@ SOLID 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -12019,27 +12061,27 @@ CONTINUOUS 100 AcDbTrace 10 -127.380113994 +-12.0522616552 20 -22.5 +46.9999999522 30 0 11 -127.430068153 +-12.0023074963 21 -22.2 +46.6999999522 31 0 12 -127.330159835 +-12.1022158141 22 -22.2 +46.6999999522 32 0 13 -127.330159835 +-12.1022158141 23 -22.2 +46.6999999522 33 0 0 @@ -12049,7 +12091,7 @@ SOLID 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -12059,27 +12101,27 @@ CONTINUOUS 100 AcDbTrace 10 -127.380113994 +-12.0522616552 20 --13.2908894707 +38.9999999522 30 0 11 -127.330159835 +-12.1022158141 21 --12.9908894707 +39.2999999522 31 0 12 -127.430068153 +-12.0023074963 22 --12.9908894707 +39.2999999522 32 0 13 -127.430068153 +-12.0023074963 23 --12.9908894707 +39.2999999522 33 0 0 @@ -12089,7 +12131,7 @@ LINE 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -12099,13 +12141,13 @@ CONTINUOUS 100 AcDbLine 10 -127.380113994 +-12.0522616552 20 -3.57955526465 +41.9749999522 11 -127.380113994 +-12.0522616552 21 --13.2908894707 +38.9999999522 0 MTEXT 5 @@ -12113,7 +12155,7 @@ MTEXT 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -12123,21 +12165,21 @@ CONTINUOUS 100 AcDbMText 10 -127.380113994 +-12.0522616552 20 -4.60455526465 +42.9999999522 30 0 40 0.8 41 -3.73333333333 +0.355555555556 71 5 72 1 1 -35.7909 +8 7 standard 210 @@ -12159,7 +12201,7 @@ LINE 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -12169,13 +12211,13 @@ CONTINUOUS 100 AcDbLine 10 -108.500000155 +4.50000006244 20 -22.5 +46.9999999522 11 -127.680113994 +-12.3522616552 21 -22.5 +46.9999999522 0 LINE 5 @@ -12183,7 +12225,7 @@ LINE 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -12193,19 +12235,19 @@ CONTINUOUS 100 AcDbLine 10 -99.4999998574 +4.50000002914 20 --13.2908894707 +38.9999999522 11 -127.680113994 +-12.3522616552 21 --13.2908894707 +38.9999999522 0 ENDBLK 5 -BC +C2 330 -BA +C0 100 AcDbEntity 8 @@ -12215,9 +12257,9 @@ AcDbBlockEnd 0 BLOCK 5 -BE +C4 330 -BD +C3 100 AcDbEntity 8 @@ -12225,7 +12267,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D39 +*D58 70 1 10 @@ -12233,7 +12275,7 @@ AcDbBlockBegin 20 0 3 -*D39 +*D58 1 0 @@ -12253,13 +12295,13 @@ CONTINUOUS 100 AcDbLine 10 --26.2473817511 +67.4667127669 20 --68.8175675676 +-60.9097634776 11 --26.2473817511 +68.1639349891 21 --66.3425675676 +-60.9097634776 0 SOLID 5 @@ -12277,27 +12319,27 @@ CONTINUOUS 100 AcDbTrace 10 --26.2473817511 +67.4667127669 20 --68.8175675676 +-60.9097634776 30 0 11 --26.29733591 +67.7667127669 21 --68.5175675676 +-60.8598093187 31 0 12 --26.1974275922 +67.7667127669 22 --68.5175675676 +-60.9597176365 32 0 13 --26.1974275922 +67.7667127669 23 --68.5175675676 +-60.9597176365 33 0 0 @@ -12317,27 +12359,27 @@ CONTINUOUS 100 AcDbTrace 10 --26.2473817511 +70.4667127669 20 --61.8175675676 +-60.9097634776 30 0 11 --26.1974275922 +70.1667127669 21 --62.1175675676 +-60.9597176365 31 0 12 --26.29733591 +70.1667127669 22 --62.1175675676 +-60.8598093187 32 0 13 --26.29733591 +70.1667127669 23 --62.1175675676 +-60.8598093187 33 0 0 @@ -12357,13 +12399,13 @@ CONTINUOUS 100 AcDbLine 10 --26.2473817511 +69.7694905447 20 --64.2925675676 +-60.9097634776 11 --26.2473817511 +70.4667127669 21 --61.8175675676 +-60.9097634776 0 MTEXT 5 @@ -12381,9 +12423,9 @@ CONTINUOUS 100 AcDbMText 10 --26.2473817511 +68.9667127669 20 --65.3175675676 +-60.9097634776 30 0 40 @@ -12395,7 +12437,7 @@ AcDbMText 72 1 1 -7 +3 7 standard 210 @@ -12427,13 +12469,13 @@ CONTINUOUS 100 AcDbLine 10 --15.4594594595 +67.4667127669 20 --68.8175675676 +-61.877784531 11 --26.5473817511 +67.4667127669 21 --68.8175675676 +-60.6097634776 0 LINE 5 @@ -12451,19 +12493,19 @@ CONTINUOUS 100 AcDbLine 10 --15.4594594595 +70.4667127669 20 --61.8175675676 +-61.877784531 11 --26.5473817511 +70.4667127669 21 --61.8175675676 +-60.6097634776 0 ENDBLK 5 -BF +C5 330 -BD +C3 100 AcDbEntity 8 @@ -12473,9 +12515,9 @@ AcDbBlockEnd 0 BLOCK 5 -C1 +C7 330 -C0 +C6 100 AcDbEntity 8 @@ -12483,7 +12525,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D80 +*D26 70 1 10 @@ -12491,7 +12533,7 @@ AcDbBlockBegin 20 0 3 -*D80 +*D26 1 0 @@ -12501,7 +12543,7 @@ LINE 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -12511,13 +12553,13 @@ CONTINUOUS 100 AcDbLine 10 -10 +23 20 -38.8599999008 +5 11 -10 +23 21 -17.8924999504 +3.025 0 SOLID 5 @@ -12525,7 +12567,7 @@ SOLID 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -12535,27 +12577,27 @@ CONTINUOUS 100 AcDbTrace 10 -10 +23 20 -38.8599999008 +5 30 0 11 -10.0499541589 +23.0499541589 21 -38.5599999008 +4.7 31 0 12 -9.95004584107 +22.9500458411 22 -38.5599999008 +4.7 32 0 13 -9.95004584107 +22.9500458411 23 -38.5599999008 +4.7 33 0 0 @@ -12565,7 +12607,7 @@ SOLID 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -12575,27 +12617,27 @@ CONTINUOUS 100 AcDbTrace 10 -10 +23 20 --5.125 +-1 30 0 11 -9.95004584107 +22.9500458411 21 --4.825 +-0.7 31 0 12 -10.0499541589 +23.0499541589 22 --4.825 +-0.7 32 0 13 -10.0499541589 +23.0499541589 23 --4.825 +-0.7 33 0 0 @@ -12605,7 +12647,7 @@ LINE 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -12615,13 +12657,13 @@ CONTINUOUS 100 AcDbLine 10 -10 +23 20 -15.8424999504 +0.975 11 -10 +23 21 --5.125 +-1 0 MTEXT 5 @@ -12629,7 +12671,7 @@ MTEXT 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -12639,21 +12681,21 @@ CONTINUOUS 100 AcDbMText 10 -10 +23 20 -16.8674999504 +2 30 0 40 0.8 41 -3.2 +0.355555555556 71 5 72 1 1 -43.985 +6 7 standard 210 @@ -12675,7 +12717,7 @@ LINE 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -12685,13 +12727,13 @@ CONTINUOUS 100 AcDbLine 10 -21.25 +23.8775 20 -38.8599999008 +5 11 -9.7 +23.3 21 -38.8599999008 +5 0 LINE 5 @@ -12699,7 +12741,7 @@ LINE 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -12709,19 +12751,19 @@ CONTINUOUS 100 AcDbLine 10 -8 +23.8775 20 --5.125 +-1 11 -9.7 +23.3 21 --5.125 +-1 0 ENDBLK 5 -C2 +C8 330 -C0 +C6 100 AcDbEntity 8 @@ -12731,9 +12773,9 @@ AcDbBlockEnd 0 BLOCK 5 -C4 +CA 330 -C3 +C9 100 AcDbEntity 8 @@ -12741,7 +12783,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D88 +*D104 70 1 10 @@ -12749,7 +12791,7 @@ AcDbBlockBegin 20 0 3 -*D88 +*D104 1 0 @@ -12769,13 +12811,13 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +50.125 20 -38.9999999522 +67.8732630054 11 --12.0522616552 +68.9666666667 21 -37.9999999563 +67.8732630054 0 SOLID 5 @@ -12793,27 +12835,27 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +50.125 20 -38.9999999522 +67.8732630054 30 0 11 --12.0023074963 +50.425 21 -38.6999999522 +67.9232171643 31 0 12 --12.1022158141 +50.425 22 -38.6999999522 +67.8233088465 32 0 13 --12.1022158141 +50.425 23 -38.6999999522 +67.8233088465 33 0 0 @@ -12833,31 +12875,31 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +90.125 20 -37.9999999563 +67.8732630054 30 0 11 --12.1022158141 +89.825 21 -38.2999999563 +67.8233088465 31 0 12 --12.0023074963 +89.825 22 -38.2999999563 +67.9232171643 32 0 13 --12.0023074963 +89.825 23 -38.2999999563 +67.9232171643 33 0 0 -MTEXT +LINE 5 29D 100 @@ -12871,23 +12913,47 @@ CONTINUOUS 370 0 100 +AcDbLine +10 +71.2833333333 +20 +67.8732630054 +11 +90.125 +21 +67.8732630054 +0 +MTEXT +5 +29E +100 +AcDbEntity +8 +foot-cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 AcDbMText 10 --12.0522616552 +70.125 20 -38.4999999543 +67.8732630054 30 0 40 0.8 41 -0.177777777778 +1.06666666667 71 5 72 1 1 -1 +40 7 standard 210 @@ -12905,7 +12971,7 @@ standard 0 LINE 5 -29E +29F 100 AcDbEntity 8 @@ -12919,17 +12985,17 @@ CONTINUOUS 100 AcDbLine 10 -4.50000002914 +50.125 20 -38.9999999522 +45.0000003999 11 --12.3522616552 +50.125 21 -38.9999999522 +68.1732630054 0 LINE 5 -29F +2A0 100 AcDbEntity 8 @@ -12943,19 +13009,19 @@ CONTINUOUS 100 AcDbLine 10 -3.50000002498 +90.125 20 -37.9999999563 +56.9999996041 11 --12.3522616552 +90.125 21 -37.9999999563 +68.1732630054 0 ENDBLK 5 -C5 +CB 330 -C3 +C9 100 AcDbEntity 8 @@ -12965,9 +13031,9 @@ AcDbBlockEnd 0 BLOCK 5 -C7 +CD 330 -C6 +CC 100 AcDbEntity 8 @@ -12975,7 +13041,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D95 +*D39 70 1 10 @@ -12983,17 +13049,17 @@ AcDbBlockBegin 20 0 3 -*D95 +*D39 1 0 LINE 5 -2A0 +2A1 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13003,21 +13069,21 @@ CONTINUOUS 100 AcDbLine 10 --16.8097333612 +-26.2473817511 20 -60.9999999688 +-68.8175675676 11 --16.8097333612 +-26.2473817511 21 -28.9624999844 +-66.3425675676 0 SOLID 5 -2A1 +2A2 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13027,37 +13093,37 @@ CONTINUOUS 100 AcDbTrace 10 --16.8097333612 +-26.2473817511 20 -60.9999999688 +-68.8175675676 30 0 11 --16.7597792023 +-26.29733591 21 -60.6999999688 +-68.5175675676 31 0 12 --16.8596875201 +-26.1974275922 22 -60.6999999688 +-68.5175675676 32 0 13 --16.8596875201 +-26.1974275922 23 -60.6999999688 +-68.5175675676 33 0 0 SOLID 5 -2A2 +2A3 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13067,37 +13133,37 @@ CONTINUOUS 100 AcDbTrace 10 --16.8097333612 +-26.2473817511 20 --5.125 +-61.8175675676 30 0 11 --16.8596875201 +-26.1974275922 21 --4.825 +-62.1175675676 31 0 12 --16.7597792023 +-26.29733591 22 --4.825 +-62.1175675676 32 0 13 --16.7597792023 +-26.29733591 23 --4.825 +-62.1175675676 33 0 0 LINE 5 -2A3 +2A4 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13107,21 +13173,21 @@ CONTINUOUS 100 AcDbLine 10 --16.8097333612 +-26.2473817511 20 -26.9124999844 +-64.2925675676 11 --16.8097333612 +-26.2473817511 21 --5.125 +-61.8175675676 0 MTEXT 5 -2A4 +2A5 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13131,21 +13197,21 @@ CONTINUOUS 100 AcDbMText 10 --16.8097333612 +-26.2473817511 20 -27.9374999844 +-65.3175675676 30 0 40 0.8 41 -2.93333333333 +0.355555555556 71 5 72 1 1 -66.125 +7 7 standard 210 @@ -13163,11 +13229,11 @@ standard 0 LINE 5 -2A5 +2A6 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13177,21 +13243,21 @@ CONTINUOUS 100 AcDbLine 10 -0.50000012071 +-15.4594594595 20 -60.9999999688 +-68.8175675676 11 --17.1097333612 +-26.5473817511 21 -60.9999999688 +-68.8175675676 0 LINE 5 -2A6 +2A7 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13201,19 +13267,19 @@ CONTINUOUS 100 AcDbLine 10 -2.05 +-15.4594594595 20 --5.125 +-61.8175675676 11 --17.1097333612 +-26.5473817511 21 --5.125 +-61.8175675676 0 ENDBLK 5 -C8 +CE 330 -C6 +CC 100 AcDbEntity 8 @@ -13223,9 +13289,9 @@ AcDbBlockEnd 0 BLOCK 5 -CA +D0 330 -C9 +CF 100 AcDbEntity 8 @@ -13233,7 +13299,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D91 +*D32 70 1 10 @@ -13241,17 +13307,17 @@ AcDbBlockBegin 20 0 3 -*D91 +*D32 1 0 LINE 5 -2A7 +2A8 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13261,21 +13327,21 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +127.380113994 20 -20.2 +41.0999994219 11 --12.0522616552 +127.380113994 21 -18.3 +39.0749995165 0 SOLID 5 -2A8 +2A9 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13285,37 +13351,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +127.380113994 20 -20.2 +41.0999994219 30 0 11 --12.0023074963 +127.430068153 21 -19.9 +40.7999994219 31 0 12 --12.1022158141 +127.330159835 22 -19.9 +40.7999994219 32 0 13 --12.1022158141 +127.330159835 23 -19.9 +40.7999994219 33 0 0 SOLID 5 -2A9 +2AA 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13325,37 +13391,61 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +127.380113994 20 -18.3 +34.999999611 30 0 11 --12.1022158141 +127.330159835 21 -18.6 +35.299999611 31 0 12 --12.0023074963 +127.430068153 22 -18.6 +35.299999611 32 0 13 --12.0023074963 +127.430068153 23 -18.6 +35.299999611 33 0 0 +LINE +5 +2AB +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +127.380113994 +20 +37.0249995165 +11 +127.380113994 +21 +34.999999611 +0 MTEXT 5 -2AA +2AC 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13365,9 +13455,9 @@ CONTINUOUS 100 AcDbMText 10 --12.0522616552 +127.380113994 20 -19.25 +38.0499995165 30 0 40 @@ -13379,7 +13469,7 @@ AcDbMText 72 1 1 -1.9 +6.1 7 standard 210 @@ -13397,11 +13487,11 @@ standard 0 LINE 5 -2AB +2AD 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13411,21 +13501,21 @@ CONTINUOUS 100 AcDbLine 10 --2.2 +99.5000003098 20 -20.2 +41.0999994219 11 --12.3522616552 +127.680113994 21 -20.2 +41.0999994219 0 LINE 5 -2AC +2AE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13435,19 +13525,19 @@ CONTINUOUS 100 AcDbLine 10 --2.2 +108.500000259 20 -18.3 +34.999999611 11 --12.3522616552 +127.680113994 21 -18.3 +34.999999611 0 ENDBLK 5 -CB +D1 330 -C9 +CF 100 AcDbEntity 8 @@ -13457,9 +13547,9 @@ AcDbBlockEnd 0 BLOCK 5 -CD +D3 330 -CC +D2 100 AcDbEntity 8 @@ -13467,7 +13557,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D72 +*D40 70 1 10 @@ -13475,13 +13565,13 @@ AcDbBlockBegin 20 0 3 -*D72 +*D40 1 0 LINE 5 -2AD +2AF 100 AcDbEntity 8 @@ -13495,17 +13585,17 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +-26.2473817511 20 --67.377784531 +-76.8175675676 11 -185.339708867 +-26.2473817511 21 --66.652784531 +-77.7925675676 0 SOLID 5 -2AE +2B0 100 AcDbEntity 8 @@ -13519,33 +13609,33 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +-26.2473817511 20 --67.377784531 +-76.8175675676 30 0 11 -185.289754708 +-26.1974275922 21 --67.077784531 +-77.1175675676 31 0 12 -185.389663026 +-26.29733591 22 --67.077784531 +-77.1175675676 32 0 13 -185.389663026 +-26.29733591 23 --67.077784531 +-77.1175675676 33 0 0 SOLID 5 -2AF +2B1 100 AcDbEntity 8 @@ -13559,33 +13649,33 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +-26.2473817511 20 --63.877784531 +-80.8175675676 30 0 11 -185.389663026 +-26.29733591 21 --64.177784531 +-80.5175675676 31 0 12 -185.289754708 +-26.1974275922 22 --64.177784531 +-80.5175675676 32 0 13 -185.289754708 +-26.1974275922 23 --64.177784531 +-80.5175675676 33 0 0 LINE 5 -2B0 +2B2 100 AcDbEntity 8 @@ -13599,17 +13689,17 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +-26.2473817511 20 --64.602784531 +-79.8425675676 11 -185.339708867 +-26.2473817511 21 --63.877784531 +-80.8175675676 0 MTEXT 5 -2B1 +2B3 100 AcDbEntity 8 @@ -13623,21 +13713,21 @@ CONTINUOUS 100 AcDbMText 10 -185.339708867 +-26.2473817511 20 --65.627784531 +-78.8175675676 30 0 40 0.8 41 -1.24444444444 +0.444444444444 71 5 72 1 1 -3.5 +4 7 standard 210 @@ -13655,7 +13745,7 @@ standard 0 LINE 5 -2B2 +2B4 100 AcDbEntity 8 @@ -13669,17 +13759,17 @@ CONTINUOUS 100 AcDbLine 10 -170.966712767 +-22.4594594595 20 --67.377784531 +-76.8175675676 11 -185.639708867 +-26.5473817511 21 --67.377784531 +-76.8175675676 0 LINE 5 -2B3 +2B5 100 AcDbEntity 8 @@ -13693,19 +13783,19 @@ CONTINUOUS 100 AcDbLine 10 -181.466712767 +-21.204022106 20 --63.877784531 +-80.8175675676 11 -185.639708867 +-26.5473817511 21 --63.877784531 +-80.8175675676 0 ENDBLK 5 -CE +D4 330 -CC +D2 100 AcDbEntity 8 @@ -13715,9 +13805,9 @@ AcDbBlockEnd 0 BLOCK 5 -D0 +D6 330 -CF +D5 100 AcDbEntity 8 @@ -13725,7 +13815,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D92 +*D23 70 1 10 @@ -13733,17 +13823,17 @@ AcDbBlockBegin 20 0 3 -*D92 +*D23 1 0 LINE 5 -2B4 +2B6 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13753,21 +13843,21 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +23 20 -18.3 +11.8725 11 --12.0522616552 +23 21 -16.825 +10.8725 0 SOLID 5 -2B5 +2B7 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13777,37 +13867,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +23 20 -18.3 +11.8725 30 0 11 --12.0023074963 +23.0499541589 21 -18 +11.5725 31 0 12 --12.1022158141 +22.9500458411 22 -18 +11.5725 32 0 13 --12.1022158141 +22.9500458411 23 -18 +11.5725 33 0 0 SOLID 5 -2B6 +2B8 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13817,61 +13907,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +23 20 -13.3 +10.8725 30 0 11 --12.1022158141 +22.9500458411 21 -13.6 +11.1725 31 0 12 --12.0023074963 +23.0499541589 22 -13.6 +11.1725 32 0 13 --12.0023074963 +23.0499541589 23 -13.6 +11.1725 33 0 0 -LINE -5 -2B7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -14.775 -11 --12.0522616552 -21 -13.3 -0 MTEXT 5 -2B8 +2B9 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13881,21 +13947,21 @@ CONTINUOUS 100 AcDbMText 10 --12.0522616552 +23 20 -15.8 +11.3725 30 0 40 0.8 41 -0.355555555556 +0.177777777778 71 5 72 1 1 -5 +1 7 standard 210 @@ -13913,11 +13979,11 @@ standard 0 LINE 5 -2B9 +2BA 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13927,21 +13993,21 @@ CONTINUOUS 100 AcDbLine 10 --2.2 +22 20 -18.3 +11.8725 11 --12.3522616552 +23.3 21 -18.3 +11.8725 0 LINE 5 -2BA +2BB 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -13951,19 +14017,19 @@ CONTINUOUS 100 AcDbLine 10 --7.125 +23 20 -13.3 +10.8725 11 --12.3522616552 +23.3 21 -13.3 +10.8725 0 ENDBLK 5 -D1 +D7 330 -CF +D5 100 AcDbEntity 8 @@ -13973,9 +14039,9 @@ AcDbBlockEnd 0 BLOCK 5 -D3 +D9 330 -D2 +D8 100 AcDbEntity 8 @@ -13983,7 +14049,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D23 +*D72 70 1 10 @@ -13991,13 +14057,13 @@ AcDbBlockBegin 20 0 3 -*D23 +*D72 1 0 LINE 5 -2BB +2BC 100 AcDbEntity 8 @@ -14011,17 +14077,17 @@ CONTINUOUS 100 AcDbLine 10 -23 +72.9667127669 20 -11.8725 +-96.377784531 11 -23 +76.9417127669 21 -10.8725 +-96.377784531 0 SOLID 5 -2BC +2BD 100 AcDbEntity 8 @@ -14035,33 +14101,33 @@ CONTINUOUS 100 AcDbTrace 10 -23 +72.9667127669 20 -11.8725 +-96.377784531 30 0 11 -23.0499541589 +73.2667127669 21 -11.5725 +-96.3278303721 31 0 12 -22.9500458411 +73.2667127669 22 -11.5725 +-96.4277386899 32 0 13 -22.9500458411 +73.2667127669 23 -11.5725 +-96.4277386899 33 0 0 SOLID 5 -2BD +2BE 100 AcDbEntity 8 @@ -14075,33 +14141,57 @@ CONTINUOUS 100 AcDbTrace 10 -23 +82.9667127669 20 -10.8725 +-96.377784531 30 0 11 -22.9500458411 +82.6667127669 21 -11.1725 +-96.4277386899 31 0 12 -23.0499541589 +82.6667127669 22 -11.1725 +-96.3278303721 32 0 13 -23.0499541589 +82.6667127669 23 -11.1725 +-96.3278303721 33 0 0 +LINE +5 +2BF +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +78.9917127669 +20 +-96.377784531 +11 +82.9667127669 +21 +-96.377784531 +0 MTEXT 5 -2BE +2C0 100 AcDbEntity 8 @@ -14115,21 +14205,21 @@ CONTINUOUS 100 AcDbMText 10 -23 +77.9667127669 20 -11.3725 +-96.377784531 30 0 40 0.8 41 -0.177777777778 +0.8 71 5 72 1 1 -1 +10 7 standard 210 @@ -14147,7 +14237,7 @@ standard 0 LINE 5 -2BF +2C1 100 AcDbEntity 8 @@ -14161,17 +14251,17 @@ CONTINUOUS 100 AcDbLine 10 -22 +72.9667127669 20 -11.8725 +-94.377784531 11 -23.3 +72.9667127669 21 -11.8725 +-96.077784531 0 LINE 5 -2C0 +2C2 100 AcDbEntity 8 @@ -14185,19 +14275,19 @@ CONTINUOUS 100 AcDbLine 10 -23 +82.9667127669 20 -10.8725 +-94.377784531 11 -23.3 +82.9667127669 21 -10.8725 +-96.077784531 0 ENDBLK 5 -D4 +DA 330 -D2 +D8 100 AcDbEntity 8 @@ -14207,9 +14297,9 @@ AcDbBlockEnd 0 BLOCK 5 -D6 +DC 330 -D5 +DB 100 AcDbEntity 8 @@ -14217,7 +14307,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D45 +*D85 70 1 10 @@ -14225,17 +14315,17 @@ AcDbBlockBegin 20 0 3 -*D45 +*D85 1 0 LINE 5 -2C1 +2C3 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -14245,21 +14335,21 @@ CONTINUOUS 100 AcDbLine 10 -18 +-12.0522616552 20 -41.1 +47.9999999563 11 -20.6972223771 +-12.0522616552 21 -41.1 +46.9999999522 0 SOLID 5 -2C2 +2C4 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -14269,37 +14359,37 @@ CONTINUOUS 100 AcDbTrace 10 -18 +-12.0522616552 20 -41.1 +47.9999999563 30 0 11 -18.3 +-12.0023074963 21 -41.1499541589 +47.6999999563 31 0 12 -18.3 +-12.1022158141 22 -41.0500458411 +47.6999999563 32 0 13 -18.3 +-12.1022158141 23 -41.0500458411 +47.6999999563 33 0 0 SOLID 5 -2C3 +2C5 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -14309,61 +14399,37 @@ CONTINUOUS 100 AcDbTrace 10 -25.0000003098 +-12.0522616552 20 -41.1 +46.9999999522 30 0 11 -24.7000003098 +-12.1022158141 21 -41.0500458411 +47.2999999522 31 0 12 -24.7000003098 +-12.0023074963 22 -41.1499541589 +47.2999999522 32 0 13 -24.7000003098 +-12.0023074963 23 -41.1499541589 +47.2999999522 33 0 0 -LINE -5 -2C4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22.3027779327 -20 -41.1 -11 -25.0000003098 -21 -41.1 -0 MTEXT 5 -2C5 +2C6 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -14373,21 +14439,21 @@ CONTINUOUS 100 AcDbMText 10 -21.5000001549 +-12.0522616552 20 -42.125 +47.4999999543 30 0 40 0.8 41 -0.355555555556 +0.177777777778 71 5 72 1 1 -7 +1 7 standard 210 @@ -14405,11 +14471,11 @@ standard 0 LINE 5 -2C6 +2C7 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -14419,21 +14485,21 @@ CONTINUOUS 100 AcDbLine 10 -18 +3.5000000666 20 -36.9999999147 +47.9999999563 11 -18 +-12.3522616552 21 -41.4 +47.9999999563 0 LINE 5 -2C7 +2C8 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -14443,19 +14509,19 @@ CONTINUOUS 100 AcDbLine 10 -25.0000003098 +4.50000006244 20 -43.0999998752 +46.9999999522 11 -25.0000003098 +-12.3522616552 21 -41.4 +46.9999999522 0 ENDBLK 5 -D7 +DD 330 -D5 +DB 100 AcDbEntity 8 @@ -14465,9 +14531,9 @@ AcDbBlockEnd 0 BLOCK 5 -D9 +DF 330 -D8 +DE 100 AcDbEntity 8 @@ -14475,7 +14541,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D16 +*D59 70 1 10 @@ -14483,13 +14549,13 @@ AcDbBlockBegin 20 0 3 -*D16 +*D59 1 0 LINE 5 -2C8 +2C9 100 AcDbEntity 8 @@ -14503,17 +14569,17 @@ CONTINUOUS 100 AcDbLine 10 -15 +70.4667127669 20 -9.6225 +-60.9097634776 11 -17.1972222222 +72.9694905447 21 -9.6225 +-60.9097634776 0 SOLID 5 -2C9 +2CA 100 AcDbEntity 8 @@ -14527,33 +14593,33 @@ CONTINUOUS 100 AcDbTrace 10 -15 +70.4667127669 20 -9.6225 +-60.9097634776 30 0 11 -15.3 +70.7667127669 21 -9.67245415893 +-60.8598093187 31 0 12 -15.3 +70.7667127669 22 -9.57254584107 +-60.9597176365 32 0 13 -15.3 +70.7667127669 23 -9.57254584107 +-60.9597176365 33 0 0 SOLID 5 -2CA +2CB 100 AcDbEntity 8 @@ -14567,33 +14633,33 @@ CONTINUOUS 100 AcDbTrace 10 -21 +77.9667127669 20 -9.6225 +-60.9097634776 30 0 11 -20.7 +77.6667127669 21 -9.57254584107 +-60.9597176365 31 0 12 -20.7 +77.6667127669 22 -9.67245415893 +-60.8598093187 32 0 13 -20.7 +77.6667127669 23 -9.67245415893 +-60.8598093187 33 0 0 LINE 5 -2CB +2CC 100 AcDbEntity 8 @@ -14607,17 +14673,17 @@ CONTINUOUS 100 AcDbLine 10 -18.8027777778 +75.4639349891 20 -9.6225 +-60.9097634776 11 +77.9667127669 21 -21 -9.6225 +-60.9097634776 0 MTEXT 5 -2CC +2CD 100 AcDbEntity 8 @@ -14631,21 +14697,21 @@ CONTINUOUS 100 AcDbMText 10 -18 +74.2167127669 20 -9.6225 +-60.9097634776 30 0 40 0.8 41 -0.355555555556 +1.24444444444 71 5 72 1 1 -6 +7.5 7 standard 210 @@ -14663,7 +14729,7 @@ standard 0 LINE 5 -2CD +2CE 100 AcDbEntity 8 @@ -14677,17 +14743,17 @@ CONTINUOUS 100 AcDbLine 10 -15 +70.4667127669 20 -7.6225 +-61.877784531 11 -15 +70.4667127669 21 -9.3225 +-60.6097634776 0 LINE 5 -2CE +2CF 100 AcDbEntity 8 @@ -14701,19 +14767,19 @@ CONTINUOUS 100 AcDbLine 10 -21 +77.9667127669 20 -8.8725 +-65.377784531 11 +77.9667127669 21 -21 -9.3225 +-60.6097634776 0 ENDBLK 5 -DA +E0 330 -D8 +DE 100 AcDbEntity 8 @@ -14723,9 +14789,9 @@ AcDbBlockEnd 0 BLOCK 5 -DC +E2 330 -DB +E1 100 AcDbEntity 8 @@ -14733,7 +14799,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D86 +*D15 70 1 10 @@ -14741,17 +14807,17 @@ AcDbBlockBegin 20 0 3 -*D86 +*D15 1 0 LINE 5 -2CF +2D0 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -14761,21 +14827,21 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +16 20 -47.9999999563 +13.3725 11 --12.0522616552 +17.1527777778 21 -46.9999999522 +13.3725 0 SOLID 5 -2D0 +2D1 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -14785,37 +14851,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +16 20 -47.9999999563 +13.3725 30 0 11 --12.0023074963 +16.3 21 -47.6999999563 +13.4224541589 31 0 12 --12.1022158141 +16.3 22 -47.6999999563 +13.3225458411 32 0 13 --12.1022158141 +16.3 23 -47.6999999563 +13.3225458411 33 0 0 SOLID 5 -2D1 +2D2 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -14825,37 +14891,61 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 20 -46.9999999522 +20 +13.3725 30 0 11 --12.1022158141 +19.7 21 -47.2999999522 +13.3225458411 31 0 12 --12.0023074963 +19.7 22 -47.2999999522 +13.4224541589 32 0 13 --12.0023074963 +19.7 23 -47.2999999522 +13.4224541589 33 0 0 +LINE +5 +2D3 +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +18.8472222222 +20 +13.3725 +11 +20 +21 +13.3725 +0 MTEXT 5 -2D2 +2D4 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -14865,21 +14955,21 @@ CONTINUOUS 100 AcDbMText 10 --12.0522616552 +18 20 -47.4999999543 +13.3725 30 0 40 0.8 41 -0.177777777778 +0.444444444444 71 5 72 1 1 -1 +4 7 standard 210 @@ -14897,11 +14987,11 @@ standard 0 LINE 5 -2D3 +2D5 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -14911,21 +15001,21 @@ CONTINUOUS 100 AcDbLine 10 -3.5000000666 +16 20 -47.9999999563 +15.3725 11 --12.3522616552 +16 21 -47.9999999563 +13.6725 0 LINE 5 -2D4 +2D6 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -14935,19 +15025,19 @@ CONTINUOUS 100 AcDbLine 10 -4.50000006244 20 -46.9999999522 +20 +15.3725 11 --12.3522616552 +20 21 -46.9999999522 +13.6725 0 ENDBLK 5 -DD +E3 330 -DB +E1 100 AcDbEntity 8 @@ -14957,9 +15047,9 @@ AcDbBlockEnd 0 BLOCK 5 -DF +E5 330 -DE +E4 100 AcDbEntity 8 @@ -14967,7 +15057,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D28 +*D83 70 1 10 @@ -14975,17 +15065,17 @@ AcDbBlockBegin 20 0 3 -*D28 +*D83 1 0 LINE 5 -2D5 +2D7 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -14995,21 +15085,21 @@ CONTINUOUS 100 AcDbLine 10 -121.702603419 +-12.0522616552 20 -37.5999997047 +60.9999999688 11 -121.702603419 +-12.0522616552 21 -32.3568747981 +59.0249999688 0 SOLID 5 -2D6 +2D8 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15019,37 +15109,37 @@ CONTINUOUS 100 AcDbTrace 10 -121.702603419 +-12.0522616552 20 -37.5999997047 +60.9999999688 30 0 11 -121.752557578 +-12.0023074963 21 -37.2999997047 +60.6999999688 31 0 12 -121.65264926 +-12.1022158141 22 -37.2999997047 +60.6999999688 32 0 13 -121.65264926 +-12.1022158141 23 -37.2999997047 +60.6999999688 33 0 0 SOLID 5 -2D7 +2D9 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15059,37 +15149,37 @@ CONTINUOUS 100 AcDbTrace 10 -121.702603419 +-12.0522616552 20 -25.0637498916 +54.9999999688 30 0 11 -121.65264926 +-12.1022158141 21 -25.3637498916 +55.2999999688 31 0 12 -121.752557578 +-12.0023074963 22 -25.3637498916 +55.2999999688 32 0 13 -121.752557578 +-12.0023074963 23 -25.3637498916 +55.2999999688 33 0 0 LINE 5 -2D8 +2DA 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15099,21 +15189,21 @@ CONTINUOUS 100 AcDbLine 10 -121.702603419 +-12.0522616552 20 -30.3068747981 +56.9749999688 11 -121.702603419 +-12.0522616552 21 -25.0637498916 +54.9999999688 0 MTEXT 5 -2D9 +2DB 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15123,21 +15213,21 @@ CONTINUOUS 100 AcDbMText 10 -121.702603419 +-12.0522616552 20 -31.3318747981 +57.9999999688 30 0 40 0.8 41 -3.55555555556 +0.355555555556 71 5 72 1 1 -12.5362 +6 7 standard 210 @@ -15155,11 +15245,11 @@ standard 0 LINE 5 -2DA +2DC 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15169,21 +15259,21 @@ CONTINUOUS 100 AcDbLine 10 -94.5000003098 +0.50000012071 20 -37.5999997047 +60.9999999688 11 -122.002603419 +-12.3522616552 21 -37.5999997047 +60.9999999688 0 LINE 5 -2DB +2DD 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15193,19 +15283,19 @@ CONTINUOUS 100 AcDbLine 10 -104.500000241 +0.50000009574 20 -25.0637498916 +54.9999999688 11 -122.002603419 +-12.3522616552 21 -25.0637498916 +54.9999999688 0 ENDBLK 5 -E0 +E6 330 -DE +E4 100 AcDbEntity 8 @@ -15215,9 +15305,9 @@ AcDbBlockEnd 0 BLOCK 5 -E2 +E8 330 -E1 +E7 100 AcDbEntity 8 @@ -15225,7 +15315,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D31 +*D73 70 1 10 @@ -15233,13 +15323,13 @@ AcDbBlockBegin 20 0 3 -*D31 +*D73 1 0 LINE 5 -2DC +2DE 100 AcDbEntity 8 @@ -15253,17 +15343,17 @@ CONTINUOUS 100 AcDbLine 10 -121.702603419 +88.4667127669 20 --11.0264554944 +-76.6108771873 11 -121.702603419 +88.4667127669 21 --11.1336724825 +-85.4693308592 0 SOLID 5 -2DD +2DF 100 AcDbEntity 8 @@ -15277,33 +15367,33 @@ CONTINUOUS 100 AcDbTrace 10 -121.702603419 +88.4667127669 20 --11.0264554944 +-76.6108771873 30 0 11 -121.752557578 +88.5166669258 21 --11.3264554944 +-76.9108771873 31 0 12 -121.65264926 +88.416758608 22 --11.3264554944 +-76.9108771873 32 0 13 -121.65264926 +88.416758608 23 --11.3264554944 +-76.9108771873 33 0 0 SOLID 5 -2DE +2E0 100 AcDbEntity 8 @@ -15317,33 +15407,33 @@ CONTINUOUS 100 AcDbTrace 10 -121.702603419 +88.4667127669 20 --13.2908894707 +-96.377784531 30 0 11 -121.65264926 +88.416758608 21 --12.9908894707 +-96.077784531 31 0 12 -121.752557578 +88.5166669258 22 --12.9908894707 +-96.077784531 32 0 13 -121.752557578 +88.5166669258 23 --12.9908894707 +-96.077784531 33 0 0 LINE 5 -2DF +2E1 100 AcDbEntity 8 @@ -15357,17 +15447,17 @@ CONTINUOUS 100 AcDbLine 10 -121.702603419 +88.4667127669 20 --13.1836724825 +-87.5193308592 11 -121.702603419 +88.4667127669 21 --13.2908894707 +-96.377784531 0 MTEXT 5 -2E0 +2E2 100 AcDbEntity 8 @@ -15381,21 +15471,21 @@ CONTINUOUS 100 AcDbMText 10 -125.104264852 +88.4667127669 20 --12.1586724825 +-86.4943308592 30 0 40 0.8 41 -3.28888888889 +3.55555555556 71 5 72 1 1 -2.2644 +19.7669 7 standard 210 @@ -15413,7 +15503,7 @@ standard 0 LINE 5 -2E1 +2E3 100 AcDbEntity 8 @@ -15427,17 +15517,17 @@ CONTINUOUS 100 AcDbLine 10 -94.5000001003 +84.9667127669 20 --11.0264554944 +-76.6108771873 11 -122.002603419 +88.7667127669 21 --11.0264554944 +-76.6108771873 0 LINE 5 -2E2 +2E4 100 AcDbEntity 8 @@ -15451,19 +15541,19 @@ CONTINUOUS 100 AcDbLine 10 -99.4999998574 +84.9667127669 20 --13.2908894707 +-96.377784531 11 -122.002603419 +88.7667127669 21 --13.2908894707 +-96.377784531 0 ENDBLK 5 -E3 +E9 330 -E1 +E7 100 AcDbEntity 8 @@ -15473,9 +15563,9 @@ AcDbBlockEnd 0 BLOCK 5 -E5 +EB 330 -E4 +EA 100 AcDbEntity 8 @@ -15483,7 +15573,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D13 +*D82 70 1 10 @@ -15491,17 +15581,17 @@ AcDbBlockBegin 20 0 3 -*D13 +*D82 1 0 LINE 5 -2E3 +2E5 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15511,21 +15601,21 @@ CONTINUOUS 100 AcDbLine 10 --5 +-7.29478994918 20 -38.05 +42.9999999522 11 --5.00277777778 +-7.29478994918 21 -38.05 +19.9624999761 0 SOLID 5 -2E4 +2E6 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15535,37 +15625,37 @@ CONTINUOUS 100 AcDbTrace 10 --5 +-7.29478994918 20 -38.05 +42.9999999522 30 0 11 --5.3 +-7.24483579025 21 -38.0000458411 +42.6999999522 31 0 12 --5.3 +-7.34474410811 22 -38.0999541589 +42.6999999522 32 0 13 --5.3 +-7.34474410811 23 -38.0999541589 +42.6999999522 33 0 0 SOLID 5 -2E5 +2E7 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15575,37 +15665,37 @@ CONTINUOUS 100 AcDbTrace 10 --7.5 +-7.29478994918 20 -38.05 +-5.125 30 0 11 --7.2 +-7.34474410811 21 -38.0999541589 +-4.825 31 0 12 --7.2 +-7.24483579025 22 -38.0000458411 +-4.825 32 0 13 --7.2 +-7.24483579025 23 -38.0000458411 +-4.825 33 0 0 LINE 5 -2E6 +2E8 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15615,21 +15705,21 @@ CONTINUOUS 100 AcDbLine 10 --7.49722222222 +-7.29478994918 20 -38.05 +17.9124999761 11 --7.5 +-7.29478994918 21 -38.05 +-5.125 0 MTEXT 5 -2E7 +2E9 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15639,21 +15729,21 @@ CONTINUOUS 100 AcDbMText 10 --6.25 +-7.29478994918 20 -38.05 +18.9374999761 30 0 40 0.8 41 -1.24444444444 +3.02222222222 71 5 72 1 1 -2.5 +48.125 7 standard 210 @@ -15671,11 +15761,11 @@ standard 0 LINE 5 -2E8 +2EA 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15685,21 +15775,21 @@ CONTINUOUS 100 AcDbLine 10 --5 +4.50000004579 20 -39.1 +42.9999999522 11 --5 +-7.59478994918 21 -37.75 +42.9999999522 0 LINE 5 -2E9 +2EB 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -15709,19 +15799,19 @@ CONTINUOUS 100 AcDbLine 10 --7.5 +2.05 20 -39.1 +-5.125 11 --7.5 +-7.59478994918 21 -37.75 +-5.125 0 ENDBLK 5 -E6 +EC 330 -E4 +EA 100 AcDbEntity 8 @@ -15731,9 +15821,9 @@ AcDbBlockEnd 0 BLOCK 5 -E8 +EE 330 -E7 +ED 100 AcDbEntity 8 @@ -15741,7 +15831,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D102 +*D22 70 1 10 @@ -15749,17 +15839,17 @@ AcDbBlockBegin 20 0 3 -*D102 +*D22 1 0 LINE 5 -2EA +2EC 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -15769,21 +15859,21 @@ CONTINUOUS 100 AcDbLine 10 -54.1249998732 +23 20 -63.7501208602 +14.8725 11 -61.0999999366 +23 21 -63.7501208602 +14.3975 0 SOLID 5 -2EB +2ED 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -15793,37 +15883,37 @@ CONTINUOUS 100 AcDbTrace 10 -54.1249998732 +23 20 -63.7501208602 +14.8725 30 0 11 -54.4249998732 +23.0499541589 21 -63.8000750191 +14.5725 31 0 12 -54.4249998732 +22.9500458411 22 -63.7001667013 +14.5725 32 0 13 -54.4249998732 +22.9500458411 23 -63.7001667013 +14.5725 33 0 0 SOLID 5 -2EC +2EE 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -15833,37 +15923,37 @@ CONTINUOUS 100 AcDbTrace 10 -70.125 +23 20 -63.7501208602 +11.8725 30 0 11 -69.825 +22.9500458411 21 -63.7001667013 +12.1725 31 0 12 -69.825 +23.0499541589 22 -63.8000750191 +12.1725 32 0 13 -69.825 +23.0499541589 23 -63.8000750191 +12.1725 33 0 0 LINE 5 -2ED +2EF 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -15873,21 +15963,21 @@ CONTINUOUS 100 AcDbLine 10 -63.1499999366 +23 20 -63.7501208602 +12.3475 11 -70.125 +23 21 -63.7501208602 +11.8725 0 MTEXT 5 -2EE +2F0 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -15897,21 +15987,21 @@ CONTINUOUS 100 AcDbMText 10 -62.1249999366 +23 20 -63.7501208602 +13.3725 30 0 40 0.8 41 -0.8 +0.355555555556 71 5 72 1 1 -16 +3 7 standard 210 @@ -15929,11 +16019,11 @@ standard 0 LINE 5 -2EF +2F1 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -15943,21 +16033,21 @@ CONTINUOUS 100 AcDbLine 10 -54.1249998732 +22 20 -56.9999997539 +14.8725 11 -54.1249998732 +23.3 21 -64.0501208602 +14.8725 0 LINE 5 -2F0 +2F2 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -15967,19 +16057,19 @@ CONTINUOUS 100 AcDbLine 10 -70.125 +22 20 -44.999999923 +11.8725 11 -70.125 +23.3 21 -64.0501208602 +11.8725 0 ENDBLK 5 -E9 +EF 330 -E7 +ED 100 AcDbEntity 8 @@ -15989,9 +16079,9 @@ AcDbBlockEnd 0 BLOCK 5 -EB +F1 330 -EA +F0 100 AcDbEntity 8 @@ -15999,7 +16089,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D104 +*D80 70 1 10 @@ -16007,17 +16097,17 @@ AcDbBlockBegin 20 0 3 -*D104 +*D80 1 0 LINE 5 -2F1 +2F3 100 AcDbEntity 8 -foot-cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -16027,21 +16117,21 @@ CONTINUOUS 100 AcDbLine 10 -86.125 +-77.675 20 -63.7501208602 +51.3599999008 11 -87.2777777903 +-69.1291666667 21 -63.7501208602 +51.3599999008 0 SOLID 5 -2F2 +2F4 100 AcDbEntity 8 -foot-cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -16051,37 +16141,37 @@ CONTINUOUS 100 AcDbTrace 10 -86.125 +-77.675 20 -63.7501208602 +51.3599999008 30 0 11 -86.425 +-77.375 21 -63.8000750191 +51.4099540597 31 0 12 -86.425 +-77.375 22 -63.7001667013 +51.3100457419 32 0 13 -86.425 +-77.375 23 -63.7001667013 +51.3100457419 33 0 0 SOLID 5 -2F3 +2F5 100 AcDbEntity 8 -foot-cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -16091,37 +16181,37 @@ CONTINUOUS 100 AcDbTrace 10 -90.125000025 +-56.4 20 -63.7501208602 +51.3599999008 30 0 11 -89.825000025 +-56.7 21 -63.7001667013 +51.3100457419 31 0 12 -89.825000025 +-56.7 22 -63.8000750191 +51.4099540597 32 0 13 -89.825000025 +-56.7 23 -63.8000750191 +51.4099540597 33 0 0 LINE 5 -2F4 +2F6 100 AcDbEntity 8 -foot-cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -16131,21 +16221,21 @@ CONTINUOUS 100 AcDbLine 10 -88.9722222347 +-64.9458333333 20 -63.7501208602 +51.3599999008 11 -90.125000025 +-56.4 21 -63.7501208602 +51.3599999008 0 MTEXT 5 -2F5 +2F7 100 AcDbEntity 8 -foot-cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -16155,21 +16245,21 @@ CONTINUOUS 100 AcDbMText 10 -88.1250000125 +-67.0375 20 -63.7501208602 +51.3599999008 30 0 40 0.8 41 -0.444444444444 +2.93333333333 71 5 72 1 1 -4 +21.275 7 standard 210 @@ -16187,11 +16277,11 @@ standard 0 LINE 5 -2F6 +2F8 100 AcDbEntity 8 -foot-cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -16201,21 +16291,21 @@ CONTINUOUS 100 AcDbLine 10 -86.125 +-77.675 20 -62.9999996207 +26.5549999504 11 -86.125 +-77.675 21 -64.0501208602 +51.6599999008 0 LINE 5 -2F7 +2F9 100 AcDbEntity 8 -foot-cotes +Top-fix-mesures-ortho 6 CONTINUOUS 62 @@ -16225,19 +16315,19 @@ CONTINUOUS 100 AcDbLine 10 -90.125000025 +-56.4 20 -62.9999996041 +53.3599999008 11 -90.125000025 +-56.4 21 -64.0501208602 +51.6599999008 0 ENDBLK 5 -EC +F2 330 -EA +F0 100 AcDbEntity 8 @@ -16247,9 +16337,9 @@ AcDbBlockEnd 0 BLOCK 5 -EE +F4 330 -ED +F3 100 AcDbEntity 8 @@ -16257,7 +16347,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D51 +*D65 70 1 10 @@ -16265,13 +16355,13 @@ AcDbBlockBegin 20 0 3 -*D51 +*D65 1 0 LINE 5 -2F8 +2FA 100 AcDbEntity 8 @@ -16285,17 +16375,17 @@ CONTINUOUS 100 AcDbLine 10 -50.0719282636 +123.466712767 20 -70.4462495497 +-60.9097634776 11 -50.0719282636 +124.4750461 21 -73.4462495497 +-60.9097634776 0 SOLID 5 -2F9 +2FB 100 AcDbEntity 8 @@ -16309,33 +16399,33 @@ CONTINUOUS 100 AcDbTrace 10 -50.0719282636 +123.466712767 20 -70.4462495497 +-60.9097634776 30 0 11 -50.0219741047 +123.766712767 21 -70.7462495497 +-60.8598093187 31 0 12 -50.1218824225 +123.766712767 22 -70.7462495497 +-60.9597176365 32 0 13 -50.1218824225 +123.766712767 23 -70.7462495497 +-60.9597176365 33 0 0 SOLID 5 -2FA +2FC 100 AcDbEntity 8 @@ -16349,33 +16439,57 @@ CONTINUOUS 100 AcDbTrace 10 -50.0719282636 +128.066712767 20 -73.4462495497 +-60.9097634776 30 0 11 -50.1218824225 +127.766712767 21 -73.1462495497 +-60.9597176365 31 0 12 -50.0219741047 +127.766712767 22 -73.1462495497 +-60.8598093187 32 0 13 -50.0219741047 +127.766712767 23 -73.1462495497 +-60.8598093187 33 0 0 +LINE +5 +2FD +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +127.058379434 +20 +-60.9097634776 +11 +128.066712767 +21 +-60.9097634776 +0 MTEXT 5 -2FB +2FE 100 AcDbEntity 8 @@ -16389,21 +16503,21 @@ CONTINUOUS 100 AcDbMText 10 -49.0469282636 +125.766712767 20 -71.9462495497 +-60.9097634776 30 0 40 0.8 41 -0.355555555556 +1.33333333333 71 5 72 1 1 -3 +4.6 7 standard 210 @@ -16421,7 +16535,7 @@ standard 0 LINE 5 -2FC +2FF 100 AcDbEntity 8 @@ -16435,17 +16549,17 @@ CONTINUOUS 100 AcDbLine 10 -18 +123.466712767 20 -70.4462495497 +-61.877784531 11 -50.3719282636 +123.466712767 21 -70.4462495497 +-60.6097634776 0 LINE 5 -2FD +300 100 AcDbEntity 8 @@ -16459,19 +16573,19 @@ CONTINUOUS 100 AcDbLine 10 -18 +128.066712767 20 -73.4462495497 +-84.377784531 11 -50.3719282636 +128.066712767 21 -73.4462495497 +-60.6097634776 0 ENDBLK 5 -EF +F5 330 -ED +F3 100 AcDbEntity 8 @@ -16481,9 +16595,9 @@ AcDbBlockEnd 0 BLOCK 5 -F1 +F7 330 -F0 +F6 100 AcDbEntity 8 @@ -16491,7 +16605,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D62 +*D13 70 1 10 @@ -16499,13 +16613,13 @@ AcDbBlockBegin 20 0 3 -*D62 +*D13 1 0 LINE 5 -2FE +301 100 AcDbEntity 8 @@ -16519,17 +16633,17 @@ CONTINUOUS 100 AcDbLine 10 -85.4667127669 +-5 20 --60.9097634776 +38.05 11 -86.1639349891 +-5.00277777778 21 --60.9097634776 +38.05 0 SOLID 5 -2FF +302 100 AcDbEntity 8 @@ -16543,33 +16657,33 @@ CONTINUOUS 100 AcDbTrace 10 -85.4667127669 +-5 20 --60.9097634776 +38.05 30 0 11 -85.7667127669 +-5.3 21 --60.8598093187 +38.0000458411 31 0 12 -85.7667127669 +-5.3 22 --60.9597176365 +38.0999541589 32 0 13 -85.7667127669 +-5.3 23 --60.9597176365 +38.0999541589 33 0 0 SOLID 5 -300 +303 100 AcDbEntity 8 @@ -16583,33 +16697,33 @@ CONTINUOUS 100 AcDbTrace 10 -88.4667127669 +-7.5 20 --60.9097634776 +38.05 30 0 11 -88.1667127669 +-7.2 21 --60.9597176365 +38.0999541589 31 0 12 -88.1667127669 +-7.2 22 --60.8598093187 +38.0000458411 32 0 13 -88.1667127669 +-7.2 23 --60.8598093187 +38.0000458411 33 0 0 LINE 5 -301 +304 100 AcDbEntity 8 @@ -16623,17 +16737,17 @@ CONTINUOUS 100 AcDbLine 10 -87.7694905447 +-7.49722222222 20 --60.9097634776 +38.05 11 -88.4667127669 +-7.5 21 --60.9097634776 +38.05 0 MTEXT 5 -302 +305 100 AcDbEntity 8 @@ -16647,21 +16761,21 @@ CONTINUOUS 100 AcDbMText 10 -86.9667127669 +-6.25 20 --60.9097634776 +38.05 30 0 40 0.8 41 -0.355555555556 +1.24444444444 71 5 72 1 1 -3 +2.5 7 standard 210 @@ -16679,7 +16793,7 @@ standard 0 LINE 5 -303 +306 100 AcDbEntity 8 @@ -16693,17 +16807,17 @@ CONTINUOUS 100 AcDbLine 10 -85.4667127669 +-5 20 --61.877784531 +39.1 11 -85.4667127669 +-5 21 --60.6097634776 +37.75 0 LINE 5 -304 +307 100 AcDbEntity 8 @@ -16717,19 +16831,19 @@ CONTINUOUS 100 AcDbLine 10 -88.4667127669 +-7.5 20 --61.877784531 +39.1 11 -88.4667127669 +-7.5 21 --60.6097634776 +37.75 0 ENDBLK 5 -F2 +F8 330 -F0 +F6 100 AcDbEntity 8 @@ -16739,9 +16853,9 @@ AcDbBlockEnd 0 BLOCK 5 -F4 +FA 330 -F3 +F9 100 AcDbEntity 8 @@ -16749,7 +16863,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D108 +*D109 70 1 10 @@ -16757,13 +16871,13 @@ AcDbBlockBegin 20 0 3 -*D108 +*D109 1 0 LINE 5 -305 +308 100 AcDbEntity 8 @@ -16777,17 +16891,17 @@ CONTINUOUS 100 AcDbLine 10 -130.250000108 +115.125 20 -63.7501208602 +67.8732630054 11 -132.752777892 +128.380555556 21 -63.7501208602 +67.8732630054 0 SOLID 5 -306 +309 100 AcDbEntity 8 @@ -16801,33 +16915,33 @@ CONTINUOUS 100 AcDbTrace 10 -130.250000108 +115.125 20 -63.7501208602 +67.8732630054 30 0 11 -130.550000108 +115.425 21 -63.8000750191 +67.9232171643 31 0 12 -130.550000108 +115.425 22 -63.7001667013 +67.8233088465 32 0 13 -130.550000108 +115.425 23 -63.7001667013 +67.8233088465 33 0 0 SOLID 5 -307 +30A 100 AcDbEntity 8 @@ -16841,33 +16955,33 @@ CONTINUOUS 100 AcDbTrace 10 -137.750000121 +145.375 20 -63.7501208602 +67.8732630054 30 0 11 -137.450000121 +145.075 21 -63.7001667013 +67.8233088465 31 0 12 -137.450000121 +145.075 22 -63.8000750191 +67.9232171643 32 0 13 -137.450000121 +145.075 23 -63.8000750191 +67.9232171643 33 0 0 LINE 5 -308 +30B 100 AcDbEntity 8 @@ -16881,17 +16995,17 @@ CONTINUOUS 100 AcDbLine 10 -135.247222336 +132.119444444 20 -63.7501208602 +67.8732630054 11 -137.750000121 +145.375 21 -63.7501208602 +67.8732630054 0 MTEXT 5 -309 +30C 100 AcDbEntity 8 @@ -16905,21 +17019,21 @@ CONTINUOUS 100 AcDbMText 10 -134.000000114 +130.25 20 -63.7501208602 +67.8732630054 30 0 40 0.8 41 -1.24444444444 +2.48888888889 71 5 72 1 1 -7.5 +30.25 7 standard 210 @@ -16937,7 +17051,7 @@ standard 0 LINE 5 -30A +30D 100 AcDbEntity 8 @@ -16951,17 +17065,17 @@ CONTINUOUS 100 AcDbLine 10 -130.250000108 +115.125 20 -59.9999999376 +27.125 11 -130.250000108 +115.125 21 -64.0501208602 +68.1732630054 0 LINE 5 -30B +30E 100 AcDbEntity 8 @@ -16975,19 +17089,19 @@ CONTINUOUS 100 AcDbLine 10 -137.750000121 +145.375 20 -62.9999999064 +27.125 11 -137.750000121 +145.375 21 -64.0501208602 +68.1732630054 0 ENDBLK 5 -F5 +FB 330 -F3 +F9 100 AcDbEntity 8 @@ -16997,9 +17111,9 @@ AcDbBlockEnd 0 BLOCK 5 -F7 +FD 330 -F6 +FC 100 AcDbEntity 8 @@ -17007,7 +17121,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D85 +*D44 70 1 10 @@ -17015,17 +17129,17 @@ AcDbBlockBegin 20 0 3 -*D85 +*D44 1 0 LINE 5 -30C +30F 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17035,21 +17149,21 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +18 20 -54.9999999688 +41.1 11 --12.0522616552 +20.6972223771 21 -52.5249999626 +41.1 0 SOLID 5 -30D +310 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17059,37 +17173,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +18 20 -54.9999999688 +41.1 30 0 11 --12.0023074963 +18.3 21 -54.6999999688 +41.1499541589 31 0 12 --12.1022158141 +18.3 22 -54.6999999688 +41.0500458411 32 0 13 --12.1022158141 +18.3 23 -54.6999999688 +41.0500458411 33 0 0 SOLID 5 -30E +311 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17099,37 +17213,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +25.0000003098 20 -47.9999999563 +41.1 30 0 11 --12.1022158141 +24.7000003098 21 -48.2999999563 +41.0500458411 31 0 12 --12.0023074963 +24.7000003098 22 -48.2999999563 +41.1499541589 32 0 13 --12.0023074963 +24.7000003098 23 -48.2999999563 +41.1499541589 33 0 0 LINE 5 -30F +312 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17139,21 +17253,21 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +22.3027779327 20 -50.4749999626 +41.1 11 --12.0522616552 +25.0000003098 21 -47.9999999563 +41.1 0 MTEXT 5 -310 +313 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17163,9 +17277,9 @@ CONTINUOUS 100 AcDbMText 10 --12.0522616552 +21.5000001549 20 -51.4999999626 +42.125 30 0 40 @@ -17195,11 +17309,11 @@ standard 0 LINE 5 -311 +314 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17209,21 +17323,21 @@ CONTINUOUS 100 AcDbLine 10 -0.50000009574 +18 20 -54.9999999688 +36.9999999147 11 --12.3522616552 +18 21 -54.9999999688 +41.4 0 LINE 5 -312 +315 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17233,19 +17347,19 @@ CONTINUOUS 100 AcDbLine 10 -3.5000000666 +25.0000003098 20 -47.9999999563 +43.0999998752 11 --12.3522616552 +25.0000003098 21 -47.9999999563 +41.4 0 ENDBLK 5 -F8 +FE 330 -F6 +FC 100 AcDbEntity 8 @@ -17255,9 +17369,9 @@ AcDbBlockEnd 0 BLOCK 5 -FA +100 330 -F9 +FF 100 AcDbEntity 8 @@ -17265,7 +17379,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D26 +*D11 70 1 10 @@ -17273,13 +17387,13 @@ AcDbBlockBegin 20 0 3 -*D26 +*D11 1 0 LINE 5 -313 +316 100 AcDbEntity 8 @@ -17293,17 +17407,17 @@ CONTINUOUS 100 AcDbLine 10 -23 +-1 20 -5 +41.1 11 -23 +-1 21 -3.025 +39.075 0 SOLID 5 -314 +317 100 AcDbEntity 8 @@ -17317,33 +17431,33 @@ CONTINUOUS 100 AcDbTrace 10 -23 +-1 20 -5 +41.1 30 0 11 -23.0499541589 +-0.950045841067 21 -4.7 +40.8 31 0 12 -22.9500458411 +-1.04995415893 22 -4.7 +40.8 32 0 13 -22.9500458411 +-1.04995415893 23 -4.7 +40.8 33 0 0 SOLID 5 -315 +318 100 AcDbEntity 8 @@ -17357,33 +17471,33 @@ CONTINUOUS 100 AcDbTrace 10 -23 -20 -1 +20 +35 30 0 11 -22.9500458411 +-1.04995415893 21 --0.7 +35.3 31 0 12 -23.0499541589 +-0.950045841067 22 --0.7 +35.3 32 0 13 -23.0499541589 +-0.950045841067 23 --0.7 +35.3 33 0 0 LINE 5 -316 +319 100 AcDbEntity 8 @@ -17397,17 +17511,17 @@ CONTINUOUS 100 AcDbLine 10 -23 +-1 20 -0.975 +37.025 11 -23 -21 -1 +21 +35 0 MTEXT 5 -317 +31A 100 AcDbEntity 8 @@ -17421,21 +17535,21 @@ CONTINUOUS 100 AcDbMText 10 -23 +-1 20 -2 +38.05 30 0 40 0.8 41 -0.355555555556 +1.06666666667 71 5 72 1 1 -6 +6.1 7 standard 210 @@ -17453,7 +17567,7 @@ standard 0 LINE 5 -318 +31B 100 AcDbEntity 8 @@ -17467,17 +17581,17 @@ CONTINUOUS 100 AcDbLine 10 -23.8775 +-3 20 -5 +41.1 11 -23.3 +-0.7 21 -5 +41.1 0 LINE 5 -319 +31C 100 AcDbEntity 8 @@ -17491,19 +17605,19 @@ CONTINUOUS 100 AcDbLine 10 -23.8775 +-3 20 --1 +35 11 -23.3 +-0.7 21 --1 +35 0 ENDBLK 5 -FB +101 330 -F9 +FF 100 AcDbEntity 8 @@ -17513,9 +17627,9 @@ AcDbBlockEnd 0 BLOCK 5 -FD +103 330 -FC +102 100 AcDbEntity 8 @@ -17523,7 +17637,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D82 +*D38 70 1 10 @@ -17531,17 +17645,17 @@ AcDbBlockBegin 20 0 3 -*D82 +*D38 1 0 LINE 5 -31A +31D 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17551,21 +17665,21 @@ CONTINUOUS 100 AcDbLine 10 --7.29478994918 +-26.2473817511 20 -60.9999999688 +-68.8175675676 11 --7.29478994918 +-26.2473817511 21 -53.0249999605 +-71.7925675676 0 SOLID 5 -31B +31E 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17575,37 +17689,37 @@ CONTINUOUS 100 AcDbTrace 10 --7.29478994918 +-26.2473817511 20 -60.9999999688 +-68.8175675676 30 0 11 --7.24483579025 +-26.1974275922 21 -60.6999999688 +-69.1175675676 31 0 12 --7.34474410811 +-26.29733591 22 -60.6999999688 +-69.1175675676 32 0 13 --7.34474410811 +-26.29733591 23 -60.6999999688 +-69.1175675676 33 0 0 SOLID 5 -31C +31F 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17615,37 +17729,37 @@ CONTINUOUS 100 AcDbTrace 10 --7.29478994918 +-26.2473817511 20 -42.9999999522 +-76.8175675676 30 0 11 --7.34474410811 +-26.29733591 21 -43.2999999522 +-76.5175675676 31 0 12 --7.24483579025 +-26.1974275922 22 -43.2999999522 +-76.5175675676 32 0 13 --7.24483579025 +-26.1974275922 23 -43.2999999522 +-76.5175675676 33 0 0 LINE 5 -31D +320 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17655,21 +17769,21 @@ CONTINUOUS 100 AcDbLine 10 --7.29478994918 +-26.2473817511 20 -50.9749999605 +-73.8425675676 11 --7.29478994918 +-26.2473817511 21 -42.9999999522 +-76.8175675676 0 MTEXT 5 -31E +321 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17679,21 +17793,21 @@ CONTINUOUS 100 AcDbMText 10 --7.29478994918 +-26.2473817511 20 -51.9999999605 +-72.8175675676 30 0 40 0.8 41 -0.8 +0.355555555556 71 5 72 1 1 -18 +8 7 standard 210 @@ -17711,11 +17825,11 @@ standard 0 LINE 5 -31F +322 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17725,21 +17839,21 @@ CONTINUOUS 100 AcDbLine 10 -0.50000012071 +-22.4594594595 20 -60.9999999688 +-68.8175675676 11 --7.59478994918 +-26.5473817511 21 -60.9999999688 +-68.8175675676 0 LINE 5 -320 +323 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -17749,19 +17863,19 @@ CONTINUOUS 100 AcDbLine 10 -4.50000004579 +-22.4594594595 20 -42.9999999522 +-76.8175675676 11 --7.59478994918 +-26.5473817511 21 -42.9999999522 +-76.8175675676 0 ENDBLK 5 -FE +104 330 -FC +102 100 AcDbEntity 8 @@ -17771,9 +17885,9 @@ AcDbBlockEnd 0 BLOCK 5 -100 +106 330 -FF +105 100 AcDbEntity 8 @@ -17781,7 +17895,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D24 +*D53 70 1 10 @@ -17789,13 +17903,13 @@ AcDbBlockBegin 20 0 3 -*D24 +*D53 1 0 LINE 5 -321 +324 100 AcDbEntity 8 @@ -17809,17 +17923,17 @@ CONTINUOUS 100 AcDbLine 10 -23 +50.0719282636 20 -10.8725 +70.4462495497 11 -23 +50.0719282636 21 -10.1475 +67.4462495497 0 SOLID 5 -322 +325 100 AcDbEntity 8 @@ -17833,33 +17947,33 @@ CONTINUOUS 100 AcDbTrace 10 -23 +50.0719282636 20 -10.8725 +70.4462495497 30 0 11 -23.0499541589 +50.1218824225 21 -10.5725 +70.1462495497 31 0 12 -22.9500458411 +50.0219741047 22 -10.5725 +70.1462495497 32 0 13 -22.9500458411 +50.0219741047 23 -10.5725 +70.1462495497 33 0 0 SOLID 5 -323 +326 100 AcDbEntity 8 @@ -17873,57 +17987,33 @@ CONTINUOUS 100 AcDbTrace 10 -23 +50.0719282636 20 -7.3725 +67.4462495497 30 0 11 -22.9500458411 +50.0219741047 21 -7.6725 +67.7462495497 31 0 12 -23.0499541589 +50.1218824225 22 -7.6725 +67.7462495497 32 0 13 -23.0499541589 +50.1218824225 23 -7.6725 +67.7462495497 33 0 0 -LINE -5 -324 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -8.0975 -11 -23 -21 -7.3725 -0 MTEXT 5 -325 +327 100 AcDbEntity 8 @@ -17937,21 +18027,21 @@ CONTINUOUS 100 AcDbMText 10 -23 +49.0469282636 20 -9.1225 +68.9462495497 30 0 40 0.8 41 -1.24444444444 +0.355555555556 71 5 72 1 1 -3.5 +3 7 standard 210 @@ -17969,7 +18059,7 @@ standard 0 LINE 5 -326 +328 100 AcDbEntity 8 @@ -17983,17 +18073,17 @@ CONTINUOUS 100 AcDbLine 10 -23 20 -10.8725 +20 +70.4462495497 11 -23.3 +50.3719282636 21 -10.8725 +70.4462495497 0 LINE 5 -327 +329 100 AcDbEntity 8 @@ -18007,19 +18097,19 @@ CONTINUOUS 100 AcDbLine 10 -23 20 -7.3725 +20 +67.4462495497 11 -23.3 +50.3719282636 21 -7.3725 +67.4462495497 0 ENDBLK 5 -101 +107 330 -FF +105 100 AcDbEntity 8 @@ -18029,9 +18119,9 @@ AcDbBlockEnd 0 BLOCK 5 -103 +109 330 -102 +108 100 AcDbEntity 8 @@ -18039,7 +18129,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D70 +*D81 70 1 10 @@ -18047,17 +18137,17 @@ AcDbBlockBegin 20 0 3 -*D70 +*D81 1 0 LINE 5 -328 +32A 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -18067,21 +18157,21 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +-7.29478994918 20 --86.377784531 +60.9999999688 11 -185.339708867 +-7.29478994918 21 --82.5193308592 +53.0249999605 0 SOLID 5 -329 +32B 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -18091,37 +18181,37 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +-7.29478994918 20 --86.377784531 +60.9999999688 30 0 11 -185.289754708 +-7.24483579025 21 --86.077784531 +60.6999999688 31 0 12 -185.389663026 +-7.34474410811 22 --86.077784531 +60.6999999688 32 0 13 -185.389663026 +-7.34474410811 23 --86.077784531 +60.6999999688 33 0 0 SOLID 5 -32A +32C 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -18131,37 +18221,37 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +-7.29478994918 20 --76.6108771873 +42.9999999522 30 0 11 -185.389663026 +-7.34474410811 21 --76.9108771873 +43.2999999522 31 0 12 -185.289754708 +-7.24483579025 22 --76.9108771873 +43.2999999522 32 0 13 -185.289754708 +-7.24483579025 23 --76.9108771873 +43.2999999522 33 0 0 LINE 5 -32B +32D 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -18171,21 +18261,21 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +-7.29478994918 20 --80.4693308592 +50.9749999605 11 -185.339708867 +-7.29478994918 21 --76.6108771873 +42.9999999522 0 MTEXT 5 -32C +32E 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -18195,21 +18285,21 @@ CONTINUOUS 100 AcDbMText 10 -185.339708867 +-7.29478994918 20 --81.4943308592 +51.9999999605 30 0 40 0.8 41 -3.11111111111 +0.8 71 5 72 1 1 -9.7669 +18 7 standard 210 @@ -18227,11 +18317,11 @@ standard 0 LINE 5 -32D +32F 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -18241,21 +18331,21 @@ CONTINUOUS 100 AcDbLine 10 -175.966712767 +0.50000012071 20 --86.377784531 +60.9999999688 11 -185.639708867 +-7.59478994918 21 --86.377784531 +60.9999999688 0 LINE 5 -32E +330 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -18265,19 +18355,19 @@ CONTINUOUS 100 AcDbLine 10 -175.966712767 +4.50000004579 20 --76.6108771873 +42.9999999522 11 -185.639708867 +-7.59478994918 21 --76.6108771873 +42.9999999522 0 ENDBLK 5 -104 +10A 330 -102 +108 100 AcDbEntity 8 @@ -18287,9 +18377,9 @@ AcDbBlockEnd 0 BLOCK 5 -106 +10C 330 -105 +10B 100 AcDbEntity 8 @@ -18297,7 +18387,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D65 +*D30 70 1 10 @@ -18305,13 +18395,13 @@ AcDbBlockBegin 20 0 3 -*D65 +*D30 1 0 LINE 5 -32F +331 100 AcDbEntity 8 @@ -18325,17 +18415,17 @@ CONTINUOUS 100 AcDbLine 10 -118.466712767 +121.702603419 20 --60.9097634776 +13.3725 11 -120.163934989 +121.702603419 21 --60.9097634776 +2.1980222528 0 SOLID 5 -330 +332 100 AcDbEntity 8 @@ -18349,33 +18439,33 @@ CONTINUOUS 100 AcDbTrace 10 -118.466712767 +121.702603419 20 --60.9097634776 +13.3725 30 0 11 -118.766712767 +121.752557578 21 --60.8598093187 +13.0725 31 0 12 -118.766712767 +121.65264926 22 --60.9597176365 +13.0725 32 0 13 -118.766712767 +121.65264926 23 --60.9597176365 +13.0725 33 0 0 SOLID 5 -331 +333 100 AcDbEntity 8 @@ -18389,33 +18479,33 @@ CONTINUOUS 100 AcDbTrace 10 -123.466712767 +121.702603419 20 --60.9097634776 +-11.0264554944 30 0 11 -123.166712767 +121.65264926 21 --60.9597176365 +-10.7264554944 31 0 12 -123.166712767 +121.752557578 22 --60.8598093187 +-10.7264554944 32 0 13 -123.166712767 +121.752557578 23 --60.8598093187 +-10.7264554944 33 0 0 LINE 5 -332 +334 100 AcDbEntity 8 @@ -18429,17 +18519,17 @@ CONTINUOUS 100 AcDbLine 10 -121.769490545 +121.702603419 20 --60.9097634776 +0.1480222528 11 -123.466712767 +121.702603419 21 --60.9097634776 +-11.0264554944 0 MTEXT 5 -333 +335 100 AcDbEntity 8 @@ -18453,21 +18543,21 @@ CONTINUOUS 100 AcDbMText 10 -120.966712767 +121.702603419 20 --60.9097634776 +1.1730222528 30 0 40 0.8 41 -0.355555555556 +3.2 71 5 72 1 1 -5 +24.399 7 standard 210 @@ -18485,7 +18575,7 @@ standard 0 LINE 5 -334 +336 100 AcDbEntity 8 @@ -18499,17 +18589,17 @@ CONTINUOUS 100 AcDbLine 10 -118.466712767 +94.5000001944 20 --65.127784531 +13.3725 11 -118.466712767 +122.002603419 21 --60.6097634776 +13.3725 0 LINE 5 -335 +337 100 AcDbEntity 8 @@ -18523,19 +18613,19 @@ CONTINUOUS 100 AcDbLine 10 -123.466712767 +94.5000001003 20 --61.877784531 +-11.0264554944 11 -123.466712767 +122.002603419 21 --60.6097634776 +-11.0264554944 0 ENDBLK 5 -107 +10D 330 -105 +10B 100 AcDbEntity 8 @@ -18545,9 +18635,9 @@ AcDbBlockEnd 0 BLOCK 5 -109 +10F 330 -108 +10E 100 AcDbEntity 8 @@ -18555,7 +18645,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D57 +*D8 70 1 10 @@ -18563,13 +18653,13 @@ AcDbBlockBegin 20 0 3 -*D57 +*D8 1 0 LINE 5 -336 +338 100 AcDbEntity 8 @@ -18583,17 +18673,17 @@ CONTINUOUS 100 AcDbLine 10 -90.216061105 +42.5000003098 20 --125.977784531 +46.1646667417 11 -90.216061105 +43.197222532 21 --124.702784531 +46.1646667417 0 SOLID 5 -337 +339 100 AcDbEntity 8 @@ -18607,33 +18697,33 @@ CONTINUOUS 100 AcDbTrace 10 -90.216061105 +42.5000003098 20 --125.977784531 +46.1646667417 30 0 11 -90.1661069461 +42.8000003098 21 --125.677784531 +46.2146209006 31 0 12 -90.2660152639 +42.8000003098 22 --125.677784531 +46.1147125828 32 0 13 -90.2660152639 +42.8000003098 23 --125.677784531 +46.1147125828 33 0 0 SOLID 5 -338 +33A 100 AcDbEntity 8 @@ -18647,33 +18737,33 @@ CONTINUOUS 100 AcDbTrace 10 -90.216061105 +45.5000003098 20 --121.377784531 +46.1646667417 30 0 11 -90.2660152639 +45.2000003098 21 --121.677784531 +46.1147125828 31 0 12 -90.1661069461 +45.2000003098 22 --121.677784531 +46.2146209006 32 0 13 -90.1661069461 +45.2000003098 23 --121.677784531 +46.2146209006 33 0 0 LINE 5 -339 +33B 100 AcDbEntity 8 @@ -18687,17 +18777,17 @@ CONTINUOUS 100 AcDbLine 10 -90.216061105 +44.8027780876 20 --122.652784531 +46.1646667417 11 -90.216061105 +45.5000003098 21 --121.377784531 +46.1646667417 0 MTEXT 5 -33A +33C 100 AcDbEntity 8 @@ -18711,21 +18801,21 @@ CONTINUOUS 100 AcDbMText 10 -90.216061105 +44.0000003098 20 --123.677784531 +46.1646667417 30 0 40 0.8 41 -1.33333333333 +0.355555555556 71 5 72 1 1 -4.6 +3 7 standard 210 @@ -18743,7 +18833,7 @@ standard 0 LINE 5 -33B +33D 100 AcDbEntity 8 @@ -18757,17 +18847,17 @@ CONTINUOUS 100 AcDbLine 10 -84.9667127669 +42.5000003098 20 --125.977784531 +43.0999997297 11 -90.516061105 +42.5000003098 21 --125.977784531 +46.4646667417 0 LINE 5 -33C +33E 100 AcDbEntity 8 @@ -18781,19 +18871,19 @@ CONTINUOUS 100 AcDbLine 10 -90.4667127669 +45.5000003098 20 --121.377784531 +43.0999997047 11 -90.516061105 +45.5000003098 21 --121.377784531 +46.4646667417 0 ENDBLK 5 -10A +110 330 -108 +10E 100 AcDbEntity 8 @@ -18803,9 +18893,9 @@ AcDbBlockEnd 0 BLOCK 5 -10C +112 330 -10B +111 100 AcDbEntity 8 @@ -18813,7 +18903,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D41 +*D16 70 1 10 @@ -18821,13 +18911,13 @@ AcDbBlockBegin 20 0 3 -*D41 +*D16 1 0 LINE 5 -33D +33F 100 AcDbEntity 8 @@ -18841,17 +18931,17 @@ CONTINUOUS 100 AcDbLine 10 --6.45945945946 +15 20 --48.4567047713 +9.6225 11 --12.3900150151 +17.1972222222 21 --48.4567047713 +9.6225 0 SOLID 5 -33E +340 100 AcDbEntity 8 @@ -18865,33 +18955,33 @@ CONTINUOUS 100 AcDbTrace 10 --6.45945945946 +15 20 --48.4567047713 +9.6225 30 0 11 --6.75945945946 +15.3 21 --48.5066589302 +9.67245415893 31 0 12 --6.75945945946 +15.3 22 --48.4067506124 +9.57254584107 32 0 13 --6.75945945946 +15.3 23 --48.4067506124 +9.57254584107 33 0 0 SOLID 5 -33F +341 100 AcDbEntity 8 @@ -18905,33 +18995,33 @@ CONTINUOUS 100 AcDbTrace 10 --20.4594594595 +21 20 --48.4567047713 +9.6225 30 0 11 --20.1594594595 +20.7 21 --48.4067506124 +9.57254584107 31 0 12 --20.1594594595 +20.7 22 --48.5066589302 +9.67245415893 32 0 13 --20.1594594595 +20.7 23 --48.5066589302 +9.67245415893 33 0 0 LINE 5 -340 +342 100 AcDbEntity 8 @@ -18945,17 +19035,17 @@ CONTINUOUS 100 AcDbLine 10 --14.5289039039 +18.8027777778 20 --48.4567047713 +9.6225 11 --20.4594594595 21 --48.4567047713 +21 +9.6225 0 MTEXT 5 -341 +343 100 AcDbEntity 8 @@ -18969,21 +19059,21 @@ CONTINUOUS 100 AcDbMText 10 --13.4594594595 +18 20 --48.4567047713 +9.6225 30 0 40 0.8 41 -0.888888888889 +0.355555555556 71 5 72 1 1 -14 +6 7 standard 210 @@ -19001,7 +19091,7 @@ standard 0 LINE 5 -342 +344 100 AcDbEntity 8 @@ -19015,17 +19105,17 @@ CONTINUOUS 100 AcDbLine 10 --6.45945945946 +15 20 --66.8175675676 +7.6225 11 --6.45945945946 +15 21 --48.1567047713 +9.3225 0 LINE 5 -343 +345 100 AcDbEntity 8 @@ -19039,19 +19129,19 @@ CONTINUOUS 100 AcDbLine 10 --20.4594594595 +21 20 --66.8175675676 +8.8725 11 --20.4594594595 21 --48.1567047713 +21 +9.3225 0 ENDBLK 5 -10D +113 330 -10B +111 100 AcDbEntity 8 @@ -19061,9 +19151,9 @@ AcDbBlockEnd 0 BLOCK 5 -10F +115 330 -10E +114 100 AcDbEntity 8 @@ -19071,7 +19161,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D9 +*D69 70 1 10 @@ -19079,13 +19169,13 @@ AcDbBlockBegin 20 0 3 -*D9 +*D69 1 0 LINE 5 -344 +346 100 AcDbEntity 8 @@ -19099,17 +19189,17 @@ CONTINUOUS 100 AcDbLine 10 --25.5 +185.339708867 20 -49.3256232224 +-86.377784531 11 -8.9750001549 +185.339708867 21 -49.3256232224 +-82.5193308592 0 SOLID 5 -345 +347 100 AcDbEntity 8 @@ -19123,33 +19213,33 @@ CONTINUOUS 100 AcDbTrace 10 --25.5 +185.339708867 20 -49.3256232224 +-86.377784531 30 0 11 --25.2 +185.289754708 21 -49.3755773813 +-86.077784531 31 0 12 --25.2 +185.389663026 22 -49.2756690635 +-86.077784531 32 0 13 --25.2 +185.389663026 23 -49.2756690635 +-86.077784531 33 0 0 SOLID 5 -346 +348 100 AcDbEntity 8 @@ -19163,33 +19253,33 @@ CONTINUOUS 100 AcDbTrace 10 -45.5000003098 +185.339708867 20 -49.3256232224 +-76.6108771873 30 0 11 -45.2000003098 +185.389663026 21 -49.2756690635 +-76.9108771873 31 0 12 -45.2000003098 +185.289754708 22 -49.3755773813 +-76.9108771873 32 0 13 -45.2000003098 +185.289754708 23 -49.3755773813 +-76.9108771873 33 0 0 LINE 5 -347 +349 100 AcDbEntity 8 @@ -19203,17 +19293,17 @@ CONTINUOUS 100 AcDbLine 10 -11.0250001549 +185.339708867 20 -49.3256232224 +-80.4693308592 11 -45.5000003098 +185.339708867 21 -49.3256232224 +-76.6108771873 0 MTEXT 5 -348 +34A 100 AcDbEntity 8 @@ -19227,21 +19317,21 @@ CONTINUOUS 100 AcDbMText 10 -10.0000001549 +185.339708867 20 -49.3256232224 +-81.4943308592 30 0 40 0.8 41 -0.8 +3.11111111111 71 5 72 1 1 -71 +9.7669 7 standard 210 @@ -19259,7 +19349,7 @@ standard 0 LINE 5 -349 +34B 100 AcDbEntity 8 @@ -19273,17 +19363,17 @@ CONTINUOUS 100 AcDbLine 10 --25.5 +175.966712767 20 -43.1 +-86.377784531 11 --25.5 +185.639708867 21 -49.6256232224 +-86.377784531 0 LINE 5 -34A +34C 100 AcDbEntity 8 @@ -19297,19 +19387,19 @@ CONTINUOUS 100 AcDbLine 10 -45.5000003098 +175.966712767 20 -43.0999997047 +-76.6108771873 11 -45.5000003098 +185.639708867 21 -49.6256232224 +-76.6108771873 0 ENDBLK 5 -110 +116 330 -10E +114 100 AcDbEntity 8 @@ -19319,9 +19409,9 @@ AcDbBlockEnd 0 BLOCK 5 -112 +118 330 -111 +117 100 AcDbEntity 8 @@ -19329,7 +19419,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D71 +*D3 70 1 10 @@ -19337,13 +19427,13 @@ AcDbBlockBegin 20 0 3 -*D71 +*D3 1 0 LINE 5 -34B +34D 100 AcDbEntity 8 @@ -19357,17 +19447,17 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +-22.5 20 --76.6108771873 +46.1646667417 11 -185.339708867 +-16.025 21 --73.0193308591 +46.1646667417 0 SOLID 5 -34C +34E 100 AcDbEntity 8 @@ -19381,33 +19471,33 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +-22.5 20 --76.6108771873 +46.1646667417 30 0 11 -185.289754708 +-22.2 21 --76.3108771873 +46.2146209006 31 0 12 -185.389663026 +-22.2 22 --76.3108771873 +46.1147125828 32 0 13 -185.389663026 +-22.2 23 --76.3108771873 +46.1147125828 33 0 0 SOLID 5 -34D +34F 100 AcDbEntity 8 @@ -19421,33 +19511,33 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +-7.5 20 --67.377784531 +46.1646667417 30 0 11 -185.389663026 +-7.8 21 --67.677784531 +46.1147125828 31 0 12 -185.289754708 +-7.8 22 --67.677784531 +46.2146209006 32 0 13 -185.289754708 +-7.8 23 --67.677784531 +46.2146209006 33 0 0 LINE 5 -34E +350 100 AcDbEntity 8 @@ -19461,17 +19551,17 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +-13.975 20 --70.9693308591 +46.1646667417 11 -185.339708867 +-7.5 21 --67.377784531 +46.1646667417 0 MTEXT 5 -34F +351 100 AcDbEntity 8 @@ -19485,21 +19575,21 @@ CONTINUOUS 100 AcDbMText 10 -185.339708867 +-15 20 --71.9943308591 +46.1646667417 30 0 40 0.8 41 -2.93333333333 +0.8 71 5 72 1 1 -9.2331 +15 7 standard 210 @@ -19517,7 +19607,7 @@ standard 0 LINE 5 -350 +352 100 AcDbEntity 8 @@ -19531,17 +19621,17 @@ CONTINUOUS 100 AcDbLine 10 -175.966712767 +-22.5 20 --76.6108771873 +43.1 11 -185.639708867 +-22.5 21 --76.6108771873 +46.4646667417 0 LINE 5 -351 +353 100 AcDbEntity 8 @@ -19555,19 +19645,19 @@ CONTINUOUS 100 AcDbLine 10 -170.966712767 +-7.5 20 --67.377784531 +43.1 11 -185.639708867 +-7.5 21 --67.377784531 +46.4646667417 0 ENDBLK 5 -113 +119 330 -111 +117 100 AcDbEntity 8 @@ -19577,9 +19667,9 @@ AcDbBlockEnd 0 BLOCK 5 -115 +11B 330 -114 +11A 100 AcDbEntity 8 @@ -19587,7 +19677,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D81 +*D49 70 1 10 @@ -19595,17 +19685,17 @@ AcDbBlockBegin 20 0 3 -*D81 +*D49 1 0 LINE 5 -352 +354 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -19615,21 +19705,21 @@ CONTINUOUS 100 AcDbLine 10 --77.675 +78.5000002591 20 -51.3599999008 +45.4281607231 11 --69.1291666667 +76.3027780099 21 -51.3599999008 +45.4281607231 0 SOLID 5 -353 +355 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -19639,37 +19729,37 @@ CONTINUOUS 100 AcDbTrace 10 --77.675 +78.5000002591 20 -51.3599999008 +45.4281607231 30 0 11 --77.375 +78.2000002591 21 -51.4099540597 +45.3782065642 31 0 12 --77.375 +78.2000002591 22 -51.3100457419 +45.478114882 32 0 13 --77.375 +78.2000002591 23 -51.3100457419 +45.478114882 33 0 0 SOLID 5 -354 +356 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -19679,37 +19769,37 @@ CONTINUOUS 100 AcDbTrace 10 --56.4 +72.500000205 20 -51.3599999008 +45.4281607231 30 0 11 --56.7 +72.800000205 21 -51.3100457419 +45.478114882 31 0 12 --56.7 +72.800000205 22 -51.4099540597 +45.3782065642 32 0 13 --56.7 +72.800000205 23 -51.4099540597 +45.3782065642 33 0 0 LINE 5 -355 +357 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -19719,21 +19809,21 @@ CONTINUOUS 100 AcDbLine 10 --64.9458333333 +74.6972224543 20 -51.3599999008 +45.4281607231 11 --56.4 +72.500000205 21 -51.3599999008 +45.4281607231 0 MTEXT 5 -356 +358 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -19743,21 +19833,21 @@ CONTINUOUS 100 AcDbMText 10 --67.0375 +75.5000002321 20 -51.3599999008 +46.4531607231 30 0 40 0.8 41 -2.93333333333 +0.355555555556 71 5 72 1 1 -21.275 +6 7 standard 210 @@ -19775,11 +19865,11 @@ standard 0 LINE 5 -357 +359 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -19789,21 +19879,21 @@ CONTINUOUS 100 AcDbLine 10 --77.675 +78.5000002591 20 -26.5549999504 +36.9999997275 11 --77.675 +78.5000002591 21 -51.6599999008 +45.7281607231 0 LINE 5 -358 +35A 100 AcDbEntity 8 -Top-fix-mesures-ortho +cotes 6 CONTINUOUS 62 @@ -19813,19 +19903,19 @@ CONTINUOUS 100 AcDbLine 10 --56.4 +72.500000205 20 -53.3599999008 +30.5 11 --56.4 +72.500000205 21 -51.6599999008 +45.7281607231 0 ENDBLK 5 -116 +11C 330 -114 +11A 100 AcDbEntity 8 @@ -19835,9 +19925,9 @@ AcDbBlockEnd 0 BLOCK 5 -118 +11E 330 -117 +11D 100 AcDbEntity 8 @@ -19845,7 +19935,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D55 +*D78 70 1 10 @@ -19853,13 +19943,13 @@ AcDbBlockBegin 20 0 3 -*D55 +*D78 1 0 LINE 5 -359 +35B 100 AcDbEntity 8 @@ -19873,17 +19963,17 @@ CONTINUOUS 100 AcDbLine 10 -127.380113994 +168.966712767 20 -34.9999995612 +-67.377784531 11 -127.380113994 +168.966712767 21 -34.5249995612 +-78.352784531 0 SOLID 5 -35A +35C 100 AcDbEntity 8 @@ -19897,33 +19987,33 @@ CONTINUOUS 100 AcDbTrace 10 -127.380113994 +168.966712767 20 -34.9999995612 +-67.377784531 30 0 11 -127.430068153 +169.016666926 21 -34.6999995612 +-67.677784531 31 0 12 -127.330159835 +168.916758608 22 -34.6999995612 +-67.677784531 32 0 13 -127.330159835 +168.916758608 23 -34.6999995612 +-67.677784531 33 0 0 SOLID 5 -35B +35D 100 AcDbEntity 8 @@ -19937,33 +20027,33 @@ CONTINUOUS 100 AcDbTrace 10 -127.380113994 +168.966712767 20 -31.9999995612 +-91.377784531 30 0 11 -127.330159835 +168.916758608 21 -32.2999995612 +-91.077784531 31 0 12 -127.430068153 +169.016666926 22 -32.2999995612 +-91.077784531 32 0 13 -127.430068153 +169.016666926 23 -32.2999995612 +-91.077784531 33 0 0 LINE 5 -35C +35E 100 AcDbEntity 8 @@ -19977,17 +20067,17 @@ CONTINUOUS 100 AcDbLine 10 -127.380113994 +168.966712767 20 -32.4749995612 +-80.402784531 11 -127.380113994 +168.966712767 21 -31.9999995612 +-91.377784531 0 MTEXT 5 -35D +35F 100 AcDbEntity 8 @@ -20001,21 +20091,21 @@ CONTINUOUS 100 AcDbMText 10 -127.380113994 +168.966712767 20 -33.4999995612 +-79.377784531 30 0 40 0.8 41 -0.355555555556 +1.06666666667 71 5 72 1 1 -3 +24 7 standard 210 @@ -20033,7 +20123,7 @@ standard 0 LINE 5 -35E +360 100 AcDbEntity 8 @@ -20047,17 +20137,17 @@ CONTINUOUS 100 AcDbLine 10 -114.500000259 +166.966712767 20 -34.9999995612 +-67.377784531 11 -127.680113994 +168.666712767 21 -34.9999995612 +-67.377784531 0 LINE 5 -35F +361 100 AcDbEntity 8 @@ -20071,19 +20161,19 @@ CONTINUOUS 100 AcDbLine 10 -114.500000234 +166.966712767 20 -31.9999995612 +-91.377784531 11 -127.680113994 +168.666712767 21 -31.9999995612 +-91.377784531 0 ENDBLK 5 -119 +11F 330 -117 +11D 100 AcDbEntity 8 @@ -20093,9 +20183,9 @@ AcDbBlockEnd 0 BLOCK 5 -11B +121 330 -11A +120 100 AcDbEntity 8 @@ -20103,7 +20193,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D110 +*D48 70 1 10 @@ -20111,17 +20201,17 @@ AcDbBlockBegin 20 0 3 -*D110 +*D48 1 0 LINE 5 -360 +362 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -20131,21 +20221,21 @@ CONTINUOUS 100 AcDbLine 10 -115.125 +19.5 20 -67.8732630054 +28.5 11 -128.380555556 +19.5 21 -67.8732630054 +28.725 0 SOLID 5 -361 +363 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -20155,37 +20245,37 @@ CONTINUOUS 100 AcDbTrace 10 -115.125 +19.5 20 -67.8732630054 +28.5 30 0 11 -115.425 +19.4500458411 21 -67.9232171643 +28.8 31 0 12 -115.425 +19.5499541589 22 -67.8233088465 +28.8 32 0 13 -115.425 +19.5499541589 23 -67.8233088465 +28.8 33 0 0 SOLID 5 -362 +364 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -20195,37 +20285,37 @@ CONTINUOUS 100 AcDbTrace 10 -145.375 +19.5 20 -67.8732630054 +31 30 0 11 -145.075 +19.5499541589 21 -67.8233088465 +30.7 31 0 12 -145.075 +19.4500458411 22 -67.9232171643 +30.7 32 0 13 -145.075 +19.4500458411 23 -67.9232171643 +30.7 33 0 0 LINE 5 -363 +365 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -20235,21 +20325,21 @@ CONTINUOUS 100 AcDbLine 10 -132.119444444 +19.5 20 -67.8732630054 +30.775 11 -145.375 +19.5 21 -67.8732630054 +31 0 MTEXT 5 -364 +366 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -20259,21 +20349,21 @@ CONTINUOUS 100 AcDbMText 10 -130.25 +18.475 20 -67.8732630054 +29.75 30 0 40 0.8 41 -2.48888888889 +1.24444444444 71 5 72 1 1 -30.25 +2.5 7 standard 210 @@ -20291,11 +20381,11 @@ standard 0 LINE 5 -365 +367 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -20305,21 +20395,21 @@ CONTINUOUS 100 AcDbLine 10 -115.125 20 -27.125 +20 +28.5 11 -115.125 +19.8 21 -68.1732630054 +28.5 0 LINE 5 -366 +368 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -20329,19 +20419,19 @@ CONTINUOUS 100 AcDbLine 10 -145.375 20 -27.125 +20 +31 11 -145.375 +19.8 21 -68.1732630054 +31 0 ENDBLK 5 -11C +122 330 -11A +120 100 AcDbEntity 8 @@ -20351,9 +20441,9 @@ AcDbBlockEnd 0 BLOCK 5 -11E +124 330 -11D +123 100 AcDbEntity 8 @@ -20361,7 +20451,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D1 +*D74 70 1 10 @@ -20369,13 +20459,13 @@ AcDbBlockBegin 20 0 3 -*D1 +*D74 1 0 LINE 5 -367 +369 100 AcDbEntity 8 @@ -20389,17 +20479,17 @@ CONTINUOUS 100 AcDbLine 10 --15 +72.9667127669 20 -43.9593482668 +-67.377784531 11 -8.88611125141 +72.9667127669 21 -43.9593482668 +-80.852784531 0 SOLID 5 -368 +36A 100 AcDbEntity 8 @@ -20413,33 +20503,33 @@ CONTINUOUS 100 AcDbTrace 10 --15 +72.9667127669 20 -43.9593482668 +-67.377784531 30 0 11 --14.7 +73.0166669258 21 -44.0093024257 +-67.677784531 31 0 12 --14.7 +72.916758608 22 -43.9093941079 +-67.677784531 32 0 13 --14.7 +72.916758608 23 -43.9093941079 +-67.677784531 33 0 0 SOLID 5 -369 +36B 100 AcDbEntity 8 @@ -20453,33 +20543,33 @@ CONTINUOUS 100 AcDbTrace 10 -35.0000002806 +72.9667127669 20 -43.9593482668 +-96.377784531 30 0 11 -34.7000002806 +72.916758608 21 -43.9093941079 +-96.077784531 31 0 12 -34.7000002806 +73.0166669258 22 -44.0093024257 +-96.077784531 32 0 13 -34.7000002806 +73.0166669258 23 -44.0093024257 +-96.077784531 33 0 0 LINE 5 -36A +36C 100 AcDbEntity 8 @@ -20493,17 +20583,17 @@ CONTINUOUS 100 AcDbLine 10 -11.1138890292 +72.9667127669 20 -43.9593482668 +-82.902784531 11 -35.0000002806 +72.9667127669 21 -43.9593482668 +-96.377784531 0 MTEXT 5 -36B +36D 100 AcDbEntity 8 @@ -20517,9 +20607,9 @@ CONTINUOUS 100 AcDbMText 10 -10.0000001403 +72.9667127669 20 -43.9593482668 +-81.877784531 30 0 40 @@ -20531,7 +20621,7 @@ AcDbMText 72 1 1 -50 +29 7 standard 210 @@ -20549,7 +20639,7 @@ standard 0 LINE 5 -36C +36E 100 AcDbEntity 8 @@ -20563,17 +20653,17 @@ CONTINUOUS 100 AcDbLine 10 --15 +75.9667127669 20 -39.6 +-67.377784531 11 --15 +72.6667127669 21 -44.2593482668 +-67.377784531 0 LINE 5 -36D +36F 100 AcDbEntity 8 @@ -20587,19 +20677,19 @@ CONTINUOUS 100 AcDbLine 10 -35.0000002806 +70.9667127669 20 -39.5999997921 +-96.377784531 11 -35.0000002806 +72.6667127669 21 -44.2593482668 +-96.377784531 0 ENDBLK 5 -11F +125 330 -11D +123 100 AcDbEntity 8 @@ -20609,9 +20699,9 @@ AcDbBlockEnd 0 BLOCK 5 -121 +127 330 -120 +126 100 AcDbEntity 8 @@ -20619,7 +20709,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D10 +*D37 70 1 10 @@ -20627,13 +20717,13 @@ AcDbBlockBegin 20 0 3 -*D10 +*D37 1 0 LINE 5 -36E +370 100 AcDbEntity 8 @@ -20647,17 +20737,17 @@ CONTINUOUS 100 AcDbLine 10 --29.110203869 +-20.4594594595 20 -41.1 +-54.2894562715 11 --29.110203869 +-17.7622372373 21 -14.9295553062 +-54.2894562715 0 SOLID 5 -36F +371 100 AcDbEntity 8 @@ -20671,33 +20761,33 @@ CONTINUOUS 100 AcDbTrace 10 --29.110203869 +-20.4594594595 20 -41.1 +-54.2894562715 30 0 11 --29.0602497101 +-20.1594594595 21 -40.8 +-54.2395021126 31 0 12 --29.1601580279 +-20.1594594595 22 -40.8 +-54.3394104304 32 0 13 --29.1601580279 +-20.1594594595 23 -40.8 +-54.3394104304 33 0 0 SOLID 5 -370 +372 100 AcDbEntity 8 @@ -20711,33 +20801,33 @@ CONTINUOUS 100 AcDbTrace 10 --29.110203869 +-13.4594594595 20 --13.2908893876 +-54.2894562715 30 0 11 --29.1601580279 +-13.7594594595 21 --12.9908893876 +-54.3394104304 31 0 12 --29.0602497101 +-13.7594594595 22 --12.9908893876 +-54.2395021126 32 0 13 --29.0602497101 +-13.7594594595 23 --12.9908893876 +-54.2395021126 33 0 0 LINE 5 -371 +373 100 AcDbEntity 8 @@ -20751,17 +20841,17 @@ CONTINUOUS 100 AcDbLine 10 --29.110203869 +-16.1566816817 20 -12.8795553062 +-54.2894562715 11 --29.110203869 +-13.4594594595 21 --13.2908893876 +-54.2894562715 0 MTEXT 5 -372 +374 100 AcDbEntity 8 @@ -20775,21 +20865,21 @@ CONTINUOUS 100 AcDbMText 10 --29.110203869 +-16.9594594595 20 -13.9045553062 +-54.2894562715 30 0 40 0.8 41 -3.82222222222 +0.355555555556 71 5 72 1 1 -54.3909 +7 7 standard 210 @@ -20807,7 +20897,7 @@ standard 0 LINE 5 -373 +375 100 AcDbEntity 8 @@ -20821,17 +20911,17 @@ CONTINUOUS 100 AcDbLine 10 --27.5 +-20.4594594595 20 -41.1 +-66.8175675676 11 --29.410203869 +-20.4594594595 21 -41.1 +-53.9894562715 0 LINE 5 -374 +376 100 AcDbEntity 8 @@ -20845,19 +20935,19 @@ CONTINUOUS 100 AcDbLine 10 -7.99999992888 +-13.4594594595 20 --13.2908893876 +-66.8175675676 11 --29.410203869 +-13.4594594595 21 --13.2908893876 +-53.9894562715 0 ENDBLK 5 -122 +128 330 -120 +126 100 AcDbEntity 8 @@ -20867,9 +20957,9 @@ AcDbBlockEnd 0 BLOCK 5 -124 +12A 330 -123 +129 100 AcDbEntity 8 @@ -20877,7 +20967,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D61 +*D9 70 1 10 @@ -20885,13 +20975,13 @@ AcDbBlockBegin 20 0 3 -*D61 +*D9 1 0 LINE 5 -375 +377 100 AcDbEntity 8 @@ -20905,17 +20995,17 @@ CONTINUOUS 100 AcDbLine 10 -77.9667127669 +-25.5 20 --60.9097634776 +49.3256232224 11 -80.4694905447 +8.9750001549 21 --60.9097634776 +49.3256232224 0 SOLID 5 -376 +378 100 AcDbEntity 8 @@ -20929,33 +21019,33 @@ CONTINUOUS 100 AcDbTrace 10 -77.9667127669 +-25.5 20 --60.9097634776 +49.3256232224 30 0 11 -78.2667127669 +-25.2 21 --60.8598093187 +49.3755773813 31 0 12 -78.2667127669 +-25.2 22 --60.9597176365 +49.2756690635 32 0 13 -78.2667127669 +-25.2 23 --60.9597176365 +49.2756690635 33 0 0 SOLID 5 -377 +379 100 AcDbEntity 8 @@ -20969,33 +21059,33 @@ CONTINUOUS 100 AcDbTrace 10 -85.4667127669 +45.5000003098 20 --60.9097634776 +49.3256232224 30 0 11 -85.1667127669 +45.2000003098 21 --60.9597176365 +49.2756690635 31 0 12 -85.1667127669 +45.2000003098 22 --60.8598093187 +49.3755773813 32 0 13 -85.1667127669 +45.2000003098 23 --60.8598093187 +49.3755773813 33 0 0 LINE 5 -378 +37A 100 AcDbEntity 8 @@ -21009,17 +21099,17 @@ CONTINUOUS 100 AcDbLine 10 -82.9639349891 +11.0250001549 20 --60.9097634776 +49.3256232224 11 -85.4667127669 +45.5000003098 21 --60.9097634776 +49.3256232224 0 MTEXT 5 -379 +37B 100 AcDbEntity 8 @@ -21033,21 +21123,21 @@ CONTINUOUS 100 AcDbMText 10 -81.7167127669 +10.0000001549 20 --60.9097634776 +49.3256232224 30 0 40 0.8 41 -1.24444444444 +0.8 71 5 72 1 1 -7.5 +71 7 standard 210 @@ -21065,7 +21155,7 @@ standard 0 LINE 5 -37A +37C 100 AcDbEntity 8 @@ -21079,17 +21169,17 @@ CONTINUOUS 100 AcDbLine 10 -77.9667127669 +-25.5 20 --65.377784531 +43.1 11 -77.9667127669 +-25.5 21 --60.6097634776 +49.6256232224 0 LINE 5 -37B +37D 100 AcDbEntity 8 @@ -21103,19 +21193,19 @@ CONTINUOUS 100 AcDbLine 10 -85.4667127669 +45.5000003098 20 --61.877784531 +43.0999997047 11 -85.4667127669 +45.5000003098 21 --60.6097634776 +49.6256232224 0 ENDBLK 5 -125 +12B 330 -123 +129 100 AcDbEntity 8 @@ -21125,9 +21215,9 @@ AcDbBlockEnd 0 BLOCK 5 -127 +12D 330 -126 +12C 100 AcDbEntity 8 @@ -21135,7 +21225,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D6 +*D61 70 1 10 @@ -21143,13 +21233,13 @@ AcDbBlockBegin 20 0 3 -*D6 +*D61 1 0 LINE 5 -37C +37E 100 AcDbEntity 8 @@ -21163,17 +21253,17 @@ CONTINUOUS 100 AcDbLine 10 -25.0000003098 +85.4667127669 20 -46.1646667417 +-60.9097634776 11 -25.0027780876 +86.1639349891 21 -46.1646667417 +-60.9097634776 0 SOLID 5 -37D +37F 100 AcDbEntity 8 @@ -21187,33 +21277,33 @@ CONTINUOUS 100 AcDbTrace 10 -25.0000003098 +85.4667127669 20 -46.1646667417 +-60.9097634776 30 0 11 -25.3000003098 +85.7667127669 21 -46.2146209006 +-60.8598093187 31 0 12 -25.3000003098 +85.7667127669 22 -46.1147125828 +-60.9597176365 32 0 13 -25.3000003098 +85.7667127669 23 -46.1147125828 +-60.9597176365 33 0 0 SOLID 5 -37E +380 100 AcDbEntity 8 @@ -21227,33 +21317,33 @@ CONTINUOUS 100 AcDbTrace 10 -27.5000003098 +88.4667127669 20 -46.1646667417 +-60.9097634776 30 0 11 -27.2000003098 +88.1667127669 21 -46.1147125828 +-60.9597176365 31 0 12 -27.2000003098 +88.1667127669 22 -46.2146209006 +-60.8598093187 32 0 13 -27.2000003098 +88.1667127669 23 -46.2146209006 +-60.8598093187 33 0 0 LINE 5 -37F +381 100 AcDbEntity 8 @@ -21267,17 +21357,17 @@ CONTINUOUS 100 AcDbLine 10 -27.497222532 +87.7694905447 20 -46.1646667417 +-60.9097634776 11 -27.5000003098 +88.4667127669 21 -46.1646667417 +-60.9097634776 0 MTEXT 5 -380 +382 100 AcDbEntity 8 @@ -21291,21 +21381,21 @@ CONTINUOUS 100 AcDbMText 10 -26.2500003098 +86.9667127669 20 -46.1646667417 +-60.9097634776 30 0 40 0.8 41 -1.24444444444 +0.355555555556 71 5 72 1 1 -2.5 +3 7 standard 210 @@ -21323,7 +21413,7 @@ standard 0 LINE 5 -381 +383 100 AcDbEntity 8 @@ -21337,17 +21427,17 @@ CONTINUOUS 100 AcDbLine 10 -25.0000003098 +85.4667127669 20 -43.0999998752 +-61.877784531 11 -25.0000003098 +85.4667127669 21 -46.4646667417 +-60.6097634776 0 LINE 5 -382 +384 100 AcDbEntity 8 @@ -21361,19 +21451,19 @@ CONTINUOUS 100 AcDbLine 10 -27.5000003098 +88.4667127669 20 -43.0999998544 +-61.877784531 11 -27.5000003098 +88.4667127669 21 -46.4646667417 +-60.6097634776 0 ENDBLK 5 -128 +12E 330 -126 +12C 100 AcDbEntity 8 @@ -21383,9 +21473,9 @@ AcDbBlockEnd 0 BLOCK 5 -12A +130 330 -129 +12F 100 AcDbEntity 8 @@ -21393,7 +21483,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D34 +*D77 70 1 10 @@ -21401,13 +21491,13 @@ AcDbBlockBegin 20 0 3 -*D34 +*D77 1 0 LINE 5 -383 +385 100 AcDbEntity 8 @@ -21421,17 +21511,17 @@ CONTINUOUS 100 AcDbLine 10 -132.54882917 +74.9667127669 20 -41.0999994219 +-120.477784531 11 -132.54882917 +74.9667127669 21 -14.9295549756 +-120.702784531 0 SOLID 5 -384 +386 100 AcDbEntity 8 @@ -21445,33 +21535,33 @@ CONTINUOUS 100 AcDbTrace 10 -132.54882917 +74.9667127669 20 -41.0999994219 +-120.477784531 30 0 11 -132.598783329 +75.0166669258 21 -40.7999994219 +-120.777784531 31 0 12 -132.498875011 +74.916758608 22 -40.7999994219 +-120.777784531 32 0 13 -132.498875011 +74.916758608 23 -40.7999994219 +-120.777784531 33 0 0 SOLID 5 -385 +387 100 AcDbEntity 8 @@ -21485,33 +21575,33 @@ CONTINUOUS 100 AcDbTrace 10 -132.54882917 +74.9667127669 20 --13.2908894707 +-122.977784531 30 0 11 -132.498875011 +74.916758608 21 --12.9908894707 +-122.677784531 31 0 12 -132.598783329 +75.0166669258 22 --12.9908894707 +-122.677784531 32 0 13 -132.598783329 +75.0166669258 23 --12.9908894707 +-122.677784531 33 0 0 LINE 5 -386 +388 100 AcDbEntity 8 @@ -21525,17 +21615,17 @@ CONTINUOUS 100 AcDbLine 10 -132.54882917 +74.9667127669 20 -12.8795549756 +-122.752784531 11 -132.54882917 +74.9667127669 21 --13.2908894707 +-122.977784531 0 MTEXT 5 -387 +389 100 AcDbEntity 8 @@ -21549,21 +21639,21 @@ CONTINUOUS 100 AcDbMText 10 -132.54882917 +74.9667127669 20 -13.9045549756 +-121.727784531 30 0 40 0.8 41 -3.82222222222 +1.24444444444 71 5 72 1 1 -54.3909 +2.5 7 standard 210 @@ -21581,7 +21671,7 @@ standard 0 LINE 5 -388 +38A 100 AcDbEntity 8 @@ -21595,17 +21685,17 @@ CONTINUOUS 100 AcDbLine 10 -99.5000003098 +72.9667127669 20 -41.0999994219 +-120.477784531 11 -132.84882917 +74.6667127669 21 -41.0999994219 +-120.477784531 0 LINE 5 -389 +38B 100 AcDbEntity 8 @@ -21619,19 +21709,19 @@ CONTINUOUS 100 AcDbLine 10 -99.4999998574 +72.9667127669 20 --13.2908894707 +-122.977784531 11 -132.84882917 +74.6667127669 21 --13.2908894707 +-122.977784531 0 ENDBLK 5 -12B +131 330 -129 +12F 100 AcDbEntity 8 @@ -21641,9 +21731,9 @@ AcDbBlockEnd 0 BLOCK 5 -12D +133 330 -12C +132 100 AcDbEntity 8 @@ -21651,7 +21741,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D2 +*D60 70 1 10 @@ -21659,13 +21749,13 @@ AcDbBlockBegin 20 0 3 -*D2 +*D60 1 0 LINE 5 -38A +38C 100 AcDbEntity 8 @@ -21679,17 +21769,17 @@ CONTINUOUS 100 AcDbLine 10 --25.5 +77.9667127669 20 -46.1646667417 +-60.9097634776 11 --24.8027777778 +80.4694905447 21 -46.1646667417 +-60.9097634776 0 SOLID 5 -38B +38D 100 AcDbEntity 8 @@ -21703,33 +21793,33 @@ CONTINUOUS 100 AcDbTrace 10 --25.5 +77.9667127669 20 -46.1646667417 +-60.9097634776 30 0 11 --25.2 +78.2667127669 21 -46.2146209006 +-60.8598093187 31 0 12 --25.2 +78.2667127669 22 -46.1147125828 +-60.9597176365 32 0 13 --25.2 +78.2667127669 23 -46.1147125828 +-60.9597176365 33 0 0 SOLID 5 -38C +38E 100 AcDbEntity 8 @@ -21743,33 +21833,33 @@ CONTINUOUS 100 AcDbTrace 10 --22.5 +85.4667127669 20 -46.1646667417 +-60.9097634776 30 0 11 --22.8 +85.1667127669 21 -46.1147125828 +-60.9597176365 31 0 12 --22.8 +85.1667127669 22 -46.2146209006 +-60.8598093187 32 0 13 --22.8 +85.1667127669 23 -46.2146209006 +-60.8598093187 33 0 0 LINE 5 -38D +38F 100 AcDbEntity 8 @@ -21783,17 +21873,17 @@ CONTINUOUS 100 AcDbLine 10 --23.1972222222 +82.9639349891 20 -46.1646667417 +-60.9097634776 11 --22.5 +85.4667127669 21 -46.1646667417 +-60.9097634776 0 MTEXT 5 -38E +390 100 AcDbEntity 8 @@ -21807,21 +21897,21 @@ CONTINUOUS 100 AcDbMText 10 --24 +81.7167127669 20 -46.1646667417 +-60.9097634776 30 0 40 0.8 41 -0.355555555556 +1.24444444444 71 5 72 1 1 -3 +7.5 7 standard 210 @@ -21839,7 +21929,7 @@ standard 0 LINE 5 -38F +391 100 AcDbEntity 8 @@ -21853,17 +21943,17 @@ CONTINUOUS 100 AcDbLine 10 --25.5 +77.9667127669 20 -43.1 +-65.377784531 11 --25.5 +77.9667127669 21 -46.4646667417 +-60.6097634776 0 LINE 5 -390 +392 100 AcDbEntity 8 @@ -21877,19 +21967,19 @@ CONTINUOUS 100 AcDbLine 10 --22.5 +85.4667127669 20 -43.1 +-61.877784531 11 --22.5 +85.4667127669 21 -46.4646667417 +-60.6097634776 0 ENDBLK 5 -12E +134 330 -12C +132 100 AcDbEntity 8 @@ -21899,9 +21989,9 @@ AcDbBlockEnd 0 BLOCK 5 -130 +136 330 -12F +135 100 AcDbEntity 8 @@ -21909,7 +21999,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D59 +*D94 70 1 10 @@ -21917,17 +22007,17 @@ AcDbBlockBegin 20 0 3 -*D59 +*D94 1 0 LINE 5 -391 +393 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -21937,21 +22027,21 @@ CONTINUOUS 100 AcDbLine 10 -67.4667127669 +-16.8097333612 20 --60.9097634776 +60.9999999688 11 -68.1639349891 +-16.8097333612 21 --60.9097634776 +28.9624999844 0 SOLID 5 -392 +394 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -21961,37 +22051,37 @@ CONTINUOUS 100 AcDbTrace 10 -67.4667127669 +-16.8097333612 20 --60.9097634776 +60.9999999688 30 0 11 -67.7667127669 +-16.7597792023 21 --60.8598093187 +60.6999999688 31 0 12 -67.7667127669 +-16.8596875201 22 --60.9597176365 +60.6999999688 32 0 13 -67.7667127669 +-16.8596875201 23 --60.9597176365 +60.6999999688 33 0 0 SOLID 5 -393 +395 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22001,37 +22091,37 @@ CONTINUOUS 100 AcDbTrace 10 -70.4667127669 +-16.8097333612 20 --60.9097634776 +-5.125 30 0 11 -70.1667127669 +-16.8596875201 21 --60.9597176365 +-4.825 31 0 12 -70.1667127669 +-16.7597792023 22 --60.8598093187 +-4.825 32 0 13 -70.1667127669 +-16.7597792023 23 --60.8598093187 +-4.825 33 0 0 LINE 5 -394 +396 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22041,21 +22131,21 @@ CONTINUOUS 100 AcDbLine 10 -69.7694905447 +-16.8097333612 20 --60.9097634776 +26.9124999844 11 -70.4667127669 +-16.8097333612 21 --60.9097634776 +-5.125 0 MTEXT 5 -395 +397 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22065,21 +22155,21 @@ CONTINUOUS 100 AcDbMText 10 -68.9667127669 +-16.8097333612 20 --60.9097634776 +27.9374999844 30 0 40 0.8 41 -0.355555555556 +2.93333333333 71 5 72 1 1 -3 +66.125 7 standard 210 @@ -22097,11 +22187,11 @@ standard 0 LINE 5 -396 +398 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22111,21 +22201,21 @@ CONTINUOUS 100 AcDbLine 10 -67.4667127669 +0.50000012071 20 --61.877784531 +60.9999999688 11 -67.4667127669 +-17.1097333612 21 --60.6097634776 +60.9999999688 0 LINE 5 -397 +399 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22135,19 +22225,19 @@ CONTINUOUS 100 AcDbLine 10 -70.4667127669 +2.05 20 --61.877784531 +-5.125 11 -70.4667127669 +-17.1097333612 21 --60.6097634776 +-5.125 0 ENDBLK 5 -131 +137 330 -12F +135 100 AcDbEntity 8 @@ -22157,9 +22247,9 @@ AcDbBlockEnd 0 BLOCK 5 -133 +139 330 -132 +138 100 AcDbEntity 8 @@ -22167,7 +22257,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D27 +*D68 70 1 10 @@ -22175,13 +22265,13 @@ AcDbBlockBegin 20 0 3 -*D27 +*D68 1 0 LINE 5 -398 +39A 100 AcDbEntity 8 @@ -22195,17 +22285,17 @@ CONTINUOUS 100 AcDbLine 10 -121.702603419 +185.339708867 20 -41.0999994219 +-91.377784531 11 -121.702603419 +185.339708867 21 -40.3749995633 +-89.902784531 0 SOLID 5 -399 +39B 100 AcDbEntity 8 @@ -22219,33 +22309,33 @@ CONTINUOUS 100 AcDbTrace 10 -121.702603419 +185.339708867 20 -41.0999994219 +-91.377784531 30 0 11 -121.752557578 +185.289754708 21 -40.7999994219 +-91.077784531 31 0 12 -121.65264926 +185.389663026 22 -40.7999994219 +-91.077784531 32 0 13 -121.65264926 +185.389663026 23 -40.7999994219 +-91.077784531 33 0 0 SOLID 5 -39A +39C 100 AcDbEntity 8 @@ -22259,33 +22349,33 @@ CONTINUOUS 100 AcDbTrace 10 -121.702603419 +185.339708867 20 -37.5999997047 +-86.377784531 30 0 11 -121.65264926 +185.389663026 21 -37.8999997047 +-86.677784531 31 0 12 -121.752557578 +185.289754708 22 -37.8999997047 +-86.677784531 32 0 13 -121.752557578 +185.289754708 23 -37.8999997047 +-86.677784531 33 0 0 LINE 5 -39B +39D 100 AcDbEntity 8 @@ -22299,17 +22389,17 @@ CONTINUOUS 100 AcDbLine 10 -121.702603419 +185.339708867 20 -38.3249995633 +-87.852784531 11 -121.702603419 +185.339708867 21 -37.5999997047 +-86.377784531 0 MTEXT 5 -39C +39E 100 AcDbEntity 8 @@ -22323,21 +22413,21 @@ CONTINUOUS 100 AcDbMText 10 -121.702603419 +185.339708867 20 -39.3499995633 +-88.877784531 30 0 40 0.8 41 -1.24444444444 +0.355555555556 71 5 72 1 1 -3.5 +5 7 standard 210 @@ -22355,7 +22445,7 @@ standard 0 LINE 5 -39D +39F 100 AcDbEntity 8 @@ -22369,17 +22459,17 @@ CONTINUOUS 100 AcDbLine 10 -99.5000003098 +170.966712767 20 -41.0999994219 +-91.377784531 11 -122.002603419 +185.639708867 21 -41.0999994219 +-91.377784531 0 LINE 5 -39E +3A0 100 AcDbEntity 8 @@ -22393,19 +22483,19 @@ CONTINUOUS 100 AcDbLine 10 -94.5000003098 +175.966712767 20 -37.5999997047 +-86.377784531 11 -122.002603419 +185.639708867 21 -37.5999997047 +-86.377784531 0 ENDBLK 5 -134 +13A 330 -132 +138 100 AcDbEntity 8 @@ -22415,9 +22505,9 @@ AcDbBlockEnd 0 BLOCK 5 -136 +13C 330 -135 +13B 100 AcDbEntity 8 @@ -22425,7 +22515,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D56 +*D95 70 1 10 @@ -22433,17 +22523,17 @@ AcDbBlockBegin 20 0 3 -*D56 +*D95 1 0 LINE 5 -39F +3A1 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22453,21 +22543,21 @@ CONTINUOUS 100 AcDbLine 10 -127.380113994 +25.125 20 -31.9999995612 +63.7501208602 11 -127.380113994 +23.1819445048 21 -28.2749997806 +63.7501208602 0 SOLID 5 -3A0 +3A2 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22477,37 +22567,37 @@ CONTINUOUS 100 AcDbTrace 10 -127.380113994 +25.125 20 -31.9999995612 +63.7501208602 30 0 11 -127.430068153 +24.825 21 -31.6999995612 +63.7001667013 31 0 12 -127.330159835 +24.825 22 -31.6999995612 +63.8000750191 32 0 13 -127.330159835 +24.825 23 -31.6999995612 +63.8000750191 33 0 0 SOLID 5 -3A1 +3A3 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22517,37 +22607,37 @@ CONTINUOUS 100 AcDbTrace 10 -127.380113994 +17.5000001207 20 -22.5 +63.7501208602 30 0 11 -127.330159835 +17.8000001207 21 -22.8 +63.8000750191 31 0 12 -127.430068153 +17.8000001207 22 -22.8 +63.7001667013 32 0 13 -127.430068153 +17.8000001207 23 -22.8 +63.7001667013 33 0 0 LINE 5 -3A2 +3A4 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22557,21 +22647,21 @@ CONTINUOUS 100 AcDbLine 10 -127.380113994 +19.443055616 20 -26.2249997806 +63.7501208602 11 -127.380113994 +17.5000001207 21 -22.5 +63.7501208602 0 MTEXT 5 -3A3 +3A5 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22581,21 +22671,21 @@ CONTINUOUS 100 AcDbMText 10 -127.380113994 +21.3125000604 20 -27.2499997806 +63.7501208602 30 0 40 0.8 41 -1.24444444444 +2.48888888889 71 5 72 1 1 -9.5 +7.625 7 standard 210 @@ -22613,11 +22703,11 @@ standard 0 LINE 5 -3A4 +3A6 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22627,21 +22717,21 @@ CONTINUOUS 100 AcDbLine 10 -114.500000234 +25.125 20 -31.9999995612 +27.125 11 -127.680113994 +25.125 21 -31.9999995612 +64.0501208602 0 LINE 5 -3A5 +3A7 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -22651,19 +22741,19 @@ CONTINUOUS 100 AcDbLine 10 -108.500000155 +17.5000001207 20 -22.5 +62.9999999064 11 -127.680113994 +17.5000001207 21 -22.5 +64.0501208602 0 ENDBLK 5 -137 +13D 330 -135 +13B 100 AcDbEntity 8 @@ -22673,9 +22763,9 @@ AcDbBlockEnd 0 BLOCK 5 -139 +13F 330 -138 +13E 100 AcDbEntity 8 @@ -22683,7 +22773,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D64 +*D24 70 1 10 @@ -22691,13 +22781,13 @@ AcDbBlockBegin 20 0 3 -*D64 +*D24 1 0 LINE 5 -3A6 +3A8 100 AcDbEntity 8 @@ -22711,17 +22801,17 @@ CONTINUOUS 100 AcDbLine 10 -113.466712767 +23 20 --60.9097634776 +10.8725 11 -115.163934989 +23 21 --60.9097634776 +10.1475 0 SOLID 5 -3A7 +3A9 100 AcDbEntity 8 @@ -22735,33 +22825,33 @@ CONTINUOUS 100 AcDbTrace 10 -113.466712767 +23 20 --60.9097634776 +10.8725 30 0 11 -113.766712767 +23.0499541589 21 --60.8598093187 +10.5725 31 0 12 -113.766712767 +22.9500458411 22 --60.9597176365 +10.5725 32 0 13 -113.766712767 +22.9500458411 23 --60.9597176365 +10.5725 33 0 0 SOLID 5 -3A8 +3AA 100 AcDbEntity 8 @@ -22775,33 +22865,33 @@ CONTINUOUS 100 AcDbTrace 10 -118.466712767 +23 20 --60.9097634776 +7.3725 30 0 11 -118.166712767 +22.9500458411 21 --60.9597176365 +7.6725 31 0 12 -118.166712767 +23.0499541589 22 --60.8598093187 +7.6725 32 0 13 -118.166712767 +23.0499541589 23 --60.8598093187 +7.6725 33 0 0 LINE 5 -3A9 +3AB 100 AcDbEntity 8 @@ -22815,17 +22905,17 @@ CONTINUOUS 100 AcDbLine 10 -116.769490545 +23 20 --60.9097634776 +8.0975 11 -118.466712767 +23 21 --60.9097634776 +7.3725 0 MTEXT 5 -3AA +3AC 100 AcDbEntity 8 @@ -22839,21 +22929,21 @@ CONTINUOUS 100 AcDbMText 10 -115.966712767 +23 20 --60.9097634776 +9.1225 30 0 40 0.8 41 -0.355555555556 +1.24444444444 71 5 72 1 1 -5 +3.5 7 standard 210 @@ -22871,7 +22961,7 @@ standard 0 LINE 5 -3AB +3AD 100 AcDbEntity 8 @@ -22885,17 +22975,17 @@ CONTINUOUS 100 AcDbLine 10 -113.466712767 +23 20 --61.877784531 +10.8725 11 -113.466712767 +23.3 21 --60.6097634776 +10.8725 0 LINE 5 -3AC +3AE 100 AcDbEntity 8 @@ -22909,19 +22999,19 @@ CONTINUOUS 100 AcDbLine 10 -118.466712767 +23 20 --65.127784531 +7.3725 11 -118.466712767 +23.3 21 --60.6097634776 +7.3725 0 ENDBLK 5 -13A +140 330 -138 +13E 100 AcDbEntity 8 @@ -22931,9 +23021,9 @@ AcDbBlockEnd 0 BLOCK 5 -13C +142 330 -13B +141 100 AcDbEntity 8 @@ -22941,7 +23031,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D100 +*D52 70 1 10 @@ -22949,17 +23039,17 @@ AcDbBlockBegin 20 0 3 -*D100 +*D52 1 0 LINE 5 -3AD +3AF 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -22969,21 +23059,21 @@ CONTINUOUS 100 AcDbLine 10 -10.95 +50.0719282636 20 --7.8656865539 +82.4462495497 11 -9.05 +50.0719282636 21 --7.8656865539 +86.4212495497 0 SOLID 5 -3AE +3B0 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -22993,37 +23083,37 @@ CONTINUOUS 100 AcDbTrace 10 -10.95 +50.0719282636 20 --7.8656865539 +82.4462495497 30 0 11 -10.65 +50.0219741047 21 --7.91564071283 +82.7462495497 31 0 12 -10.65 +50.1218824225 22 --7.81573239497 +82.7462495497 32 0 13 -10.65 +50.1218824225 23 --7.81573239497 +82.7462495497 33 0 0 SOLID 5 -3AF +3B1 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -23033,37 +23123,61 @@ CONTINUOUS 100 AcDbTrace 10 -9.05 +50.0719282636 20 --7.8656865539 +92.4462495497 30 0 11 -9.35 +50.1218824225 21 --7.81573239497 +92.1462495497 31 0 12 -9.35 +50.0219741047 22 --7.91564071283 +92.1462495497 32 0 13 -9.35 +50.0219741047 23 --7.91564071283 +92.1462495497 33 0 0 +LINE +5 +3B2 +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +50.0719282636 +20 +88.4712495497 +11 +50.0719282636 +21 +92.4462495497 +0 MTEXT 5 -3B0 +3B3 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -23073,21 +23187,21 @@ CONTINUOUS 100 AcDbMText 10 -10 +49.0469282636 20 --7.8656865539 +87.4462495497 30 0 40 0.8 41 -1.06666666667 +0.8 71 5 72 1 1 -1.9 +10 7 standard 210 @@ -23105,11 +23219,11 @@ standard 0 LINE 5 -3B1 +3B4 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -23119,21 +23233,21 @@ CONTINUOUS 100 AcDbLine 10 -10.95 +47.5000005039 20 --2.2 +82.4462495497 11 -10.95 +50.3719282636 21 --8.1656865539 +82.4462495497 0 LINE 5 -3B2 +3B5 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -23143,19 +23257,19 @@ CONTINUOUS 100 AcDbLine 10 -9.05 +47.5000005039 20 --2.2 +92.4462495497 11 -9.05 +50.3719282636 21 --8.1656865539 +92.4462495497 0 ENDBLK 5 -13D +143 330 -13B +141 100 AcDbEntity 8 @@ -23165,9 +23279,9 @@ AcDbBlockEnd 0 BLOCK 5 -13F +145 330 -13E +144 100 AcDbEntity 8 @@ -23175,7 +23289,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D15 +*D102 70 1 10 @@ -23183,17 +23297,17 @@ AcDbBlockBegin 20 0 3 -*D15 +*D102 1 0 LINE 5 -3B3 +3B6 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -23203,21 +23317,21 @@ CONTINUOUS 100 AcDbLine 10 -16 +70.125 20 -13.3725 +63.7501208602 11 -17.1527777778 +77.1 21 -13.3725 +63.7501208602 0 SOLID 5 -3B4 +3B7 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -23227,37 +23341,37 @@ CONTINUOUS 100 AcDbTrace 10 -16 +70.125 20 -13.3725 +63.7501208602 30 0 11 -16.3 +70.425 21 -13.4224541589 +63.8000750191 31 0 12 -16.3 +70.425 22 -13.3225458411 +63.7001667013 32 0 13 -16.3 +70.425 23 -13.3225458411 +63.7001667013 33 0 0 SOLID 5 -3B5 +3B8 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -23267,37 +23381,37 @@ CONTINUOUS 100 AcDbTrace 10 +86.125 20 -20 -13.3725 +63.7501208602 30 0 11 -19.7 +85.825 21 -13.3225458411 +63.7001667013 31 0 12 -19.7 +85.825 22 -13.4224541589 +63.8000750191 32 0 13 -19.7 +85.825 23 -13.4224541589 +63.8000750191 33 0 0 LINE 5 -3B6 +3B9 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -23307,21 +23421,21 @@ CONTINUOUS 100 AcDbLine 10 -18.8472222222 +79.15 20 -13.3725 +63.7501208602 11 -20 +86.125 21 -13.3725 +63.7501208602 0 MTEXT 5 -3B7 +3BA 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -23331,21 +23445,21 @@ CONTINUOUS 100 AcDbMText 10 -18 +78.125 20 -13.3725 +63.7501208602 30 0 40 0.8 41 -0.444444444444 +0.8 71 5 72 1 1 -4 +16 7 standard 210 @@ -23363,11 +23477,11 @@ standard 0 LINE 5 -3B8 +3BB 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -23377,21 +23491,21 @@ CONTINUOUS 100 AcDbLine 10 -16 +70.125 20 -15.3725 +44.999999923 11 -16 +70.125 21 -13.6725 +64.0501208602 0 LINE 5 -3B9 +3BC 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -23401,19 +23515,19 @@ CONTINUOUS 100 AcDbLine 10 +86.125 20 -20 -15.3725 +62.9999996207 11 -20 +86.125 21 -13.6725 +64.0501208602 0 ENDBLK 5 -140 +146 330 -13E +144 100 AcDbEntity 8 @@ -23423,9 +23537,9 @@ AcDbBlockEnd 0 BLOCK 5 -142 +148 330 -141 +147 100 AcDbEntity 8 @@ -23433,7 +23547,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D68 +*D64 70 1 10 @@ -23441,13 +23555,13 @@ AcDbBlockBegin 20 0 3 -*D68 +*D64 1 0 LINE 5 -3BA +3BD 100 AcDbEntity 8 @@ -23461,17 +23575,17 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +118.466712767 20 --96.377784531 +-60.9097634776 11 -185.339708867 +120.163934989 21 --94.902784531 +-60.9097634776 0 SOLID 5 -3BB +3BE 100 AcDbEntity 8 @@ -23485,33 +23599,33 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +118.466712767 20 --96.377784531 +-60.9097634776 30 0 11 -185.289754708 +118.766712767 21 --96.077784531 +-60.8598093187 31 0 12 -185.389663026 +118.766712767 22 --96.077784531 +-60.9597176365 32 0 13 -185.389663026 +118.766712767 23 --96.077784531 +-60.9597176365 33 0 0 SOLID 5 -3BC +3BF 100 AcDbEntity 8 @@ -23525,33 +23639,33 @@ CONTINUOUS 100 AcDbTrace 10 -185.339708867 +123.466712767 20 --91.377784531 +-60.9097634776 30 0 11 -185.389663026 +123.166712767 21 --91.677784531 +-60.9597176365 31 0 12 -185.289754708 +123.166712767 22 --91.677784531 +-60.8598093187 32 0 13 -185.289754708 +123.166712767 23 --91.677784531 +-60.8598093187 33 0 0 LINE 5 -3BD +3C0 100 AcDbEntity 8 @@ -23565,17 +23679,17 @@ CONTINUOUS 100 AcDbLine 10 -185.339708867 +121.769490545 20 --92.852784531 +-60.9097634776 11 -185.339708867 +123.466712767 21 --91.377784531 +-60.9097634776 0 MTEXT 5 -3BE +3C1 100 AcDbEntity 8 @@ -23589,9 +23703,9 @@ CONTINUOUS 100 AcDbMText 10 -185.339708867 +120.966712767 20 --93.877784531 +-60.9097634776 30 0 40 @@ -23621,7 +23735,7 @@ standard 0 LINE 5 -3BF +3C2 100 AcDbEntity 8 @@ -23635,17 +23749,17 @@ CONTINUOUS 100 AcDbLine 10 -175.966712767 +118.466712767 20 --96.377784531 +-65.127784531 11 -185.639708867 +118.466712767 21 --96.377784531 +-60.6097634776 0 LINE 5 -3C0 +3C3 100 AcDbEntity 8 @@ -23659,19 +23773,19 @@ CONTINUOUS 100 AcDbLine 10 -170.966712767 +123.466712767 20 --91.377784531 +-61.877784531 11 -185.639708867 +123.466712767 21 --91.377784531 +-60.6097634776 0 ENDBLK 5 -143 +149 330 -141 +147 100 AcDbEntity 8 @@ -23681,9 +23795,9 @@ AcDbBlockEnd 0 BLOCK 5 -145 +14B 330 -144 +14A 100 AcDbEntity 8 @@ -23691,7 +23805,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D77 +*D75 70 1 10 @@ -23699,13 +23813,13 @@ AcDbBlockBegin 20 0 3 -*D77 +*D75 1 0 LINE 5 -3C1 +3C4 100 AcDbEntity 8 @@ -23719,17 +23833,17 @@ CONTINUOUS 100 AcDbLine 10 -82.9667127669 +77.9667127669 20 --121.377784531 +-67.377784531 11 -82.9667127669 +76.2694905447 21 --122.977784531 +-67.377784531 0 SOLID 5 -3C2 +3C5 100 AcDbEntity 8 @@ -23743,33 +23857,33 @@ CONTINUOUS 100 AcDbTrace 10 -82.9667127669 +77.9667127669 20 --121.377784531 +-67.377784531 30 0 11 -83.0166669258 +77.6667127669 21 --121.677784531 +-67.4277386899 31 0 12 -82.916758608 +77.6667127669 22 --121.677784531 +-67.3278303721 32 0 13 -82.916758608 +77.6667127669 23 --121.677784531 +-67.3278303721 33 0 0 SOLID 5 -3C3 +3C6 100 AcDbEntity 8 @@ -23783,33 +23897,57 @@ CONTINUOUS 100 AcDbTrace 10 -82.9667127669 +72.9667127669 20 --122.977784531 +-67.377784531 30 0 11 -82.916758608 +73.2667127669 21 --122.677784531 +-67.3278303721 31 0 12 -83.0166669258 +73.2667127669 22 --122.677784531 +-67.4277386899 32 0 13 -83.0166669258 +73.2667127669 23 --122.677784531 +-67.4277386899 33 0 0 +LINE +5 +3C7 +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +74.6639349891 +20 +-67.377784531 +11 +72.9667127669 +21 +-67.377784531 +0 MTEXT 5 -3C4 +3C8 100 AcDbEntity 8 @@ -23823,21 +23961,21 @@ CONTINUOUS 100 AcDbMText 10 -82.9667127669 +75.4667127669 20 --122.177784531 +-67.377784531 30 0 40 0.8 41 -1.06666666667 +0.355555555556 71 5 72 1 1 -1.6 +5 7 standard 210 @@ -23855,7 +23993,7 @@ standard 0 LINE 5 -3C5 +3C9 100 AcDbEntity 8 @@ -23869,17 +24007,17 @@ CONTINUOUS 100 AcDbLine 10 -84.9667127669 +77.9667127669 20 --121.377784531 +-65.377784531 11 -83.2667127669 +77.9667127669 21 --121.377784531 +-67.077784531 0 LINE 5 -3C6 +3CA 100 AcDbEntity 8 @@ -23893,19 +24031,19 @@ CONTINUOUS 100 AcDbLine 10 -82.9667127669 +72.9667127669 20 --122.977784531 +-74.6108771873 11 -83.2667127669 +72.9667127669 21 --122.977784531 +-67.077784531 0 ENDBLK 5 -146 +14C 330 -144 +14A 100 AcDbEntity 8 @@ -23915,9 +24053,9 @@ AcDbBlockEnd 0 BLOCK 5 -148 +14E 330 -147 +14D 100 AcDbEntity 8 @@ -23925,7 +24063,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D60 +*D35 70 1 10 @@ -23933,13 +24071,13 @@ AcDbBlockBegin 20 0 3 -*D60 +*D35 1 0 LINE 5 -3C7 +3CB 100 AcDbEntity 8 @@ -23953,17 +24091,17 @@ CONTINUOUS 100 AcDbLine 10 -70.4667127669 +97.5000003098 20 --60.9097634776 +45.4281607231 11 -72.9694905447 +93.5250003098 21 --60.9097634776 +45.4281607231 0 SOLID 5 -3C8 +3CC 100 AcDbEntity 8 @@ -23977,33 +24115,33 @@ CONTINUOUS 100 AcDbTrace 10 -70.4667127669 +97.5000003098 20 --60.9097634776 +45.4281607231 30 0 11 -70.7667127669 +97.2000003098 21 --60.8598093187 +45.3782065642 31 0 12 -70.7667127669 +97.2000003098 22 --60.9597176365 +45.478114882 32 0 13 -70.7667127669 +97.2000003098 23 --60.9597176365 +45.478114882 33 0 0 SOLID 5 -3C9 +3CD 100 AcDbEntity 8 @@ -24017,33 +24155,33 @@ CONTINUOUS 100 AcDbTrace 10 -77.9667127669 +87.5000003098 20 --60.9097634776 +45.4281607231 30 0 11 -77.6667127669 +87.8000003098 21 --60.9597176365 +45.478114882 31 0 12 -77.6667127669 +87.8000003098 22 --60.8598093187 +45.3782065642 32 0 13 -77.6667127669 +87.8000003098 23 --60.8598093187 +45.3782065642 33 0 0 LINE 5 -3CA +3CE 100 AcDbEntity 8 @@ -24057,17 +24195,17 @@ CONTINUOUS 100 AcDbLine 10 -75.4639349891 +91.4750003098 20 --60.9097634776 +45.4281607231 11 -77.9667127669 +87.5000003098 21 --60.9097634776 +45.4281607231 0 MTEXT 5 -3CB +3CF 100 AcDbEntity 8 @@ -24081,21 +24219,21 @@ CONTINUOUS 100 AcDbMText 10 -74.2167127669 +92.5000003098 20 --60.9097634776 +45.4281607231 30 0 40 0.8 41 -1.24444444444 +0.8 71 5 72 1 1 -7.5 +10 7 standard 210 @@ -24113,7 +24251,7 @@ standard 0 LINE 5 -3CC +3D0 100 AcDbEntity 8 @@ -24127,17 +24265,17 @@ CONTINUOUS 100 AcDbLine 10 -70.4667127669 +97.5000003098 20 --61.877784531 +43.0999994219 11 -70.4667127669 +97.5000003098 21 --60.6097634776 +45.7281607231 0 LINE 5 -3CD +3D1 100 AcDbEntity 8 @@ -24151,19 +24289,19 @@ CONTINUOUS 100 AcDbLine 10 -77.9667127669 +87.5000003098 20 --65.377784531 +43.0999995051 11 -77.9667127669 +87.5000003098 21 --60.6097634776 +45.7281607231 0 ENDBLK 5 -149 +14F 330 -147 +14D 100 AcDbEntity 8 @@ -24173,9 +24311,9 @@ AcDbBlockEnd 0 BLOCK 5 -14B +151 330 -14A +150 100 AcDbEntity 8 @@ -24183,7 +24321,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D109 +*D91 70 1 10 @@ -24191,13 +24329,13 @@ AcDbBlockBegin 20 0 3 -*D109 +*D91 1 0 LINE 5 -3CE +3D2 100 AcDbEntity 8 @@ -24211,17 +24349,17 @@ CONTINUOUS 100 AcDbLine 10 -137.750000121 +-12.0522616552 20 -63.7501208602 +18.3 11 -139.693055616 +-12.0522616552 21 -63.7501208602 +16.825 0 SOLID 5 -3CF +3D3 100 AcDbEntity 8 @@ -24235,33 +24373,33 @@ CONTINUOUS 100 AcDbTrace 10 -137.750000121 +-12.0522616552 20 -63.7501208602 +18.3 30 0 11 -138.050000121 +-12.0023074963 21 -63.8000750191 +18 31 0 12 -138.050000121 +-12.1022158141 22 -63.7001667013 +18 32 0 13 -138.050000121 +-12.1022158141 23 -63.7001667013 +18 33 0 0 SOLID 5 -3D0 +3D4 100 AcDbEntity 8 @@ -24275,33 +24413,33 @@ CONTINUOUS 100 AcDbTrace 10 -145.375 +-12.0522616552 20 -63.7501208602 +13.3 30 0 11 -145.075 +-12.1022158141 21 -63.7001667013 +13.6 31 0 12 -145.075 +-12.0023074963 22 -63.8000750191 +13.6 32 0 13 -145.075 +-12.0023074963 23 -63.8000750191 +13.6 33 0 0 LINE 5 -3D1 +3D5 100 AcDbEntity 8 @@ -24315,17 +24453,17 @@ CONTINUOUS 100 AcDbLine 10 -143.431944504 +-12.0522616552 20 -63.7501208602 +14.775 11 -145.375 +-12.0522616552 21 -63.7501208602 +13.3 0 MTEXT 5 -3D2 +3D6 100 AcDbEntity 8 @@ -24339,21 +24477,21 @@ CONTINUOUS 100 AcDbMText 10 -141.56250006 +-12.0522616552 20 -63.7501208602 +15.8 30 0 40 0.8 41 -2.48888888889 +0.355555555556 71 5 72 1 1 -7.625 +5 7 standard 210 @@ -24371,7 +24509,7 @@ standard 0 LINE 5 -3D3 +3D7 100 AcDbEntity 8 @@ -24385,17 +24523,17 @@ CONTINUOUS 100 AcDbLine 10 -137.750000121 +-2.2 20 -62.9999999064 +18.3 11 -137.750000121 +-12.3522616552 21 -64.0501208602 +18.3 0 LINE 5 -3D4 +3D8 100 AcDbEntity 8 @@ -24409,19 +24547,19 @@ CONTINUOUS 100 AcDbLine 10 -145.375 +-7.125 20 -27.125 +13.3 11 -145.375 +-12.3522616552 21 -64.0501208602 +13.3 0 ENDBLK 5 -14C +152 330 -14A +150 100 AcDbEntity 8 @@ -24431,9 +24569,9 @@ AcDbBlockEnd 0 BLOCK 5 -14E +154 330 -14D +153 100 AcDbEntity 8 @@ -24441,7 +24579,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D32 +*D62 70 1 10 @@ -24449,13 +24587,13 @@ AcDbBlockBegin 20 0 3 -*D32 +*D62 1 0 LINE 5 -3D5 +3D9 100 AcDbEntity 8 @@ -24469,17 +24607,17 @@ CONTINUOUS 100 AcDbLine 10 -127.380113994 +67.4667127669 20 -41.0999994219 +-55.4713917385 11 -127.380113994 +76.9417127669 21 -39.0749995165 +-55.4713917385 0 SOLID 5 -3D6 +3DA 100 AcDbEntity 8 @@ -24493,33 +24631,33 @@ CONTINUOUS 100 AcDbTrace 10 -127.380113994 +67.4667127669 20 -41.0999994219 +-55.4713917385 30 0 11 -127.430068153 +67.7667127669 21 -40.7999994219 +-55.4214375796 31 0 12 -127.330159835 +67.7667127669 22 -40.7999994219 +-55.5213458974 32 0 13 -127.330159835 +67.7667127669 23 -40.7999994219 +-55.5213458974 33 0 0 SOLID 5 -3D7 +3DB 100 AcDbEntity 8 @@ -24533,33 +24671,33 @@ CONTINUOUS 100 AcDbTrace 10 -127.380113994 +88.4667127669 20 -34.999999611 +-55.4713917385 30 0 11 -127.330159835 +88.1667127669 21 -35.299999611 +-55.5213458974 31 0 12 -127.430068153 +88.1667127669 22 -35.299999611 +-55.4214375796 32 0 13 -127.430068153 +88.1667127669 23 -35.299999611 +-55.4214375796 33 0 0 LINE 5 -3D8 +3DC 100 AcDbEntity 8 @@ -24573,17 +24711,17 @@ CONTINUOUS 100 AcDbLine 10 -127.380113994 +78.9917127669 20 -37.0249995165 +-55.4713917385 11 -127.380113994 +88.4667127669 21 -34.999999611 +-55.4713917385 0 MTEXT 5 -3D9 +3DD 100 AcDbEntity 8 @@ -24597,21 +24735,21 @@ CONTINUOUS 100 AcDbMText 10 -127.380113994 +77.9667127669 20 -38.0499995165 +-55.4713917385 30 0 40 0.8 41 -1.06666666667 +0.8 71 5 72 1 1 -6.1 +21 7 standard 210 @@ -24629,7 +24767,7 @@ standard 0 LINE 5 -3DA +3DE 100 AcDbEntity 8 @@ -24643,17 +24781,17 @@ CONTINUOUS 100 AcDbLine 10 -99.5000003098 +67.4667127669 20 -41.0999994219 +-61.877784531 11 -127.680113994 +67.4667127669 21 -41.0999994219 +-55.1713917385 0 LINE 5 -3DB +3DF 100 AcDbEntity 8 @@ -24667,19 +24805,19 @@ CONTINUOUS 100 AcDbLine 10 -108.500000259 +88.4667127669 20 -34.999999611 +-61.877784531 11 -127.680113994 +88.4667127669 21 -34.999999611 +-55.1713917385 0 ENDBLK 5 -14F +155 330 -14D +153 100 AcDbEntity 8 @@ -24689,9 +24827,9 @@ AcDbBlockEnd 0 BLOCK 5 -151 +157 330 -150 +156 100 AcDbEntity 8 @@ -24699,7 +24837,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D12 +*D71 70 1 10 @@ -24707,13 +24845,13 @@ AcDbBlockBegin 20 0 3 -*D12 +*D71 1 0 LINE 5 -3DC +3E0 100 AcDbEntity 8 @@ -24727,17 +24865,17 @@ CONTINUOUS 100 AcDbLine 10 -27.5000003098 +185.339708867 20 -38.0499998752 +-67.377784531 11 -27.497222532 +185.339708867 21 -38.0499998752 +-66.652784531 0 SOLID 5 -3DD +3E1 100 AcDbEntity 8 @@ -24751,33 +24889,33 @@ CONTINUOUS 100 AcDbTrace 10 -27.5000003098 +185.339708867 20 -38.0499998752 +-67.377784531 30 0 11 -27.2000003098 +185.289754708 21 -38.0000457163 +-67.077784531 31 0 12 -27.2000003098 +185.389663026 22 -38.0999540341 +-67.077784531 32 0 13 -27.2000003098 +185.389663026 23 -38.0999540341 +-67.077784531 33 0 0 SOLID 5 -3DE +3E2 100 AcDbEntity 8 @@ -24791,33 +24929,33 @@ CONTINUOUS 100 AcDbTrace 10 -25.0000003098 +185.339708867 20 -38.0499998752 +-63.877784531 30 0 11 -25.3000003098 +185.389663026 21 -38.0999540341 +-64.177784531 31 0 12 -25.3000003098 +185.289754708 22 -38.0000457163 +-64.177784531 32 0 13 -25.3000003098 +185.289754708 23 -38.0000457163 +-64.177784531 33 0 0 LINE 5 -3DF +3E3 100 AcDbEntity 8 @@ -24831,17 +24969,17 @@ CONTINUOUS 100 AcDbLine 10 -25.0027780876 +185.339708867 20 -38.0499998752 +-64.602784531 11 -25.0000003098 +185.339708867 21 -38.0499998752 +-63.877784531 0 MTEXT 5 -3E0 +3E4 100 AcDbEntity 8 @@ -24855,9 +24993,9 @@ CONTINUOUS 100 AcDbMText 10 -26.2500003098 +185.339708867 20 -38.0499998752 +-65.627784531 30 0 40 @@ -24869,7 +25007,7 @@ AcDbMText 72 1 1 -2.5 +3.5 7 standard 210 @@ -24887,7 +25025,7 @@ standard 0 LINE 5 -3E1 +3E5 100 AcDbEntity 8 @@ -24901,17 +25039,17 @@ CONTINUOUS 100 AcDbLine 10 -27.5000003098 +170.966712767 20 -39.0999998544 +-67.377784531 11 -27.5000003098 +185.639708867 21 -37.7499998752 +-67.377784531 0 LINE 5 -3E2 +3E6 100 AcDbEntity 8 @@ -24925,19 +25063,19 @@ CONTINUOUS 100 AcDbLine 10 -25.0000003098 +181.466712767 20 -39.0999998752 +-63.877784531 11 -25.0000003098 +185.639708867 21 -37.7499998752 +-63.877784531 0 ENDBLK 5 -152 +158 330 -150 +156 100 AcDbEntity 8 @@ -24947,9 +25085,9 @@ AcDbBlockEnd 0 BLOCK 5 -154 +15A 330 -153 +159 100 AcDbEntity 8 @@ -24957,7 +25095,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D105 +*D88 70 1 10 @@ -24965,13 +25103,13 @@ AcDbBlockBegin 20 0 3 -*D105 +*D88 1 0 LINE 5 -3E3 +3E7 100 AcDbEntity 8 @@ -24985,17 +25123,17 @@ CONTINUOUS 100 AcDbLine 10 -50.125 +-12.0522616552 20 -67.8732630054 +37.9999999563 11 -68.9666666667 +-12.0522616552 21 -67.8732630054 +32.5874999782 0 SOLID 5 -3E4 +3E8 100 AcDbEntity 8 @@ -25009,33 +25147,33 @@ CONTINUOUS 100 AcDbTrace 10 -50.125 +-12.0522616552 20 -67.8732630054 +37.9999999563 30 0 11 -50.425 +-12.0023074963 21 -67.9232171643 +37.6999999563 31 0 12 -50.425 +-12.1022158141 22 -67.8233088465 +37.6999999563 32 0 13 -50.425 +-12.1022158141 23 -67.8233088465 +37.6999999563 33 0 0 SOLID 5 -3E5 +3E9 100 AcDbEntity 8 @@ -25049,33 +25187,33 @@ CONTINUOUS 100 AcDbTrace 10 -90.125 +-12.0522616552 20 -67.8732630054 +25.125 30 0 11 -89.825 +-12.1022158141 21 -67.8233088465 +25.425 31 0 12 -89.825 +-12.0023074963 22 -67.9232171643 +25.425 32 0 13 -89.825 +-12.0023074963 23 -67.9232171643 +25.425 33 0 0 LINE 5 -3E6 +3EA 100 AcDbEntity 8 @@ -25089,17 +25227,17 @@ CONTINUOUS 100 AcDbLine 10 -71.2833333333 +-12.0522616552 20 -67.8732630054 +30.5374999782 11 -90.125 +-12.0522616552 21 -67.8732630054 +25.125 0 MTEXT 5 -3E7 +3EB 100 AcDbEntity 8 @@ -25113,21 +25251,21 @@ CONTINUOUS 100 AcDbMText 10 -70.125 +-12.0522616552 20 -67.8732630054 +31.5624999782 30 0 40 0.8 41 -1.06666666667 +2.93333333333 71 5 72 1 1 -40 +12.875 7 standard 210 @@ -25145,7 +25283,7 @@ standard 0 LINE 5 -3E8 +3EC 100 AcDbEntity 8 @@ -25159,17 +25297,17 @@ CONTINUOUS 100 AcDbLine 10 -50.125 +3.50000002498 20 -45.0000003999 +37.9999999563 11 -50.125 +-12.3522616552 21 -68.1732630054 +37.9999999563 0 LINE 5 -3E9 +3ED 100 AcDbEntity 8 @@ -25183,19 +25321,19 @@ CONTINUOUS 100 AcDbLine 10 -90.125 +-7.125 20 -56.9999996041 +25.125 11 -90.125 +-12.3522616552 21 -68.1732630054 +25.125 0 ENDBLK 5 -155 +15B 330 -153 +159 100 AcDbEntity 8 @@ -25205,9 +25343,9 @@ AcDbBlockEnd 0 BLOCK 5 -157 +15D 330 -156 +15C 100 AcDbEntity 8 @@ -25229,7 +25367,7 @@ AcDbBlockBegin 0 LINE 5 -3EA +3EE 100 AcDbEntity 8 @@ -25253,7 +25391,7 @@ AcDbLine 0 SOLID 5 -3EB +3EF 100 AcDbEntity 8 @@ -25293,7 +25431,7 @@ AcDbTrace 0 SOLID 5 -3EC +3F0 100 AcDbEntity 8 @@ -25333,7 +25471,7 @@ AcDbTrace 0 LINE 5 -3ED +3F1 100 AcDbEntity 8 @@ -25357,7 +25495,7 @@ AcDbLine 0 MTEXT 5 -3EE +3F2 100 AcDbEntity 8 @@ -25403,7 +25541,7 @@ standard 0 LINE 5 -3EF +3F3 100 AcDbEntity 8 @@ -25427,7 +25565,7 @@ AcDbLine 0 LINE 5 -3F0 +3F4 100 AcDbEntity 8 @@ -25451,9 +25589,9 @@ AcDbLine 0 ENDBLK 5 -158 +15E 330 -156 +15C 100 AcDbEntity 8 @@ -25463,9 +25601,9 @@ AcDbBlockEnd 0 BLOCK 5 -15A +160 330 -159 +15F 100 AcDbEntity 8 @@ -25473,7 +25611,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D97 +*D6 70 1 10 @@ -25481,17 +25619,17 @@ AcDbBlockBegin 20 0 3 -*D97 +*D6 1 0 LINE 5 -3F1 +3F5 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -25501,21 +25639,21 @@ CONTINUOUS 100 AcDbLine 10 -17.5000001207 +25.0000003098 20 -63.7501208602 +46.1646667417 11 -14.9972223429 +25.0027780876 21 -63.7501208602 +46.1646667417 0 SOLID 5 -3F2 +3F6 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -25525,37 +25663,37 @@ CONTINUOUS 100 AcDbTrace 10 -17.5000001207 +25.0000003098 20 -63.7501208602 +46.1646667417 30 0 11 -17.2000001207 +25.3000003098 21 -63.7001667013 +46.2146209006 31 0 12 -17.2000001207 +25.3000003098 22 -63.8000750191 +46.1147125828 32 0 13 -17.2000001207 +25.3000003098 23 -63.8000750191 +46.1147125828 33 0 0 SOLID 5 -3F3 +3F7 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -25565,37 +25703,37 @@ CONTINUOUS 100 AcDbTrace 10 -10.0000001207 +27.5000003098 20 -63.7501208602 +46.1646667417 30 0 11 -10.3000001207 +27.2000003098 21 -63.8000750191 +46.1147125828 31 0 12 -10.3000001207 +27.2000003098 22 -63.7001667013 +46.2146209006 32 0 13 -10.3000001207 +27.2000003098 23 -63.7001667013 +46.2146209006 33 0 0 LINE 5 -3F4 +3F8 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -25605,21 +25743,21 @@ CONTINUOUS 100 AcDbLine 10 -12.5027778985 +27.497222532 20 -63.7501208602 +46.1646667417 11 -10.0000001207 +27.5000003098 21 -63.7501208602 +46.1646667417 0 MTEXT 5 -3F5 +3F9 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -25629,9 +25767,9 @@ CONTINUOUS 100 AcDbMText 10 -13.7500001207 +26.2500003098 20 -63.7501208602 +46.1646667417 30 0 40 @@ -25643,7 +25781,7 @@ AcDbMText 72 1 1 -7.5 +2.5 7 standard 210 @@ -25661,11 +25799,11 @@ standard 0 LINE 5 -3F6 +3FA 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -25675,21 +25813,21 @@ CONTINUOUS 100 AcDbLine 10 -17.5000001207 +25.0000003098 20 -62.9999999064 +43.0999998752 11 -17.5000001207 +25.0000003098 21 -64.0501208602 +46.4646667417 0 LINE 5 -3F7 +3FB 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -25699,19 +25837,19 @@ CONTINUOUS 100 AcDbLine 10 -10.0000001207 +27.5000003098 20 -62.9999999376 +43.0999998544 11 -10.0000001207 +27.5000003098 21 -64.0501208602 +46.4646667417 0 ENDBLK 5 -15B +161 330 -159 +15F 100 AcDbEntity 8 @@ -25721,9 +25859,9 @@ AcDbBlockEnd 0 BLOCK 5 -15D +163 330 -15C +162 100 AcDbEntity 8 @@ -25731,7 +25869,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D48 +*D66 70 1 10 @@ -25739,13 +25877,13 @@ AcDbBlockBegin 20 0 3 -*D48 +*D66 1 0 LINE 5 -3F8 +3FC 100 AcDbEntity 8 @@ -25759,17 +25897,17 @@ CONTINUOUS 100 AcDbLine 10 -19.5 +113.466712767 20 -25.5 +-55.4713917385 11 -19.5 +117.441712767 21 -22.5 +-55.4713917385 0 SOLID 5 -3F9 +3FD 100 AcDbEntity 8 @@ -25783,33 +25921,33 @@ CONTINUOUS 100 AcDbTrace 10 -19.5 +113.466712767 20 -25.5 +-55.4713917385 30 0 11 -19.5499541589 +113.766712767 21 -25.2 +-55.4214375796 31 0 12 -19.4500458411 +113.766712767 22 -25.2 +-55.5213458974 32 0 13 -19.4500458411 +113.766712767 23 -25.2 +-55.5213458974 33 0 0 SOLID 5 -3FA +3FE 100 AcDbEntity 8 @@ -25823,33 +25961,57 @@ CONTINUOUS 100 AcDbTrace 10 -19.5 +123.466712767 20 -22.5 +-55.4713917385 30 0 11 -19.4500458411 +123.166712767 21 -22.8 +-55.5213458974 31 0 12 -19.5499541589 +123.166712767 22 -22.8 +-55.4214375796 32 0 13 -19.5499541589 +123.166712767 23 -22.8 +-55.4214375796 33 0 0 +LINE +5 +3FF +100 +AcDbEntity +8 +cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +119.491712767 +20 +-55.4713917385 +11 +123.466712767 +21 +-55.4713917385 +0 MTEXT 5 -3FB +400 100 AcDbEntity 8 @@ -25863,21 +26025,21 @@ CONTINUOUS 100 AcDbMText 10 -18.475 +118.466712767 20 -24 +-55.4713917385 30 0 40 0.8 41 -0.355555555556 +0.8 71 5 72 1 1 -3 +10 7 standard 210 @@ -25895,7 +26057,7 @@ standard 0 LINE 5 -3FC +401 100 AcDbEntity 8 @@ -25909,17 +26071,17 @@ CONTINUOUS 100 AcDbLine 10 +113.466712767 20 -20 -25.5 +-61.877784531 11 -19.8 +113.466712767 21 -25.5 +-55.1713917385 0 LINE 5 -3FD +402 100 AcDbEntity 8 @@ -25933,19 +26095,19 @@ CONTINUOUS 100 AcDbLine 10 +123.466712767 20 -20 -22.5 +-61.877784531 11 -19.8 +123.466712767 21 -22.5 +-55.1713917385 0 ENDBLK 5 -15E +164 330 -15C +162 100 AcDbEntity 8 @@ -25955,9 +26117,9 @@ AcDbBlockEnd 0 BLOCK 5 -160 +166 330 -15F +165 100 AcDbEntity 8 @@ -25965,7 +26127,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D78 +*D97 70 1 10 @@ -25973,17 +26135,17 @@ AcDbBlockBegin 20 0 3 -*D78 +*D97 1 0 LINE 5 -3FE +403 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -25993,21 +26155,21 @@ CONTINUOUS 100 AcDbLine 10 -74.9667127669 +25.125 20 --120.477784531 +-7.8656865539 11 -74.9667127669 +22.3180555556 21 --120.702784531 +-7.8656865539 0 SOLID 5 -3FF +404 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26017,37 +26179,37 @@ CONTINUOUS 100 AcDbTrace 10 -74.9667127669 +25.125 20 --120.477784531 +-7.8656865539 30 0 11 -75.0166669258 +24.825 21 --120.777784531 +-7.91564071283 31 0 12 -74.916758608 +24.825 22 --120.777784531 +-7.81573239497 32 0 13 -74.916758608 +24.825 23 --120.777784531 +-7.81573239497 33 0 0 SOLID 5 -400 +405 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26057,37 +26219,37 @@ CONTINUOUS 100 AcDbTrace 10 -74.9667127669 +15.95 20 --122.977784531 +-7.8656865539 30 0 11 -74.916758608 +16.25 21 --122.677784531 +-7.81573239497 31 0 12 -75.0166669258 +16.25 22 --122.677784531 +-7.91564071283 32 0 13 -75.0166669258 +16.25 23 --122.677784531 +-7.91564071283 33 0 0 LINE 5 -401 +406 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26097,21 +26259,21 @@ CONTINUOUS 100 AcDbLine 10 -74.9667127669 +18.7569444444 20 --122.752784531 +-7.8656865539 11 -74.9667127669 +15.95 21 --122.977784531 +-7.8656865539 0 MTEXT 5 -402 +407 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26121,21 +26283,21 @@ CONTINUOUS 100 AcDbMText 10 -74.9667127669 +20.5375 20 --121.727784531 +-7.8656865539 30 0 40 0.8 41 -1.24444444444 +2.31111111111 71 5 72 1 1 -2.5 +9.175 7 standard 210 @@ -26153,11 +26315,11 @@ standard 0 LINE 5 -403 +408 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26167,21 +26329,21 @@ CONTINUOUS 100 AcDbLine 10 -72.9667127669 +25.125 20 --120.477784531 +11.3 11 -74.6667127669 +25.125 21 --120.477784531 +-8.1656865539 0 LINE 5 -404 +409 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26191,19 +26353,19 @@ CONTINUOUS 100 AcDbLine 10 -72.9667127669 +15.95 20 --122.977784531 +-7.125 11 -74.6667127669 +15.95 21 --122.977784531 +-8.1656865539 0 ENDBLK 5 -161 +167 330 -15F +165 100 AcDbEntity 8 @@ -26213,9 +26375,9 @@ AcDbBlockEnd 0 BLOCK 5 -163 +169 330 -162 +168 100 AcDbEntity 8 @@ -26223,7 +26385,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D17 +*D18 70 1 10 @@ -26231,13 +26393,13 @@ AcDbBlockBegin 20 0 3 -*D17 +*D18 1 0 LINE 5 -405 +40A 100 AcDbEntity 8 @@ -26251,17 +26413,17 @@ CONTINUOUS 100 AcDbLine 10 -15 +13.3775 20 -6.18625 +2 11 -13.3775 +10.75 21 -6.18625 +2 0 SOLID 5 -406 +40B 100 AcDbEntity 8 @@ -26275,33 +26437,33 @@ CONTINUOUS 100 AcDbTrace 10 -15 +13.3775 20 -6.18625 +2 30 0 11 -14.7 +13.0775 21 -6.13629584107 +1.95004584107 31 0 12 -14.7 +13.0775 22 -6.23620415893 +2.04995415893 32 0 13 -14.7 +13.0775 23 -6.23620415893 +2.04995415893 33 0 0 SOLID 5 -407 +40C 100 AcDbEntity 8 @@ -26315,33 +26477,33 @@ CONTINUOUS 100 AcDbTrace 10 -13.3775 +10.75 20 -6.18625 +2 30 0 11 -13.6775 +11.05 21 -6.23620415893 +2.04995415893 31 0 12 -13.6775 +11.05 22 -6.13629584107 +1.95004584107 32 0 13 -13.6775 +11.05 23 -6.13629584107 +1.95004584107 33 0 0 MTEXT 5 -408 +40D 100 AcDbEntity 8 @@ -26355,21 +26517,21 @@ CONTINUOUS 100 AcDbMText 10 -17.0916666667 +15.5580555556 20 -6.18625 +2 30 0 40 0.8 41 -2.93333333333 +3.11111111111 71 5 72 1 1 -1.6225 +2.6275 7 standard 210 @@ -26387,7 +26549,7 @@ standard 0 LINE 5 -409 +40E 100 AcDbEntity 8 @@ -26401,17 +26563,17 @@ CONTINUOUS 100 AcDbLine 10 -15 +13.3775 20 -7.6225 +4.18625 11 -15 +13.3775 21 -5.88625 +1.7 0 LINE 5 -40A +40F 100 AcDbEntity 8 @@ -26425,19 +26587,19 @@ CONTINUOUS 100 AcDbLine 10 -13.3775 +10.75 20 -9.6225 +7.25 11 -13.3775 +10.75 21 -5.88625 +1.7 0 ENDBLK 5 -164 +16A 330 -162 +168 100 AcDbEntity 8 @@ -26447,9 +26609,9 @@ AcDbBlockEnd 0 BLOCK 5 -166 +16C 330 -165 +16B 100 AcDbEntity 8 @@ -26457,7 +26619,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D96 +*D20 70 1 10 @@ -26465,17 +26627,17 @@ AcDbBlockBegin 20 0 3 -*D96 +*D20 1 0 LINE 5 -40B +410 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -26485,21 +26647,21 @@ CONTINUOUS 100 AcDbLine 10 -25.125 +23 20 -63.7501208602 +31 11 -23.1819445048 +23 21 -63.7501208602 +24.46125 0 SOLID 5 -40C +411 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -26509,37 +26671,37 @@ CONTINUOUS 100 AcDbTrace 10 -25.125 +23 20 -63.7501208602 +31 30 0 11 -24.825 +23.0499541589 21 -63.7001667013 +30.7 31 0 12 -24.825 +22.9500458411 22 -63.8000750191 +30.7 32 0 13 -24.825 +22.9500458411 23 -63.8000750191 +30.7 33 0 0 SOLID 5 -40D +412 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -26549,37 +26711,37 @@ CONTINUOUS 100 AcDbTrace 10 -17.5000001207 +23 20 -63.7501208602 +15.8725 30 0 11 -17.8000001207 +22.9500458411 21 -63.8000750191 +16.1725 31 0 12 -17.8000001207 +23.0499541589 22 -63.7001667013 +16.1725 32 0 13 -17.8000001207 +23.0499541589 23 -63.7001667013 +16.1725 33 0 0 LINE 5 -40E +413 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -26589,21 +26751,21 @@ CONTINUOUS 100 AcDbLine 10 -19.443055616 +23 20 -63.7501208602 +22.41125 11 -17.5000001207 +23 21 -63.7501208602 +15.8725 0 MTEXT 5 -40F +414 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -26613,21 +26775,21 @@ CONTINUOUS 100 AcDbMText 10 -21.3125000604 +23 20 -63.7501208602 +23.43625 30 0 40 0.8 41 -2.48888888889 +3.37777777778 71 5 72 1 1 -7.625 +15.1275 7 standard 210 @@ -26645,11 +26807,11 @@ standard 0 LINE 5 -410 +415 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -26659,21 +26821,21 @@ CONTINUOUS 100 AcDbLine 10 -25.125 +23 20 -27.125 +31 11 -25.125 +23.3 21 -64.0501208602 +31 0 LINE 5 -411 +416 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -26683,19 +26845,19 @@ CONTINUOUS 100 AcDbLine 10 -17.5000001207 +23 20 -62.9999999064 +15.8725 11 -17.5000001207 +23.3 21 -64.0501208602 +15.8725 0 ENDBLK 5 -167 +16D 330 -165 +16B 100 AcDbEntity 8 @@ -26705,9 +26867,9 @@ AcDbBlockEnd 0 BLOCK 5 -169 +16F 330 -168 +16E 100 AcDbEntity 8 @@ -26715,7 +26877,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D3 +*D103 70 1 10 @@ -26723,17 +26885,17 @@ AcDbBlockBegin 20 0 3 -*D3 +*D103 1 0 LINE 5 -412 +417 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26743,21 +26905,21 @@ CONTINUOUS 100 AcDbLine 10 --22.5 +86.125 20 -46.1646667417 +63.7501208602 11 --16.025 +87.2777777903 21 -46.1646667417 +63.7501208602 0 SOLID 5 -413 +418 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26767,37 +26929,37 @@ CONTINUOUS 100 AcDbTrace 10 --22.5 +86.125 20 -46.1646667417 +63.7501208602 30 0 11 --22.2 +86.425 21 -46.2146209006 +63.8000750191 31 0 12 --22.2 +86.425 22 -46.1147125828 +63.7001667013 32 0 13 --22.2 +86.425 23 -46.1147125828 +63.7001667013 33 0 0 SOLID 5 -414 +419 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26807,37 +26969,37 @@ CONTINUOUS 100 AcDbTrace 10 --7.5 +90.125000025 20 -46.1646667417 +63.7501208602 30 0 11 --7.8 +89.825000025 21 -46.1147125828 +63.7001667013 31 0 12 --7.8 +89.825000025 22 -46.2146209006 +63.8000750191 32 0 13 --7.8 +89.825000025 23 -46.2146209006 +63.8000750191 33 0 0 LINE 5 -415 +41A 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26847,21 +27009,21 @@ CONTINUOUS 100 AcDbLine 10 --13.975 +88.9722222347 20 -46.1646667417 +63.7501208602 11 --7.5 +90.125000025 21 -46.1646667417 +63.7501208602 0 MTEXT 5 -416 +41B 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26871,21 +27033,21 @@ CONTINUOUS 100 AcDbMText 10 --15 +88.1250000125 20 -46.1646667417 +63.7501208602 30 0 40 0.8 41 -0.8 +0.444444444444 71 5 72 1 1 -15 +4 7 standard 210 @@ -26903,11 +27065,11 @@ standard 0 LINE 5 -417 +41C 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26917,21 +27079,21 @@ CONTINUOUS 100 AcDbLine 10 --22.5 +86.125 20 -43.1 +62.9999996207 11 --22.5 +86.125 21 -46.4646667417 +64.0501208602 0 LINE 5 -418 +41D 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -26941,19 +27103,19 @@ CONTINUOUS 100 AcDbLine 10 --7.5 +90.125000025 20 -43.1 +62.9999996041 11 --7.5 +90.125000025 21 -46.4646667417 +64.0501208602 0 ENDBLK 5 -16A +170 330 -168 +16E 100 AcDbEntity 8 @@ -26963,9 +27125,9 @@ AcDbBlockEnd 0 BLOCK 5 -16C +172 330 -16B +171 100 AcDbEntity 8 @@ -26973,7 +27135,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D44 +*D63 70 1 10 @@ -26981,13 +27143,13 @@ AcDbBlockBegin 20 0 3 -*D44 +*D63 1 0 LINE 5 -419 +41E 100 AcDbEntity 8 @@ -27001,17 +27163,17 @@ CONTINUOUS 100 AcDbLine 10 -2 +113.466712767 20 -41.1 +-60.9097634776 11 -8.975 +115.163934989 21 -41.1 +-60.9097634776 0 SOLID 5 -41A +41F 100 AcDbEntity 8 @@ -27025,33 +27187,33 @@ CONTINUOUS 100 AcDbTrace 10 -2 +113.466712767 20 -41.1 +-60.9097634776 30 0 11 -2.3 +113.766712767 21 -41.1499541589 +-60.8598093187 31 0 12 -2.3 +113.766712767 22 -41.0500458411 +-60.9597176365 32 0 13 -2.3 +113.766712767 23 -41.0500458411 +-60.9597176365 33 0 0 SOLID 5 -41B +420 100 AcDbEntity 8 @@ -27065,33 +27227,33 @@ CONTINUOUS 100 AcDbTrace 10 -18 +118.466712767 20 -41.1 +-60.9097634776 30 0 11 -17.7 +118.166712767 21 -41.0500458411 +-60.9597176365 31 0 12 -17.7 +118.166712767 22 -41.1499541589 +-60.8598093187 32 0 13 -17.7 +118.166712767 23 -41.1499541589 +-60.8598093187 33 0 0 LINE 5 -41C +421 100 AcDbEntity 8 @@ -27105,17 +27267,17 @@ CONTINUOUS 100 AcDbLine 10 -11.025 +116.769490545 20 -41.1 +-60.9097634776 11 -18 +118.466712767 21 -41.1 +-60.9097634776 0 MTEXT 5 -41D +422 100 AcDbEntity 8 @@ -27129,21 +27291,21 @@ CONTINUOUS 100 AcDbMText 10 -10 +115.966712767 20 -42.125 +-60.9097634776 30 0 40 0.8 41 -0.8 +0.355555555556 71 5 72 1 1 -16 +5 7 standard 210 @@ -27161,7 +27323,7 @@ standard 0 LINE 5 -41E +423 100 AcDbEntity 8 @@ -27175,17 +27337,17 @@ CONTINUOUS 100 AcDbLine 10 -2 +113.466712767 20 -36.9999999652 +-61.877784531 11 -2 +113.466712767 21 -41.4 +-60.6097634776 0 LINE 5 -41F +424 100 AcDbEntity 8 @@ -27199,19 +27361,19 @@ CONTINUOUS 100 AcDbLine 10 -18 +118.466712767 20 -36.9999999147 +-65.127784531 11 -18 +118.466712767 21 -41.4 +-60.6097634776 0 ENDBLK 5 -16D +173 330 -16B +171 100 AcDbEntity 8 @@ -27221,9 +27383,9 @@ AcDbBlockEnd 0 BLOCK 5 -16F +175 330 -16E +174 100 AcDbEntity 8 @@ -27231,7 +27393,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D38 +*D1 70 1 10 @@ -27239,13 +27401,13 @@ AcDbBlockBegin 20 0 3 -*D38 +*D1 1 0 LINE 5 -420 +425 100 AcDbEntity 8 @@ -27259,17 +27421,17 @@ CONTINUOUS 100 AcDbLine 10 --26.2473817511 +-15 20 --68.8175675676 +43.9593482668 11 --26.2473817511 +8.88611125141 21 --71.7925675676 +43.9593482668 0 SOLID 5 -421 +426 100 AcDbEntity 8 @@ -27283,33 +27445,33 @@ CONTINUOUS 100 AcDbTrace 10 --26.2473817511 +-15 20 --68.8175675676 +43.9593482668 30 0 11 --26.1974275922 +-14.7 21 --69.1175675676 +44.0093024257 31 0 12 --26.29733591 +-14.7 22 --69.1175675676 +43.9093941079 32 0 13 --26.29733591 +-14.7 23 --69.1175675676 +43.9093941079 33 0 0 SOLID 5 -422 +427 100 AcDbEntity 8 @@ -27323,33 +27485,33 @@ CONTINUOUS 100 AcDbTrace 10 --26.2473817511 +35.0000002806 20 --76.8175675676 +43.9593482668 30 0 11 --26.29733591 +34.7000002806 21 --76.5175675676 +43.9093941079 31 0 12 --26.1974275922 +34.7000002806 22 --76.5175675676 +44.0093024257 32 0 13 --26.1974275922 +34.7000002806 23 --76.5175675676 +44.0093024257 33 0 0 LINE 5 -423 +428 100 AcDbEntity 8 @@ -27363,17 +27525,17 @@ CONTINUOUS 100 AcDbLine 10 --26.2473817511 +11.1138890292 20 --73.8425675676 +43.9593482668 11 --26.2473817511 +35.0000002806 21 --76.8175675676 +43.9593482668 0 MTEXT 5 -424 +429 100 AcDbEntity 8 @@ -27387,21 +27549,21 @@ CONTINUOUS 100 AcDbMText 10 --26.2473817511 +10.0000001403 20 --72.8175675676 +43.9593482668 30 0 40 0.8 41 -0.355555555556 +0.977777777778 71 5 72 1 1 -8 +50 7 standard 210 @@ -27419,7 +27581,7 @@ standard 0 LINE 5 -425 +42A 100 AcDbEntity 8 @@ -27433,17 +27595,17 @@ CONTINUOUS 100 AcDbLine 10 --22.4594594595 +-15 20 --68.8175675676 +39.6 11 --26.5473817511 +-15 21 --68.8175675676 +44.2593482668 0 LINE 5 -426 +42B 100 AcDbEntity 8 @@ -27457,19 +27619,19 @@ CONTINUOUS 100 AcDbLine 10 --22.4594594595 +35.0000002806 20 --76.8175675676 +39.5999997921 11 --26.5473817511 +35.0000002806 21 --76.8175675676 +44.2593482668 0 ENDBLK 5 -170 +176 330 -16E +174 100 AcDbEntity 8 @@ -27479,9 +27641,9 @@ AcDbBlockEnd 0 BLOCK 5 -172 +178 330 -171 +177 100 AcDbEntity 8 @@ -27489,7 +27651,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D53 +*D55 70 1 10 @@ -27497,13 +27659,13 @@ AcDbBlockBegin 20 0 3 -*D53 +*D55 1 0 LINE 5 -427 +42C 100 AcDbEntity 8 @@ -27517,17 +27679,17 @@ CONTINUOUS 100 AcDbLine 10 -50.0719282636 +127.380113994 20 -82.4462495497 +31.9999995612 11 -50.0719282636 +127.380113994 21 -86.4212495497 +28.2749997806 0 SOLID 5 -428 +42D 100 AcDbEntity 8 @@ -27541,33 +27703,33 @@ CONTINUOUS 100 AcDbTrace 10 -50.0719282636 +127.380113994 20 -82.4462495497 +31.9999995612 30 0 11 -50.0219741047 +127.430068153 21 -82.7462495497 +31.6999995612 31 0 12 -50.1218824225 +127.330159835 22 -82.7462495497 +31.6999995612 32 0 13 -50.1218824225 +127.330159835 23 -82.7462495497 +31.6999995612 33 0 0 SOLID 5 -429 +42E 100 AcDbEntity 8 @@ -27581,33 +27743,33 @@ CONTINUOUS 100 AcDbTrace 10 -50.0719282636 +127.380113994 20 -92.4462495497 +22.5 30 0 11 -50.1218824225 +127.330159835 21 -92.1462495497 +22.8 31 0 12 -50.0219741047 +127.430068153 22 -92.1462495497 +22.8 32 0 13 -50.0219741047 +127.430068153 23 -92.1462495497 +22.8 33 0 0 LINE 5 -42A +42F 100 AcDbEntity 8 @@ -27621,17 +27783,17 @@ CONTINUOUS 100 AcDbLine 10 -50.0719282636 +127.380113994 20 -88.4712495497 +26.2249997806 11 -50.0719282636 +127.380113994 21 -92.4462495497 +22.5 0 MTEXT 5 -42B +430 100 AcDbEntity 8 @@ -27645,21 +27807,21 @@ CONTINUOUS 100 AcDbMText 10 -49.0469282636 +127.380113994 20 -87.4462495497 +27.2499997806 30 0 40 0.8 41 -0.8 +1.24444444444 71 5 72 1 1 -10 +9.5 7 standard 210 @@ -27677,7 +27839,7 @@ standard 0 LINE 5 -42C +431 100 AcDbEntity 8 @@ -27691,17 +27853,17 @@ CONTINUOUS 100 AcDbLine 10 -47.5000005039 +114.500000234 20 -82.4462495497 +31.9999995612 11 -50.3719282636 +127.680113994 21 -82.4462495497 +31.9999995612 0 LINE 5 -42D +432 100 AcDbEntity 8 @@ -27715,19 +27877,19 @@ CONTINUOUS 100 AcDbLine 10 -47.5000005039 +108.500000155 20 -92.4462495497 +22.5 11 -50.3719282636 +127.680113994 21 -92.4462495497 +22.5 0 ENDBLK 5 -173 +179 330 -171 +177 100 AcDbEntity 8 @@ -27737,9 +27899,9 @@ AcDbBlockEnd 0 BLOCK 5 -175 +17B 330 -174 +17A 100 AcDbEntity 8 @@ -27747,7 +27909,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D58 +*D46 70 1 10 @@ -27755,13 +27917,13 @@ AcDbBlockBegin 20 0 3 -*D58 +*D46 1 0 LINE 5 -42E +433 100 AcDbEntity 8 @@ -27775,17 +27937,17 @@ CONTINUOUS 100 AcDbLine 10 -90.216061105 +19.5 20 --121.377784531 +28.5 11 -90.216061105 +19.5 21 --117.402784531 +25.5 0 SOLID 5 -42F +434 100 AcDbEntity 8 @@ -27799,33 +27961,33 @@ CONTINUOUS 100 AcDbTrace 10 -90.216061105 +19.5 20 --121.377784531 +28.5 30 0 11 -90.1661069461 +19.5499541589 21 --121.077784531 +28.2 31 0 12 -90.2660152639 +19.4500458411 22 --121.077784531 +28.2 32 0 13 -90.2660152639 +19.4500458411 23 --121.077784531 +28.2 33 0 0 SOLID 5 -430 +435 100 AcDbEntity 8 @@ -27839,57 +28001,33 @@ CONTINUOUS 100 AcDbTrace 10 -90.216061105 +19.5 20 --111.377784531 +25.5 30 0 11 -90.2660152639 +19.4500458411 21 --111.677784531 +25.8 31 0 12 -90.1661069461 +19.5499541589 22 --111.677784531 +25.8 32 0 13 -90.1661069461 +19.5499541589 23 --111.677784531 +25.8 33 0 0 -LINE -5 -431 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.216061105 -20 --115.352784531 -11 -90.216061105 -21 --111.377784531 -0 MTEXT 5 -432 +436 100 AcDbEntity 8 @@ -27903,21 +28041,21 @@ CONTINUOUS 100 AcDbMText 10 -90.216061105 +18.475 20 --116.377784531 +27 30 0 40 0.8 41 -0.8 +0.355555555556 71 5 72 1 1 -10 +3 7 standard 210 @@ -27935,7 +28073,7 @@ standard 0 LINE 5 -433 +437 100 AcDbEntity 8 @@ -27949,17 +28087,17 @@ CONTINUOUS 100 AcDbLine 10 -90.4667127669 20 --121.377784531 +20 +28.5 11 -90.516061105 +19.8 21 --121.377784531 +28.5 0 LINE 5 -434 +438 100 AcDbEntity 8 @@ -27973,19 +28111,19 @@ CONTINUOUS 100 AcDbLine 10 -90.4667127669 20 --111.377784531 +20 +25.5 11 -90.516061105 +19.8 21 --111.377784531 +25.5 0 ENDBLK 5 -176 +17C 330 -174 +17A 100 AcDbEntity 8 @@ -27995,9 +28133,9 @@ AcDbBlockEnd 0 BLOCK 5 -178 +17E 330 -177 +17D 100 AcDbEntity 8 @@ -28005,7 +28143,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D79 +*D2 70 1 10 @@ -28013,13 +28151,13 @@ AcDbBlockBegin 20 0 3 -*D79 +*D2 1 0 LINE 5 -435 +439 100 AcDbEntity 8 @@ -28033,17 +28171,17 @@ CONTINUOUS 100 AcDbLine 10 -168.966712767 +-25.5 20 --67.377784531 +46.1646667417 11 -168.966712767 +-24.8027777778 21 --78.352784531 +46.1646667417 0 SOLID 5 -436 +43A 100 AcDbEntity 8 @@ -28057,33 +28195,33 @@ CONTINUOUS 100 AcDbTrace 10 -168.966712767 +-25.5 20 --67.377784531 +46.1646667417 30 0 11 -169.016666926 +-25.2 21 --67.677784531 +46.2146209006 31 0 12 -168.916758608 +-25.2 22 --67.677784531 +46.1147125828 32 0 13 -168.916758608 +-25.2 23 --67.677784531 +46.1147125828 33 0 0 SOLID 5 -437 +43B 100 AcDbEntity 8 @@ -28097,33 +28235,33 @@ CONTINUOUS 100 AcDbTrace 10 -168.966712767 +-22.5 20 --91.377784531 +46.1646667417 30 0 11 -168.916758608 +-22.8 21 --91.077784531 +46.1147125828 31 0 12 -169.016666926 +-22.8 22 --91.077784531 +46.2146209006 32 0 13 -169.016666926 +-22.8 23 --91.077784531 +46.2146209006 33 0 0 LINE 5 -438 +43C 100 AcDbEntity 8 @@ -28137,17 +28275,17 @@ CONTINUOUS 100 AcDbLine 10 -168.966712767 +-23.1972222222 20 --80.402784531 +46.1646667417 11 -168.966712767 +-22.5 21 --91.377784531 +46.1646667417 0 MTEXT 5 -439 +43D 100 AcDbEntity 8 @@ -28161,21 +28299,21 @@ CONTINUOUS 100 AcDbMText 10 -168.966712767 +-24 20 --79.377784531 +46.1646667417 30 0 40 0.8 41 -1.06666666667 +0.355555555556 71 5 72 1 1 -24 +3 7 standard 210 @@ -28193,7 +28331,7 @@ standard 0 LINE 5 -43A +43E 100 AcDbEntity 8 @@ -28207,17 +28345,17 @@ CONTINUOUS 100 AcDbLine 10 -166.966712767 +-25.5 20 --67.377784531 +43.1 11 -168.666712767 +-25.5 21 --67.377784531 +46.4646667417 0 LINE 5 -43B +43F 100 AcDbEntity 8 @@ -28231,19 +28369,19 @@ CONTINUOUS 100 AcDbLine 10 -166.966712767 +-22.5 20 --91.377784531 +43.1 11 -168.666712767 +-22.5 21 --91.377784531 +46.4646667417 0 ENDBLK 5 -179 +17F 330 -177 +17D 100 AcDbEntity 8 @@ -28253,9 +28391,9 @@ AcDbBlockEnd 0 BLOCK 5 -17B +181 330 -17A +180 100 AcDbEntity 8 @@ -28263,7 +28401,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D93 +*D42 70 1 10 @@ -28271,17 +28409,17 @@ AcDbBlockBegin 20 0 3 -*D93 +*D42 1 0 LINE 5 -43C +440 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -28291,21 +28429,21 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +-5 20 -13.3 +41.1 11 --12.0522616552 +-2.30277777778 21 -7.575 +41.1 0 SOLID 5 -43D +441 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -28315,37 +28453,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +-5 20 -13.3 +41.1 30 0 11 --12.0023074963 +-4.7 21 -13 +41.1499541589 31 0 12 --12.1022158141 +-4.7 22 -13 +41.0500458411 32 0 13 --12.1022158141 +-4.7 23 -13 +41.0500458411 33 0 0 SOLID 5 -43E +442 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -28355,37 +28493,37 @@ CONTINUOUS 100 AcDbTrace 10 --12.0522616552 +2 20 --0.2 +41.1 30 0 11 --12.1022158141 +1.7 21 -0.1 +41.0500458411 31 0 12 --12.0023074963 +1.7 22 -0.1 +41.1499541589 32 0 13 --12.0023074963 +1.7 23 -0.1 +41.1499541589 33 0 0 LINE 5 -43F +443 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -28395,21 +28533,21 @@ CONTINUOUS 100 AcDbLine 10 --12.0522616552 +-0.697222222222 20 -5.525 +41.1 11 --12.0522616552 +2 21 --0.2 +41.1 0 MTEXT 5 -440 +444 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -28419,21 +28557,21 @@ CONTINUOUS 100 AcDbMText 10 --12.0522616552 +-1.5 20 -6.55 +42.125 30 0 40 0.8 41 -1.68888888889 +0.355555555556 71 5 72 1 1 -13.5 +7 7 standard 210 @@ -28451,11 +28589,11 @@ standard 0 LINE 5 -441 +445 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -28465,21 +28603,21 @@ CONTINUOUS 100 AcDbLine 10 --7.125 +-5 20 -13.3 +43.1 11 --12.3522616552 +-5 21 -13.3 +41.4 0 LINE 5 -442 +446 100 AcDbEntity 8 -foot-cotes +cotes 6 CONTINUOUS 62 @@ -28489,19 +28627,19 @@ CONTINUOUS 100 AcDbLine 10 -7.05 +2 20 --0.2 +36.9999999652 11 --12.3522616552 +2 21 --0.2 +41.4 0 ENDBLK 5 -17C +182 330 -17A +180 100 AcDbEntity 8 @@ -28511,9 +28649,9 @@ AcDbBlockEnd 0 BLOCK 5 -17E +184 330 -17D +183 100 AcDbEntity 8 @@ -28521,7 +28659,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D98 +*D101 70 1 10 @@ -28529,13 +28667,13 @@ AcDbBlockBegin 20 0 3 -*D98 +*D101 1 0 LINE 5 -443 +447 100 AcDbEntity 8 @@ -28549,17 +28687,17 @@ CONTINUOUS 100 AcDbLine 10 -25.125 +54.1249998732 20 --7.8656865539 +63.7501208602 11 -22.3180555556 +61.0999999366 21 --7.8656865539 +63.7501208602 0 SOLID 5 -444 +448 100 AcDbEntity 8 @@ -28573,33 +28711,33 @@ CONTINUOUS 100 AcDbTrace 10 -25.125 +54.1249998732 20 --7.8656865539 +63.7501208602 30 0 11 -24.825 +54.4249998732 21 --7.91564071283 +63.8000750191 31 0 12 -24.825 +54.4249998732 22 --7.81573239497 +63.7001667013 32 0 13 -24.825 +54.4249998732 23 --7.81573239497 +63.7001667013 33 0 0 SOLID 5 -445 +449 100 AcDbEntity 8 @@ -28613,33 +28751,33 @@ CONTINUOUS 100 AcDbTrace 10 -15.95 +70.125 20 --7.8656865539 +63.7501208602 30 0 11 -16.25 +69.825 21 --7.81573239497 +63.7001667013 31 0 12 -16.25 +69.825 22 --7.91564071283 +63.8000750191 32 0 13 -16.25 +69.825 23 --7.91564071283 +63.8000750191 33 0 0 LINE 5 -446 +44A 100 AcDbEntity 8 @@ -28653,17 +28791,17 @@ CONTINUOUS 100 AcDbLine 10 -18.7569444444 +63.1499999366 20 --7.8656865539 +63.7501208602 11 -15.95 +70.125 21 --7.8656865539 +63.7501208602 0 MTEXT 5 -447 +44B 100 AcDbEntity 8 @@ -28677,21 +28815,21 @@ CONTINUOUS 100 AcDbMText 10 -20.5375 +62.1249999366 20 --7.8656865539 +63.7501208602 30 0 40 0.8 41 -2.31111111111 +0.8 71 5 72 1 1 -9.175 +16 7 standard 210 @@ -28709,7 +28847,7 @@ standard 0 LINE 5 -448 +44C 100 AcDbEntity 8 @@ -28723,17 +28861,17 @@ CONTINUOUS 100 AcDbLine 10 -25.125 +54.1249998732 20 -11.3 +56.9999997539 11 -25.125 +54.1249998732 21 --8.1656865539 +64.0501208602 0 LINE 5 -449 +44D 100 AcDbEntity 8 @@ -28747,19 +28885,19 @@ CONTINUOUS 100 AcDbLine 10 -15.95 +70.125 20 --7.125 +44.999999923 11 -15.95 +70.125 21 --8.1656865539 +64.0501208602 0 ENDBLK 5 -17F +185 330 -17D +183 100 AcDbEntity 8 @@ -28769,9 +28907,9 @@ AcDbBlockEnd 0 BLOCK 5 -181 +187 330 -180 +186 100 AcDbEntity 8 @@ -28779,7 +28917,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D50 +*D19 70 1 10 @@ -28787,13 +28925,13 @@ AcDbBlockBegin 20 0 3 -*D50 +*D19 1 0 LINE 5 -44A +44E 100 AcDbEntity 8 @@ -28807,17 +28945,17 @@ CONTINUOUS 100 AcDbLine 10 -78.5000002591 +23 20 -45.4281607231 +31 11 -76.3027780099 +23 21 -45.4281607231 +31.9749999376 0 SOLID 5 -44B +44F 100 AcDbEntity 8 @@ -28831,33 +28969,33 @@ CONTINUOUS 100 AcDbTrace 10 -78.5000002591 +23 20 -45.4281607231 +31 30 0 11 -78.2000002591 +22.9500458411 21 -45.3782065642 +31.3 31 0 12 -78.2000002591 +23.0499541589 22 -45.478114882 +31.3 32 0 13 -78.2000002591 +23.0499541589 23 -45.478114882 +31.3 33 0 0 SOLID 5 -44C +450 100 AcDbEntity 8 @@ -28871,33 +29009,33 @@ CONTINUOUS 100 AcDbTrace 10 -72.500000205 +23 20 -45.4281607231 +34.9999998752 30 0 11 -72.800000205 +23.0499541589 21 -45.478114882 +34.6999998752 31 0 12 -72.800000205 +22.9500458411 22 -45.3782065642 +34.6999998752 32 0 13 -72.800000205 +22.9500458411 23 -45.3782065642 +34.6999998752 33 0 0 LINE 5 -44D +451 100 AcDbEntity 8 @@ -28911,17 +29049,17 @@ CONTINUOUS 100 AcDbLine 10 -74.6972224543 +23 20 -45.4281607231 +34.0249999376 11 -72.500000205 +23 21 -45.4281607231 +34.9999998752 0 MTEXT 5 -44E +452 100 AcDbEntity 8 @@ -28935,21 +29073,21 @@ CONTINUOUS 100 AcDbMText 10 -75.5000002321 +23 20 -46.4531607231 +32.9999999376 30 0 40 0.8 41 -0.355555555556 +0.444444444444 71 5 72 1 1 -6 +4 7 standard 210 @@ -28967,7 +29105,7 @@ standard 0 LINE 5 -44F +453 100 AcDbEntity 8 @@ -28981,17 +29119,17 @@ CONTINUOUS 100 AcDbLine 10 -78.5000002591 +23 20 -36.9999997275 +31 11 -78.5000002591 +23.3 21 -45.7281607231 +31 0 LINE 5 -450 +454 100 AcDbEntity 8 @@ -29005,19 +29143,19 @@ CONTINUOUS 100 AcDbLine 10 -72.500000205 +27.000000259 20 -30.5 +34.9999998752 11 -72.500000205 +23.3 21 -45.7281607231 +34.9999998752 0 ENDBLK 5 -182 +188 330 -180 +186 100 AcDbEntity 8 @@ -29027,9 +29165,9 @@ AcDbBlockEnd 0 BLOCK 5 -184 +18A 330 -183 +189 100 AcDbEntity 8 @@ -29037,7 +29175,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D52 +*D84 70 1 10 @@ -29045,17 +29183,17 @@ AcDbBlockBegin 20 0 3 -*D52 +*D84 1 0 LINE 5 -451 +455 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29065,21 +29203,21 @@ CONTINUOUS 100 AcDbLine 10 -50.0719282636 +-12.0522616552 20 -73.4462495497 +54.9999999688 11 -50.0719282636 +-12.0522616552 21 -82.4462495497 +52.5249999626 0 SOLID 5 -452 +456 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29089,37 +29227,37 @@ CONTINUOUS 100 AcDbTrace 10 -50.0719282636 +-12.0522616552 20 -73.4462495497 +54.9999999688 30 0 11 -50.0219741047 +-12.0023074963 21 -73.7462495497 +54.6999999688 31 0 12 -50.1218824225 +-12.1022158141 22 -73.7462495497 +54.6999999688 32 0 13 -50.1218824225 +-12.1022158141 23 -73.7462495497 +54.6999999688 33 0 0 SOLID 5 -453 +457 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29129,37 +29267,61 @@ CONTINUOUS 100 AcDbTrace 10 -50.0719282636 +-12.0522616552 20 -82.4462495497 +47.9999999563 30 0 11 -50.1218824225 +-12.1022158141 21 -82.1462495497 +48.2999999563 31 0 12 -50.0219741047 +-12.0023074963 22 -82.1462495497 +48.2999999563 32 0 13 -50.0219741047 +-12.0023074963 23 -82.1462495497 +48.2999999563 33 0 0 +LINE +5 +458 +100 +AcDbEntity +8 +foot-cotes +6 +CONTINUOUS +62 +7 +370 +0 +100 +AcDbLine +10 +-12.0522616552 +20 +50.4749999626 +11 +-12.0522616552 +21 +47.9999999563 +0 MTEXT 5 -454 +459 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29169,9 +29331,9 @@ CONTINUOUS 100 AcDbMText 10 -49.0469282636 +-12.0522616552 20 -77.9462495497 +51.4999999626 30 0 40 @@ -29183,7 +29345,7 @@ AcDbMText 72 1 1 -9 +7 7 standard 210 @@ -29201,11 +29363,11 @@ standard 0 LINE 5 -455 +45A 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29215,21 +29377,21 @@ CONTINUOUS 100 AcDbLine 10 +0.50000009574 20 -20 -73.4462495497 +54.9999999688 11 -50.3719282636 +-12.3522616552 21 -73.4462495497 +54.9999999688 0 LINE 5 -456 +45B 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29239,19 +29401,19 @@ CONTINUOUS 100 AcDbLine 10 -47.5000005039 +3.5000000666 20 -82.4462495497 +47.9999999563 11 -50.3719282636 +-12.3522616552 21 -82.4462495497 +47.9999999563 0 ENDBLK 5 -185 +18B 330 -183 +189 100 AcDbEntity 8 @@ -29261,9 +29423,9 @@ AcDbBlockEnd 0 BLOCK 5 -187 +18D 330 -186 +18C 100 AcDbEntity 8 @@ -29271,7 +29433,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D66 +*D106 70 1 10 @@ -29279,17 +29441,17 @@ AcDbBlockBegin 20 0 3 -*D66 +*D106 1 0 LINE 5 -457 +45C 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29299,21 +29461,21 @@ CONTINUOUS 100 AcDbLine 10 -123.466712767 +122.750000121 20 --60.9097634776 +63.7501208602 11 -124.4750461 +125.252777892 21 --60.9097634776 +63.7501208602 0 SOLID 5 -458 +45D 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29323,37 +29485,37 @@ CONTINUOUS 100 AcDbTrace 10 -123.466712767 +122.750000121 20 --60.9097634776 +63.7501208602 30 0 11 -123.766712767 +123.050000121 21 --60.8598093187 +63.8000750191 31 0 12 -123.766712767 +123.050000121 22 --60.9597176365 +63.7001667013 32 0 13 -123.766712767 +123.050000121 23 --60.9597176365 +63.7001667013 33 0 0 SOLID 5 -459 +45E 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29363,37 +29525,37 @@ CONTINUOUS 100 AcDbTrace 10 -128.066712767 +130.250000108 20 --60.9097634776 +63.7501208602 30 0 11 -127.766712767 +129.950000108 21 --60.9597176365 +63.7001667013 31 0 12 -127.766712767 +129.950000108 22 --60.8598093187 +63.8000750191 32 0 13 -127.766712767 +129.950000108 23 --60.8598093187 +63.8000750191 33 0 0 LINE 5 -45A +45F 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29403,21 +29565,21 @@ CONTINUOUS 100 AcDbLine 10 -127.058379434 +127.747222336 20 --60.9097634776 +63.7501208602 11 -128.066712767 +130.250000108 21 --60.9097634776 +63.7501208602 0 MTEXT 5 -45B +460 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29427,21 +29589,21 @@ CONTINUOUS 100 AcDbMText 10 -125.766712767 +126.500000114 20 --60.9097634776 +63.7501208602 30 0 40 0.8 41 -1.33333333333 +1.24444444444 71 5 72 1 1 -4.6 +7.5 7 standard 210 @@ -29459,11 +29621,11 @@ standard 0 LINE 5 -45C +461 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29473,21 +29635,21 @@ CONTINUOUS 100 AcDbLine 10 -123.466712767 +122.750000121 20 --61.877784531 +62.9999999688 11 -123.466712767 +122.750000121 21 --60.6097634776 +64.0501208602 0 LINE 5 -45D +462 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -29497,19 +29659,19 @@ CONTINUOUS 100 AcDbLine 10 -128.066712767 +130.250000108 20 --84.377784531 +59.9999999376 11 -128.066712767 +130.250000108 21 --60.6097634776 +64.0501208602 0 ENDBLK 5 -188 +18E 330 -186 +18C 100 AcDbEntity 8 @@ -29519,9 +29681,9 @@ AcDbBlockEnd 0 BLOCK 5 -18A +190 330 -189 +18F 100 AcDbEntity 8 @@ -29529,7 +29691,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D19 +*D67 70 1 10 @@ -29537,13 +29699,13 @@ AcDbBlockBegin 20 0 3 -*D19 +*D67 1 0 LINE 5 -45E +463 100 AcDbEntity 8 @@ -29557,17 +29719,17 @@ CONTINUOUS 100 AcDbLine 10 -23 +185.339708867 20 -31 +-96.377784531 11 -23 +185.339708867 21 -31.9749999376 +-94.902784531 0 SOLID 5 -45F +464 100 AcDbEntity 8 @@ -29581,33 +29743,33 @@ CONTINUOUS 100 AcDbTrace 10 -23 +185.339708867 20 -31 +-96.377784531 30 0 11 -22.9500458411 +185.289754708 21 -31.3 +-96.077784531 31 0 12 -23.0499541589 +185.389663026 22 -31.3 +-96.077784531 32 0 13 -23.0499541589 +185.389663026 23 -31.3 +-96.077784531 33 0 0 SOLID 5 -460 +465 100 AcDbEntity 8 @@ -29621,33 +29783,33 @@ CONTINUOUS 100 AcDbTrace 10 -23 +185.339708867 20 -34.9999998752 +-91.377784531 30 0 11 -23.0499541589 +185.389663026 21 -34.6999998752 +-91.677784531 31 0 12 -22.9500458411 +185.289754708 22 -34.6999998752 +-91.677784531 32 0 13 -22.9500458411 +185.289754708 23 -34.6999998752 +-91.677784531 33 0 0 LINE 5 -461 +466 100 AcDbEntity 8 @@ -29661,17 +29823,17 @@ CONTINUOUS 100 AcDbLine 10 -23 +185.339708867 20 -34.0249999376 +-92.852784531 11 -23 +185.339708867 21 -34.9999998752 +-91.377784531 0 MTEXT 5 -462 +467 100 AcDbEntity 8 @@ -29685,21 +29847,21 @@ CONTINUOUS 100 AcDbMText 10 -23 +185.339708867 20 -32.9999999376 +-93.877784531 30 0 40 0.8 41 -0.444444444444 +0.355555555556 71 5 72 1 1 -4 +5 7 standard 210 @@ -29717,7 +29879,7 @@ standard 0 LINE 5 -463 +468 100 AcDbEntity 8 @@ -29731,17 +29893,17 @@ CONTINUOUS 100 AcDbLine 10 -23 +175.966712767 20 -31 +-96.377784531 11 -23.3 +185.639708867 21 -31 +-96.377784531 0 LINE 5 -464 +469 100 AcDbEntity 8 @@ -29755,19 +29917,19 @@ CONTINUOUS 100 AcDbLine 10 -27.000000259 +170.966712767 20 -34.9999998752 +-91.377784531 11 -23.3 +185.639708867 21 -34.9999998752 +-91.377784531 0 ENDBLK 5 -18B +191 330 -189 +18F 100 AcDbEntity 8 @@ -29777,9 +29939,9 @@ AcDbBlockEnd 0 BLOCK 5 -18D +193 330 -18C +192 100 AcDbEntity 8 @@ -29787,7 +29949,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D18 +*D21 70 1 10 @@ -29795,13 +29957,13 @@ AcDbBlockBegin 20 0 3 -*D18 +*D21 1 0 LINE 5 -465 +46A 100 AcDbEntity 8 @@ -29815,17 +29977,17 @@ CONTINUOUS 100 AcDbLine 10 -13.3775 +23 20 -2 +15.8725 11 -10.75 +23 21 -2 +14.8725 0 SOLID 5 -466 +46B 100 AcDbEntity 8 @@ -29839,33 +30001,33 @@ CONTINUOUS 100 AcDbTrace 10 -13.3775 +23 20 -2 +15.8725 30 0 11 -13.0775 +23.0499541589 21 -1.95004584107 +15.5725 31 0 12 -13.0775 +22.9500458411 22 -2.04995415893 +15.5725 32 0 13 -13.0775 +22.9500458411 23 -2.04995415893 +15.5725 33 0 0 SOLID 5 -467 +46C 100 AcDbEntity 8 @@ -29879,33 +30041,33 @@ CONTINUOUS 100 AcDbTrace 10 -10.75 +23 20 -2 +14.8725 30 0 11 -11.05 +22.9500458411 21 -2.04995415893 +15.1725 31 0 12 -11.05 +23.0499541589 22 -1.95004584107 +15.1725 32 0 13 -11.05 +23.0499541589 23 -1.95004584107 +15.1725 33 0 0 MTEXT 5 -468 +46D 100 AcDbEntity 8 @@ -29919,21 +30081,21 @@ CONTINUOUS 100 AcDbMText 10 -15.5580555556 +23 20 -2 +15.3725 30 0 40 0.8 41 -3.11111111111 +0.177777777778 71 5 72 1 1 -2.6275 +1 7 standard 210 @@ -29951,7 +30113,7 @@ standard 0 LINE 5 -469 +46E 100 AcDbEntity 8 @@ -29965,17 +30127,17 @@ CONTINUOUS 100 AcDbLine 10 -13.3775 +23 20 -4.18625 +15.8725 11 -13.3775 +23.3 21 -1.7 +15.8725 0 LINE 5 -46A +46F 100 AcDbEntity 8 @@ -29989,19 +30151,19 @@ CONTINUOUS 100 AcDbLine 10 -10.75 +22 20 -7.25 +14.8725 11 -10.75 +23.3 21 -1.7 +14.8725 0 ENDBLK 5 -18E +194 330 -18C +192 100 AcDbEntity 8 @@ -30011,9 +30173,9 @@ AcDbBlockEnd 0 BLOCK 5 -190 +196 330 -18F +195 100 AcDbEntity 8 @@ -30021,7 +30183,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D40 +*D105 70 1 10 @@ -30029,17 +30191,17 @@ AcDbBlockBegin 20 0 3 -*D40 +*D105 1 0 LINE 5 -46B +470 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30049,21 +30211,21 @@ CONTINUOUS 100 AcDbLine 10 --26.2473817511 +115.125 20 --76.8175675676 +63.7501208602 11 --26.2473817511 +117.068055616 21 --77.7925675676 +63.7501208602 0 SOLID 5 -46C +471 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30073,37 +30235,37 @@ CONTINUOUS 100 AcDbTrace 10 --26.2473817511 +115.125 20 --76.8175675676 +63.7501208602 30 0 11 --26.1974275922 +115.425 21 --77.1175675676 +63.8000750191 31 0 12 --26.29733591 +115.425 22 --77.1175675676 +63.7001667013 32 0 13 --26.29733591 +115.425 23 --77.1175675676 +63.7001667013 33 0 0 SOLID 5 -46D +472 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30113,37 +30275,37 @@ CONTINUOUS 100 AcDbTrace 10 --26.2473817511 +122.750000121 20 --80.8175675676 +63.7501208602 30 0 11 --26.29733591 +122.450000121 21 --80.5175675676 +63.7001667013 31 0 12 --26.1974275922 +122.450000121 22 --80.5175675676 +63.8000750191 32 0 13 --26.1974275922 +122.450000121 23 --80.5175675676 +63.8000750191 33 0 0 LINE 5 -46E +473 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30153,21 +30315,21 @@ CONTINUOUS 100 AcDbLine 10 --26.2473817511 +120.806944504 20 --79.8425675676 +63.7501208602 11 --26.2473817511 +122.750000121 21 --80.8175675676 +63.7501208602 0 MTEXT 5 -46F +474 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30177,21 +30339,21 @@ CONTINUOUS 100 AcDbMText 10 --26.2473817511 +118.93750006 20 --78.8175675676 +63.7501208602 30 0 40 0.8 41 -0.444444444444 +2.48888888889 71 5 72 1 1 -4 +7.625 7 standard 210 @@ -30209,11 +30371,11 @@ standard 0 LINE 5 -470 +475 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30223,21 +30385,21 @@ CONTINUOUS 100 AcDbLine 10 --22.4594594595 +115.125 20 --76.8175675676 +27.125 11 --26.5473817511 +115.125 21 --76.8175675676 +64.0501208602 0 LINE 5 -471 +476 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30247,19 +30409,19 @@ CONTINUOUS 100 AcDbLine 10 --21.204022106 +122.750000121 20 --80.8175675676 +62.9999999688 11 --26.5473817511 +122.750000121 21 --80.8175675676 +64.0501208602 0 ENDBLK 5 -191 +197 330 -18F +195 100 AcDbEntity 8 @@ -30269,9 +30431,9 @@ AcDbBlockEnd 0 BLOCK 5 -193 +199 330 -192 +198 100 AcDbEntity 8 @@ -30279,7 +30441,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D75 +*D14 70 1 10 @@ -30287,13 +30449,13 @@ AcDbBlockBegin 20 0 3 -*D75 +*D14 1 0 LINE 5 -472 +477 100 AcDbEntity 8 @@ -30307,17 +30469,17 @@ CONTINUOUS 100 AcDbLine 10 -72.9667127669 +-1.7763568394e-15 20 --67.377784531 +13.3725 11 -72.9667127669 +1.15277777778 21 --80.852784531 +13.3725 0 SOLID 5 -473 +478 100 AcDbEntity 8 @@ -30331,33 +30493,33 @@ CONTINUOUS 100 AcDbTrace 10 -72.9667127669 +-1.7763568394e-15 20 --67.377784531 +13.3725 30 0 11 -73.0166669258 +0.3 21 --67.677784531 +13.4224541589 31 0 12 -72.916758608 +0.3 22 --67.677784531 +13.3225458411 32 0 13 -72.916758608 +0.3 23 --67.677784531 +13.3225458411 33 0 0 SOLID 5 -474 +479 100 AcDbEntity 8 @@ -30371,33 +30533,33 @@ CONTINUOUS 100 AcDbTrace 10 -72.9667127669 +4 20 --96.377784531 +13.3725 30 0 11 -72.916758608 +3.7 21 --96.077784531 +13.3225458411 31 0 12 -73.0166669258 +3.7 22 --96.077784531 +13.4224541589 32 0 13 -73.0166669258 +3.7 23 --96.077784531 +13.4224541589 33 0 0 LINE 5 -475 +47A 100 AcDbEntity 8 @@ -30411,17 +30573,17 @@ CONTINUOUS 100 AcDbLine 10 -72.9667127669 +2.84722222222 20 --82.902784531 +13.3725 11 -72.9667127669 +4 21 --96.377784531 +13.3725 0 MTEXT 5 -476 +47B 100 AcDbEntity 8 @@ -30435,21 +30597,21 @@ CONTINUOUS 100 AcDbMText 10 -72.9667127669 +2 20 --81.877784531 +13.3725 30 0 40 0.8 41 -0.977777777778 +0.444444444444 71 5 72 1 1 -29 +4 7 standard 210 @@ -30467,7 +30629,7 @@ standard 0 LINE 5 -477 +47C 100 AcDbEntity 8 @@ -30481,17 +30643,17 @@ CONTINUOUS 100 AcDbLine 10 -75.9667127669 +-1.07753532009e-15 20 --67.377784531 +15.3725 11 -72.6667127669 +-1.75798713741e-15 21 --67.377784531 +13.6725 0 LINE 5 -478 +47D 100 AcDbEntity 8 @@ -30505,19 +30667,19 @@ CONTINUOUS 100 AcDbLine 10 -70.9667127669 +4 20 --96.377784531 +15.3725 11 -72.6667127669 +4 21 --96.377784531 +13.6725 0 ENDBLK 5 -194 +19A 330 -192 +198 100 AcDbEntity 8 @@ -30527,9 +30689,9 @@ AcDbBlockEnd 0 BLOCK 5 -196 +19C 330 -195 +19B 100 AcDbEntity 8 @@ -30537,7 +30699,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D37 +*D100 70 1 10 @@ -30545,17 +30707,17 @@ AcDbBlockBegin 20 0 3 -*D37 +*D100 1 0 LINE 5 -479 +47E 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30565,21 +30727,21 @@ CONTINUOUS 100 AcDbLine 10 --20.4594594595 +50.125 20 --54.2894562715 +63.7501208602 11 --17.7622372373 +51.2777777144 21 --54.2894562715 +63.7501208602 0 SOLID 5 -47A +47F 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30589,37 +30751,37 @@ CONTINUOUS 100 AcDbTrace 10 --20.4594594595 +50.125 20 --54.2894562715 +63.7501208602 30 0 11 --20.1594594595 +50.425 21 --54.2395021126 +63.8000750191 31 0 12 --20.1594594595 +50.425 22 --54.3394104304 +63.7001667013 32 0 13 --20.1594594595 +50.425 23 --54.3394104304 +63.7001667013 33 0 0 SOLID 5 -47B +480 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30629,37 +30791,37 @@ CONTINUOUS 100 AcDbTrace 10 --13.4594594595 +54.1249998732 20 --54.2894562715 +63.7501208602 30 0 11 --13.7594594595 +53.8249998732 21 --54.3394104304 +63.7001667013 31 0 12 --13.7594594595 +53.8249998732 22 --54.2395021126 +63.8000750191 32 0 13 --13.7594594595 +53.8249998732 23 --54.2395021126 +63.8000750191 33 0 0 LINE 5 -47C +481 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30669,21 +30831,21 @@ CONTINUOUS 100 AcDbLine 10 --16.1566816817 +52.9722221588 20 --54.2894562715 +63.7501208602 11 --13.4594594595 +54.1249998732 21 --54.2894562715 +63.7501208602 0 MTEXT 5 -47D +482 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30693,21 +30855,21 @@ CONTINUOUS 100 AcDbMText 10 --16.9594594595 +52.1249999366 20 --54.2894562715 +63.7501208602 30 0 40 0.8 41 -0.355555555556 +0.444444444444 71 5 72 1 1 -7 +4 7 standard 210 @@ -30725,11 +30887,11 @@ standard 0 LINE 5 -47E +483 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30739,21 +30901,21 @@ CONTINUOUS 100 AcDbLine 10 --20.4594594595 +50.125 20 --66.8175675676 +45.0000003999 11 --20.4594594595 +50.125 21 --53.9894562715 +64.0501208602 0 LINE 5 -47F +484 100 AcDbEntity 8 -cotes +foot-cotes 6 CONTINUOUS 62 @@ -30763,19 +30925,19 @@ CONTINUOUS 100 AcDbLine 10 --13.4594594595 +54.1249998732 20 --66.8175675676 +56.9999997539 11 --13.4594594595 +54.1249998732 21 --53.9894562715 +64.0501208602 0 ENDBLK 5 -197 +19D 330 -195 +19B 100 AcDbEntity 8 @@ -30785,9 +30947,9 @@ AcDbBlockEnd 0 BLOCK 5 -199 +19F 330 -198 +19E 100 AcDbEntity 8 @@ -30795,7 +30957,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D36 +*D4 70 1 10 @@ -30803,13 +30965,13 @@ AcDbBlockBegin 20 0 3 -*D36 +*D4 1 0 LINE 5 -480 +485 100 AcDbEntity 8 @@ -30823,17 +30985,17 @@ CONTINUOUS 100 AcDbLine 10 -87.5000003098 +-7.5 20 -45.4281607231 +46.1646667417 11 -83.8027780622 +-7.49722222222 21 -45.4281607231 +46.1646667417 0 SOLID 5 -481 +486 100 AcDbEntity 8 @@ -30847,33 +31009,33 @@ CONTINUOUS 100 AcDbTrace 10 -87.5000003098 +-7.5 20 -45.4281607231 +46.1646667417 30 0 11 -87.2000003098 +-7.2 21 -45.3782065642 +46.2146209006 31 0 12 -87.2000003098 +-7.2 22 -45.478114882 +46.1147125828 32 0 13 -87.2000003098 +-7.2 23 -45.478114882 +46.1147125828 33 0 0 SOLID 5 -482 +487 100 AcDbEntity 8 @@ -30887,33 +31049,33 @@ CONTINUOUS 100 AcDbTrace 10 -78.5000002591 +-5 20 -45.4281607231 +46.1646667417 30 0 11 -78.8000002591 +-5.3 21 -45.478114882 +46.1147125828 31 0 12 -78.8000002591 +-5.3 22 -45.3782065642 +46.2146209006 32 0 13 -78.8000002591 +-5.3 23 -45.3782065642 +46.2146209006 33 0 0 LINE 5 -483 +488 100 AcDbEntity 8 @@ -30927,17 +31089,17 @@ CONTINUOUS 100 AcDbLine 10 -82.1972225066 +-5.00277777778 20 -45.4281607231 +46.1646667417 11 -78.5000002591 +-5 21 -45.4281607231 +46.1646667417 0 MTEXT 5 -484 +489 100 AcDbEntity 8 @@ -30951,21 +31113,21 @@ CONTINUOUS 100 AcDbMText 10 -83.0000002844 +-6.25 20 -45.4281607231 +46.1646667417 30 0 40 0.8 41 -0.355555555556 +1.24444444444 71 5 72 1 1 -9 +2.5 7 standard 210 @@ -30983,7 +31145,7 @@ standard 0 LINE 5 -485 +48A 100 AcDbEntity 8 @@ -30997,17 +31159,17 @@ CONTINUOUS 100 AcDbLine 10 -87.5000003098 +-7.5 20 -43.0999995051 +43.1 11 -87.5000003098 +-7.5 21 -45.7281607231 +46.4646667417 0 LINE 5 -486 +48B 100 AcDbEntity 8 @@ -31021,19 +31183,19 @@ CONTINUOUS 100 AcDbLine 10 -78.5000002591 +-5 20 -36.9999997275 +43.1 11 -78.5000002591 +-5 21 -45.7281607231 +46.4646667417 0 ENDBLK 5 -19A +1A0 330 -198 +19E 100 AcDbEntity 8 @@ -31043,9 +31205,9 @@ AcDbBlockEnd 0 BLOCK 5 -19C +1A2 330 -19B +1A1 100 AcDbEntity 8 @@ -31053,7 +31215,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D43 +*D17 70 1 10 @@ -31061,13 +31223,13 @@ AcDbBlockBegin 20 0 3 -*D43 +*D17 1 0 LINE 5 -487 +48C 100 AcDbEntity 8 @@ -31081,17 +31243,17 @@ CONTINUOUS 100 AcDbLine 10 --5 +15 20 -41.1 +6.18625 11 --2.30277777778 +13.3775 21 -41.1 +6.18625 0 SOLID 5 -488 +48D 100 AcDbEntity 8 @@ -31105,33 +31267,33 @@ CONTINUOUS 100 AcDbTrace 10 --5 +15 20 -41.1 +6.18625 30 0 11 --4.7 +14.7 21 -41.1499541589 +6.13629584107 31 0 12 --4.7 +14.7 22 -41.0500458411 +6.23620415893 32 0 13 --4.7 +14.7 23 -41.0500458411 +6.23620415893 33 0 0 SOLID 5 -489 +48E 100 AcDbEntity 8 @@ -31145,57 +31307,33 @@ CONTINUOUS 100 AcDbTrace 10 -2 +13.3775 20 -41.1 +6.18625 30 0 11 -1.7 +13.6775 21 -41.0500458411 +6.23620415893 31 0 12 -1.7 +13.6775 22 -41.1499541589 +6.13629584107 32 0 13 -1.7 +13.6775 23 -41.1499541589 +6.13629584107 33 0 0 -LINE -5 -48A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --0.697222222222 -20 -41.1 -11 -2 -21 -41.1 -0 MTEXT 5 -48B +48F 100 AcDbEntity 8 @@ -31209,21 +31347,21 @@ CONTINUOUS 100 AcDbMText 10 --1.5 +17.0916666667 20 -42.125 +6.18625 30 0 40 0.8 41 -0.355555555556 +2.93333333333 71 5 72 1 1 -7 +1.6225 7 standard 210 @@ -31241,7 +31379,7 @@ standard 0 LINE 5 -48C +490 100 AcDbEntity 8 @@ -31255,17 +31393,17 @@ CONTINUOUS 100 AcDbLine 10 --5 +15 20 -43.1 +7.6225 11 --5 +15 21 -41.4 +5.88625 0 LINE 5 -48D +491 100 AcDbEntity 8 @@ -31279,19 +31417,19 @@ CONTINUOUS 100 AcDbLine 10 -2 +13.3775 20 -36.9999999652 +9.6225 11 -2 +13.3775 21 -41.4 +5.88625 0 ENDBLK 5 -19D +1A3 330 -19B +1A1 100 AcDbEntity 8 @@ -31301,9 +31439,9 @@ AcDbBlockEnd 0 BLOCK 5 -19F +1A5 330 -19E +1A4 100 AcDbEntity 8 @@ -31311,7 +31449,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D42 +*D76 70 1 10 @@ -31319,17 +31457,17 @@ AcDbBlockBegin 20 0 3 -*D42 +*D76 1 0 LINE 5 -48E +492 100 AcDbEntity 8 -profil-pour-3d-2 +cotes 6 CONTINUOUS 62 @@ -31339,21 +31477,21 @@ CONTINUOUS 100 AcDbLine 10 -97.5000003098 +82.9667127669 20 -22.5 +-121.377784531 11 -91.0250002765 +82.9667127669 21 -22.5 +-122.977784531 0 SOLID 5 -48F +493 100 AcDbEntity 8 -profil-pour-3d-2 +cotes 6 CONTINUOUS 62 @@ -31363,37 +31501,37 @@ CONTINUOUS 100 AcDbTrace 10 -97.5000003098 +82.9667127669 20 -22.5 +-121.377784531 30 0 11 -97.2000003098 +83.0166669258 21 -22.4500458411 +-121.677784531 31 0 12 -97.2000003098 +82.916758608 22 -22.5499541589 +-121.677784531 32 0 13 -97.2000003098 +82.916758608 23 -22.5499541589 +-121.677784531 33 0 0 SOLID 5 -490 +494 100 AcDbEntity 8 -profil-pour-3d-2 +cotes 6 CONTINUOUS 62 @@ -31403,61 +31541,37 @@ CONTINUOUS 100 AcDbTrace 10 -82.5000002431 +82.9667127669 20 -22.5 +-122.977784531 30 0 11 -82.8000002431 +82.916758608 21 -22.5499541589 +-122.677784531 31 0 12 -82.8000002431 +83.0166669258 22 -22.4500458411 +-122.677784531 32 0 13 -82.8000002431 +83.0166669258 23 -22.4500458411 +-122.677784531 33 0 0 -LINE -5 -491 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.9750002765 -20 -22.5 -11 -82.5000002431 -21 -22.5 -0 MTEXT 5 -492 +495 100 AcDbEntity 8 -profil-pour-3d-2 +cotes 6 CONTINUOUS 62 @@ -31467,21 +31581,21 @@ CONTINUOUS 100 AcDbMText 10 -90.0000002765 +82.9667127669 20 -22.5 +-122.177784531 30 0 40 0.8 41 -0.8 +1.06666666667 71 5 72 1 1 -15 +1.6 7 standard 210 @@ -31499,11 +31613,11 @@ standard 0 LINE 5 -493 +496 100 AcDbEntity 8 -profil-pour-3d-2 +cotes 6 CONTINUOUS 62 @@ -31513,21 +31627,21 @@ CONTINUOUS 100 AcDbLine 10 -97.5000003098 +84.9667127669 20 -39.0999994219 +-121.377784531 11 -97.5000003098 +83.2667127669 21 -22.2 +-121.377784531 0 LINE 5 -494 +497 100 AcDbEntity 8 -profil-pour-3d-2 +cotes 6 CONTINUOUS 62 @@ -31537,19 +31651,19 @@ CONTINUOUS 100 AcDbLine 10 -82.5000002431 +82.9667127669 20 -23.06375 +-122.977784531 11 -82.5000002431 +83.2667127669 21 -22.2 +-122.977784531 0 ENDBLK 5 -1A0 +1A6 330 -19E +1A4 100 AcDbEntity 8 @@ -31559,9 +31673,9 @@ AcDbBlockEnd 0 BLOCK 5 -1A2 +1A8 330 -1A1 +1A7 100 AcDbEntity 8 @@ -31569,7 +31683,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D89 +*D92 70 1 10 @@ -31577,13 +31691,13 @@ AcDbBlockBegin 20 0 3 -*D89 +*D92 1 0 LINE 5 -495 +498 100 AcDbEntity 8 @@ -31599,15 +31713,15 @@ AcDbLine 10 -12.0522616552 20 -37.9999999563 +13.3 11 -12.0522616552 21 -32.5874999782 +7.575 0 SOLID 5 -496 +499 100 AcDbEntity 8 @@ -31623,31 +31737,31 @@ AcDbTrace 10 -12.0522616552 20 -37.9999999563 +13.3 30 0 11 -12.0023074963 21 -37.6999999563 +13 31 0 12 -12.1022158141 22 -37.6999999563 +13 32 0 13 -12.1022158141 23 -37.6999999563 +13 33 0 0 SOLID 5 -497 +49A 100 AcDbEntity 8 @@ -31663,31 +31777,31 @@ AcDbTrace 10 -12.0522616552 20 -25.125 +-0.2 30 0 11 -12.1022158141 21 -25.425 +0.1 31 0 12 -12.0023074963 22 -25.425 +0.1 32 0 13 -12.0023074963 23 -25.425 +0.1 33 0 0 LINE 5 -498 +49B 100 AcDbEntity 8 @@ -31703,15 +31817,15 @@ AcDbLine 10 -12.0522616552 20 -30.5374999782 +5.525 11 -12.0522616552 21 -25.125 +-0.2 0 MTEXT 5 -499 +49C 100 AcDbEntity 8 @@ -31727,19 +31841,19 @@ AcDbMText 10 -12.0522616552 20 -31.5624999782 +6.55 30 0 40 0.8 41 -2.93333333333 +1.68888888889 71 5 72 1 1 -12.875 +13.5 7 standard 210 @@ -31757,31 +31871,7 @@ standard 0 LINE 5 -49A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -3.50000002498 -20 -37.9999999563 -11 --12.3522616552 -21 -37.9999999563 -0 -LINE -5 -49B +49D 100 AcDbEntity 8 @@ -31797,114 +31887,14 @@ AcDbLine 10 -7.125 20 -25.125 +13.3 11 -12.3522616552 21 -25.125 -0 -ENDBLK -5 -1A3 -330 -1A1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1A5 -330 -1A4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D106 -70 -1 -10 -0 -20 -0 -3 -*D106 -1 - +13.3 0 LINE 5 -49C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -115.125 -20 -63.7501208602 -11 -117.068055616 -21 -63.7501208602 -0 -SOLID -5 -49D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -115.125 -20 -63.7501208602 -30 -0 -11 -115.425 -21 -63.8000750191 -31 -0 -12 -115.425 -22 -63.7001667013 -32 -0 -13 -115.425 -23 -63.7001667013 -33 -0 -0 -SOLID -5 49E 100 AcDbEntity @@ -31917,155 +31907,21 @@ CONTINUOUS 370 0 100 -AcDbTrace -10 -122.750000121 -20 -63.7501208602 -30 -0 -11 -122.450000121 -21 -63.7001667013 -31 -0 -12 -122.450000121 -22 -63.8000750191 -32 -0 -13 -122.450000121 -23 -63.8000750191 -33 -0 -0 -LINE -5 -49F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -120.806944504 -20 -63.7501208602 -11 -122.750000121 -21 -63.7501208602 -0 -MTEXT -5 -4A0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -118.93750006 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -2.48888888889 -71 -5 -72 -1 -1 -7.625 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -4A1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 AcDbLine 10 -115.125 -20 -27.125 -11 -115.125 -21 -64.0501208602 -0 -LINE -5 -4A2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -122.750000121 +7.05 20 -62.9999999688 +-0.2 11 -122.750000121 +-12.3522616552 21 -64.0501208602 +-0.2 0 ENDBLK 5 -1A6 +1A9 330 -1A4 +1A7 100 AcDbEntity 8 @@ -32075,9 +31931,9 @@ AcDbBlockEnd 0 BLOCK 5 -1A8 +1AB 330 -1A7 +1AA 100 AcDbEntity 8 @@ -32099,7 +31955,7 @@ a3 0 LINE 5 -4A3 +49F 100 AcDbEntity 8 @@ -32123,7 +31979,7 @@ AcDbLine 0 CIRCLE 5 -4A4 +4A0 100 AcDbEntity 8 @@ -32145,7 +32001,7 @@ AcDbCircle 0 CIRCLE 5 -4A5 +4A1 100 AcDbEntity 8 @@ -32167,7 +32023,7 @@ AcDbCircle 0 LINE 5 -4A6 +4A2 100 AcDbEntity 8 @@ -32191,7 +32047,7 @@ AcDbLine 0 LINE 5 -4A7 +4A3 100 AcDbEntity 8 @@ -32215,7 +32071,7 @@ AcDbLine 0 LINE 5 -4A8 +4A4 100 AcDbEntity 8 @@ -32239,7 +32095,7 @@ AcDbLine 0 LINE 5 -4A9 +4A5 100 AcDbEntity 8 @@ -32263,7 +32119,7 @@ AcDbLine 0 LINE 5 -4AA +4A6 100 AcDbEntity 8 @@ -32287,9 +32143,9 @@ AcDbLine 0 ENDBLK 5 -1A9 +1AC 330 -1A7 +1AA 100 AcDbEntity 8 @@ -32299,9 +32155,9 @@ AcDbBlockEnd 0 BLOCK 5 -1AB +1AE 330 -1AA +1AD 100 AcDbEntity 8 @@ -32323,7 +32179,7 @@ a3-0 0 LINE 5 -4AB +4A7 100 AcDbEntity 8 @@ -32347,7 +32203,7 @@ AcDbLine 0 CIRCLE 5 -4AC +4A8 100 AcDbEntity 8 @@ -32369,7 +32225,7 @@ AcDbCircle 0 CIRCLE 5 -4AD +4A9 100 AcDbEntity 8 @@ -32391,7 +32247,7 @@ AcDbCircle 0 LINE 5 -4AE +4AA 100 AcDbEntity 8 @@ -32415,7 +32271,7 @@ AcDbLine 0 LINE 5 -4AF +4AB 100 AcDbEntity 8 @@ -32439,7 +32295,7 @@ AcDbLine 0 LINE 5 -4B0 +4AC 100 AcDbEntity 8 @@ -32463,7 +32319,7 @@ AcDbLine 0 LINE 5 -4B1 +4AD 100 AcDbEntity 8 @@ -32487,7 +32343,7 @@ AcDbLine 0 LINE 5 -4B2 +4AE 100 AcDbEntity 8 @@ -32511,9 +32367,9 @@ AcDbLine 0 ENDBLK 5 -1AC +1AF 330 -1AA +1AD 100 AcDbEntity 8 @@ -32523,9 +32379,9 @@ AcDbBlockEnd 0 BLOCK 5 -1AE +1B1 330 -1AD +1B0 100 AcDbEntity 8 @@ -32547,9 +32403,9 @@ foot-cotes 0 ENDBLK 5 -1AF +1B2 330 -1AD +1B0 100 AcDbEntity 8 @@ -32565,7 +32421,7 @@ ENTITIES 0 HATCH 5 -4B3 +4AF 100 AcDbEntity 8 @@ -32693,11 +32549,11 @@ SOLID 0 HATCH 5 -4B4 +4B0 100 AcDbEntity 8 -profil T +cotes 6 ByLayer 62 @@ -32821,7 +32677,7 @@ SOLID 0 HATCH 5 -4B5 +4B1 100 AcDbEntity 8 @@ -32949,7 +32805,7 @@ SOLID 0 HATCH 5 -4B6 +4B2 100 AcDbEntity 8 @@ -33077,11 +32933,11 @@ SOLID 0 HATCH 5 -4B7 +4B3 100 AcDbEntity 8 -cotes +profil T 6 ByLayer 62 @@ -33205,7 +33061,7 @@ SOLID 0 HATCH 5 -4B8 +4B4 100 AcDbEntity 8 @@ -33333,7 +33189,7 @@ SOLID 0 LINE 5 -4B9 +4B5 100 AcDbEntity 8 @@ -33357,7 +33213,7 @@ AcDbLine 0 LINE 5 -4BA +4B6 100 AcDbEntity 8 @@ -33381,7 +33237,7 @@ AcDbLine 0 LINE 5 -4BB +4B7 100 AcDbEntity 8 @@ -33405,7 +33261,7 @@ AcDbLine 0 LINE 5 -4BC +4B8 100 AcDbEntity 8 @@ -33429,7 +33285,7 @@ AcDbLine 0 LINE 5 -4BD +4B9 100 AcDbEntity 8 @@ -33453,7 +33309,7 @@ AcDbLine 0 LINE 5 -4BE +4BA 100 AcDbEntity 8 @@ -33477,7 +33333,7 @@ AcDbLine 0 LINE 5 -4BF +4BB 100 AcDbEntity 8 @@ -33501,7 +33357,7 @@ AcDbLine 0 LINE 5 -4C0 +4BC 100 AcDbEntity 8 @@ -33525,7 +33381,7 @@ AcDbLine 0 LINE 5 -4C1 +4BD 100 AcDbEntity 8 @@ -33549,7 +33405,7 @@ AcDbLine 0 LINE 5 -4C2 +4BE 100 AcDbEntity 8 @@ -33573,7 +33429,7 @@ AcDbLine 0 LINE 5 -4C3 +4BF 100 AcDbEntity 8 @@ -33597,7 +33453,7 @@ AcDbLine 0 LINE 5 -4C4 +4C0 100 AcDbEntity 8 @@ -33621,7 +33477,7 @@ AcDbLine 0 LINE 5 -4C5 +4C1 100 AcDbEntity 8 @@ -33645,7 +33501,7 @@ AcDbLine 0 LINE 5 -4C6 +4C2 100 AcDbEntity 8 @@ -33669,7 +33525,7 @@ AcDbLine 0 LINE 5 -4C7 +4C3 100 AcDbEntity 8 @@ -33693,7 +33549,7 @@ AcDbLine 0 LINE 5 -4C8 +4C4 100 AcDbEntity 8 @@ -33717,7 +33573,7 @@ AcDbLine 0 LINE 5 -4C9 +4C5 100 AcDbEntity 8 @@ -33741,7 +33597,7 @@ AcDbLine 0 LINE 5 -4CA +4C6 100 AcDbEntity 8 @@ -33765,7 +33621,7 @@ AcDbLine 0 LINE 5 -4CB +4C7 100 AcDbEntity 8 @@ -33789,7 +33645,7 @@ AcDbLine 0 LINE 5 -4CC +4C8 100 AcDbEntity 8 @@ -33813,7 +33669,7 @@ AcDbLine 0 LINE 5 -4CD +4C9 100 AcDbEntity 8 @@ -33837,7 +33693,7 @@ AcDbLine 0 LINE 5 -4CE +4CA 100 AcDbEntity 8 @@ -33861,7 +33717,7 @@ AcDbLine 0 LINE 5 -4CF +4CB 100 AcDbEntity 8 @@ -33885,7 +33741,7 @@ AcDbLine 0 LINE 5 -4D0 +4CC 100 AcDbEntity 8 @@ -33909,7 +33765,7 @@ AcDbLine 0 LINE 5 -4D1 +4CD 100 AcDbEntity 8 @@ -33933,7 +33789,7 @@ AcDbLine 0 LINE 5 -4D2 +4CE 100 AcDbEntity 8 @@ -33957,7 +33813,7 @@ AcDbLine 0 LINE 5 -4D3 +4CF 100 AcDbEntity 8 @@ -33981,7 +33837,7 @@ AcDbLine 0 LINE 5 -4D4 +4D0 100 AcDbEntity 8 @@ -34005,7 +33861,7 @@ AcDbLine 0 LINE 5 -4D5 +4D1 100 AcDbEntity 8 @@ -34029,7 +33885,7 @@ AcDbLine 0 LINE 5 -4D6 +4D2 100 AcDbEntity 8 @@ -34053,7 +33909,7 @@ AcDbLine 0 LINE 5 -4D7 +4D3 100 AcDbEntity 8 @@ -34077,7 +33933,7 @@ AcDbLine 0 LINE 5 -4D8 +4D4 100 AcDbEntity 8 @@ -34101,7 +33957,7 @@ AcDbLine 0 LINE 5 -4D9 +4D5 100 AcDbEntity 8 @@ -34125,7 +33981,7 @@ AcDbLine 0 LINE 5 -4DA +4D6 100 AcDbEntity 8 @@ -34149,7 +34005,7 @@ AcDbLine 0 LINE 5 -4DB +4D7 100 AcDbEntity 8 @@ -34173,7 +34029,7 @@ AcDbLine 0 LINE 5 -4DC +4D8 100 AcDbEntity 8 @@ -34197,7 +34053,7 @@ AcDbLine 0 LINE 5 -4DD +4D9 100 AcDbEntity 8 @@ -34221,7 +34077,7 @@ AcDbLine 0 LINE 5 -4DE +4DA 100 AcDbEntity 8 @@ -34245,7 +34101,7 @@ AcDbLine 0 LINE 5 -4DF +4DB 100 AcDbEntity 8 @@ -34269,7 +34125,7 @@ AcDbLine 0 LINE 5 -4E0 +4DC 100 AcDbEntity 8 @@ -34293,7 +34149,7 @@ AcDbLine 0 LINE 5 -4E1 +4DD 100 AcDbEntity 8 @@ -34317,7 +34173,7 @@ AcDbLine 0 LINE 5 -4E2 +4DE 100 AcDbEntity 8 @@ -34341,7 +34197,7 @@ AcDbLine 0 LINE 5 -4E3 +4DF 100 AcDbEntity 8 @@ -34365,7 +34221,7 @@ AcDbLine 0 LINE 5 -4E4 +4E0 100 AcDbEntity 8 @@ -34389,7 +34245,7 @@ AcDbLine 0 LINE 5 -4E5 +4E1 100 AcDbEntity 8 @@ -34413,7 +34269,7 @@ AcDbLine 0 LINE 5 -4E6 +4E2 100 AcDbEntity 8 @@ -34437,7 +34293,7 @@ AcDbLine 0 LINE 5 -4E7 +4E3 100 AcDbEntity 8 @@ -34461,7 +34317,7 @@ AcDbLine 0 LINE 5 -4E8 +4E4 100 AcDbEntity 8 @@ -34485,7 +34341,7 @@ AcDbLine 0 LINE 5 -4E9 +4E5 100 AcDbEntity 8 @@ -34509,7 +34365,7 @@ AcDbLine 0 LINE 5 -4EA +4E6 100 AcDbEntity 8 @@ -34533,7 +34389,7 @@ AcDbLine 0 LINE 5 -4EB +4E7 100 AcDbEntity 8 @@ -34557,7 +34413,7 @@ AcDbLine 0 LINE 5 -4EC +4E8 100 AcDbEntity 8 @@ -34581,7 +34437,7 @@ AcDbLine 0 LINE 5 -4ED +4E9 100 AcDbEntity 8 @@ -34605,7 +34461,7 @@ AcDbLine 0 LINE 5 -4EE +4EA 100 AcDbEntity 8 @@ -34629,7 +34485,7 @@ AcDbLine 0 LINE 5 -4EF +4EB 100 AcDbEntity 8 @@ -34653,7 +34509,7 @@ AcDbLine 0 LINE 5 -4F0 +4EC 100 AcDbEntity 8 @@ -34677,7 +34533,7 @@ AcDbLine 0 LINE 5 -4F1 +4ED 100 AcDbEntity 8 @@ -34701,7 +34557,7 @@ AcDbLine 0 LINE 5 -4F2 +4EE 100 AcDbEntity 8 @@ -34725,7 +34581,7 @@ AcDbLine 0 LINE 5 -4F3 +4EF 100 AcDbEntity 8 @@ -34749,7 +34605,7 @@ AcDbLine 0 LINE 5 -4F4 +4F0 100 AcDbEntity 8 @@ -34773,7 +34629,7 @@ AcDbLine 0 LINE 5 -4F5 +4F1 100 AcDbEntity 8 @@ -34797,7 +34653,7 @@ AcDbLine 0 LINE 5 -4F6 +4F2 100 AcDbEntity 8 @@ -34821,7 +34677,7 @@ AcDbLine 0 LINE 5 -4F7 +4F3 100 AcDbEntity 8 @@ -34845,7 +34701,7 @@ AcDbLine 0 LINE 5 -4F8 +4F4 100 AcDbEntity 8 @@ -34869,7 +34725,7 @@ AcDbLine 0 LINE 5 -4F9 +4F5 100 AcDbEntity 8 @@ -34893,7 +34749,7 @@ AcDbLine 0 LINE 5 -4FA +4F6 100 AcDbEntity 8 @@ -34917,7 +34773,7 @@ AcDbLine 0 LINE 5 -4FB +4F7 100 AcDbEntity 8 @@ -34941,7 +34797,7 @@ AcDbLine 0 LINE 5 -4FC +4F8 100 AcDbEntity 8 @@ -34965,7 +34821,7 @@ AcDbLine 0 LINE 5 -4FD +4F9 100 AcDbEntity 8 @@ -34989,7 +34845,7 @@ AcDbLine 0 LINE 5 -4FE +4FA 100 AcDbEntity 8 @@ -35013,7 +34869,7 @@ AcDbLine 0 LINE 5 -4FF +4FB 100 AcDbEntity 8 @@ -35037,7 +34893,7 @@ AcDbLine 0 LINE 5 -500 +4FC 100 AcDbEntity 8 @@ -35061,7 +34917,7 @@ AcDbLine 0 LINE 5 -501 +4FD 100 AcDbEntity 8 @@ -35085,7 +34941,7 @@ AcDbLine 0 LINE 5 -502 +4FE 100 AcDbEntity 8 @@ -35109,7 +34965,7 @@ AcDbLine 0 LINE 5 -503 +4FF 100 AcDbEntity 8 @@ -35133,7 +34989,7 @@ AcDbLine 0 LINE 5 -504 +500 100 AcDbEntity 8 @@ -35157,7 +35013,7 @@ AcDbLine 0 LINE 5 -505 +501 100 AcDbEntity 8 @@ -35181,7 +35037,7 @@ AcDbLine 0 LINE 5 -506 +502 100 AcDbEntity 8 @@ -35205,7 +35061,7 @@ AcDbLine 0 LINE 5 -507 +503 100 AcDbEntity 8 @@ -35229,7 +35085,7 @@ AcDbLine 0 LINE 5 -508 +504 100 AcDbEntity 8 @@ -35253,7 +35109,7 @@ AcDbLine 0 LINE 5 -509 +505 100 AcDbEntity 8 @@ -35277,7 +35133,7 @@ AcDbLine 0 LINE 5 -50A +506 100 AcDbEntity 8 @@ -35301,7 +35157,7 @@ AcDbLine 0 LINE 5 -50B +507 100 AcDbEntity 8 @@ -35325,7 +35181,7 @@ AcDbLine 0 LINE 5 -50C +508 100 AcDbEntity 8 @@ -35349,79 +35205,7 @@ AcDbLine 0 LINE 5 -50D -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.8775 -20 -5 -11 --1.8775 -21 --1 -0 -LINE -5 -50E -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.8775 -20 --1 -11 -21.8775 -21 --1 -0 -LINE -5 -50F -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21.8775 -20 --1 -11 -21.8775 -21 -5 -0 -LINE -5 -510 +509 100 AcDbEntity 8 @@ -35445,7 +35229,7 @@ AcDbLine 0 LINE 5 -511 +50A 100 AcDbEntity 8 @@ -35469,7 +35253,7 @@ AcDbLine 0 LINE 5 -512 +50B 100 AcDbEntity 8 @@ -35493,7 +35277,7 @@ AcDbLine 0 LINE 5 -513 +50C 100 AcDbEntity 8 @@ -35517,7 +35301,7 @@ AcDbLine 0 LINE 5 -514 +50D 100 AcDbEntity 8 @@ -35541,7 +35325,7 @@ AcDbLine 0 LINE 5 -515 +50E 100 AcDbEntity 8 @@ -35565,7 +35349,7 @@ AcDbLine 0 LINE 5 -516 +50F 100 AcDbEntity 8 @@ -35589,7 +35373,7 @@ AcDbLine 0 ARC 5 -517 +510 100 AcDbEntity 8 @@ -35617,7 +35401,7 @@ AcDbArc 0 LINE 5 -518 +511 100 AcDbEntity 8 @@ -35641,7 +35425,7 @@ AcDbLine 0 ARC 5 -519 +512 100 AcDbEntity 8 @@ -35669,7 +35453,7 @@ AcDbArc 0 LINE 5 -51A +513 100 AcDbEntity 8 @@ -35693,7 +35477,7 @@ AcDbLine 0 LINE 5 -51B +514 100 AcDbEntity 8 @@ -35717,7 +35501,7 @@ AcDbLine 0 LINE 5 -51C +515 100 AcDbEntity 8 @@ -35741,7 +35525,7 @@ AcDbLine 0 LINE 5 -51D +516 100 AcDbEntity 8 @@ -35765,7 +35549,7 @@ AcDbLine 0 LINE 5 -51E +517 100 AcDbEntity 8 @@ -35789,7 +35573,7 @@ AcDbLine 0 ARC 5 -51F +518 100 AcDbEntity 8 @@ -35817,7 +35601,7 @@ AcDbArc 0 LINE 5 -520 +519 100 AcDbEntity 8 @@ -35841,7 +35625,7 @@ AcDbLine 0 ARC 5 -521 +51A 100 AcDbEntity 8 @@ -35869,7 +35653,7 @@ AcDbArc 0 LINE 5 -522 +51B 100 AcDbEntity 8 @@ -35893,7 +35677,7 @@ AcDbLine 0 LINE 5 -523 +51C 100 AcDbEntity 8 @@ -35917,7 +35701,7 @@ AcDbLine 0 ARC 5 -524 +51D 100 AcDbEntity 8 @@ -35945,7 +35729,7 @@ AcDbArc 0 ARC 5 -525 +51E 100 AcDbEntity 8 @@ -35973,7 +35757,7 @@ AcDbArc 0 LINE 5 -526 +51F 100 AcDbEntity 8 @@ -35997,7 +35781,7 @@ AcDbLine 0 LINE 5 -527 +520 100 AcDbEntity 8 @@ -36021,7 +35805,7 @@ AcDbLine 0 LINE 5 -528 +521 100 AcDbEntity 8 @@ -36045,7 +35829,7 @@ AcDbLine 0 LINE 5 -529 +522 100 AcDbEntity 8 @@ -36069,7 +35853,7 @@ AcDbLine 0 LINE 5 -52A +523 100 AcDbEntity 8 @@ -36093,7 +35877,7 @@ AcDbLine 0 LINE 5 -52B +524 100 AcDbEntity 8 @@ -36117,7 +35901,7 @@ AcDbLine 0 LINE 5 -52C +525 100 AcDbEntity 8 @@ -36141,7 +35925,7 @@ AcDbLine 0 LINE 5 -52D +526 100 AcDbEntity 8 @@ -36165,7 +35949,7 @@ AcDbLine 0 LINE 5 -52E +527 100 AcDbEntity 8 @@ -36189,7 +35973,7 @@ AcDbLine 0 LINE 5 -52F +528 100 AcDbEntity 8 @@ -36213,7 +35997,7 @@ AcDbLine 0 ARC 5 -530 +529 100 AcDbEntity 8 @@ -36241,35 +36025,7 @@ AcDbArc 0 ARC 5 -531 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -50.5668863981 -100 -AcDbArc -50 -177.052720582 -51 -252.744286114 -0 -ARC -5 -532 +52A 100 AcDbEntity 8 @@ -36297,7 +36053,7 @@ AcDbArc 0 LINE 5 -533 +52B 100 AcDbEntity 8 @@ -36321,7 +36077,7 @@ AcDbLine 0 LINE 5 -534 +52C 100 AcDbEntity 8 @@ -36345,35 +36101,7 @@ AcDbLine 0 ARC 5 -535 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -47.571104675 -100 -AcDbArc -50 -237.229623142 -51 -251.620020171 -0 -ARC -5 -536 +52D 100 AcDbEntity 8 @@ -36399,61 +36127,9 @@ AcDbArc 51 230.903018345 0 -LINE -5 -537 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.7489804943 -20 --5 -11 --0.748980562345 -21 --5 -0 ARC 5 -538 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --5 -20 -35 -40 -47.5711046381 -100 -AcDbArc -50 -288.379979696 -51 -302.770376789 -0 -ARC -5 -539 +52E 100 AcDbEntity 8 @@ -36481,7 +36157,7 @@ AcDbArc 0 LINE 5 -53A +52F 100 AcDbEntity 8 @@ -36505,7 +36181,7 @@ AcDbLine 0 LINE 5 -53B +530 100 AcDbEntity 8 @@ -36529,7 +36205,7 @@ AcDbLine 0 ARC 5 -53C +531 100 AcDbEntity 8 @@ -36557,7 +36233,7 @@ AcDbArc 0 LINE 5 -53D +532 100 AcDbEntity 8 @@ -36581,7 +36257,7 @@ AcDbLine 0 ARC 5 -53E +533 100 AcDbEntity 8 @@ -36609,7 +36285,7 @@ AcDbArc 0 LINE 5 -53F +534 100 AcDbEntity 8 @@ -36633,7 +36309,7 @@ AcDbLine 0 LINE 5 -540 +535 100 AcDbEntity 8 @@ -36657,7 +36333,7 @@ AcDbLine 0 LINE 5 -541 +536 100 AcDbEntity 8 @@ -36681,7 +36357,7 @@ AcDbLine 0 LINE 5 -542 +537 100 AcDbEntity 8 @@ -36705,7 +36381,7 @@ AcDbLine 0 LINE 5 -543 +538 100 AcDbEntity 8 @@ -36729,7 +36405,7 @@ AcDbLine 0 ARC 5 -544 +539 100 AcDbEntity 8 @@ -36757,7 +36433,7 @@ AcDbArc 0 LINE 5 -545 +53A 100 AcDbEntity 8 @@ -36781,7 +36457,7 @@ AcDbLine 0 LINE 5 -546 +53B 100 AcDbEntity 8 @@ -36805,7 +36481,7 @@ AcDbLine 0 ARC 5 -547 +53C 100 AcDbEntity 8 @@ -36833,7 +36509,7 @@ AcDbArc 0 ARC 5 -548 +53D 100 AcDbEntity 8 @@ -36861,7 +36537,7 @@ AcDbArc 0 ARC 5 -549 +53E 100 AcDbEntity 8 @@ -36889,7 +36565,7 @@ AcDbArc 0 ARC 5 -54A +53F 100 AcDbEntity 8 @@ -36917,7 +36593,7 @@ AcDbArc 0 LINE 5 -54B +540 100 AcDbEntity 8 @@ -36941,7 +36617,7 @@ AcDbLine 0 LINE 5 -54C +541 100 AcDbEntity 8 @@ -36965,7 +36641,7 @@ AcDbLine 0 ARC 5 -54D +542 100 AcDbEntity 8 @@ -36993,7 +36669,7 @@ AcDbArc 0 ARC 5 -54E +543 100 AcDbEntity 8 @@ -37021,7 +36697,7 @@ AcDbArc 0 ARC 5 -54F +544 100 AcDbEntity 8 @@ -37049,7 +36725,7 @@ AcDbArc 0 LINE 5 -550 +545 100 AcDbEntity 8 @@ -37073,7 +36749,7 @@ AcDbLine 0 CIRCLE 5 -551 +546 100 AcDbEntity 8 @@ -37095,7 +36771,7 @@ AcDbCircle 0 LINE 5 -552 +547 100 AcDbEntity 8 @@ -37119,7 +36795,7 @@ AcDbLine 0 LINE 5 -553 +548 100 AcDbEntity 8 @@ -37143,7 +36819,7 @@ AcDbLine 0 LINE 5 -554 +549 100 AcDbEntity 8 @@ -37167,7 +36843,7 @@ AcDbLine 0 LINE 5 -555 +54A 100 AcDbEntity 8 @@ -37191,7 +36867,7 @@ AcDbLine 0 ARC 5 -556 +54B 100 AcDbEntity 8 @@ -37219,7 +36895,7 @@ AcDbArc 0 ARC 5 -557 +54C 100 AcDbEntity 8 @@ -37247,7 +36923,7 @@ AcDbArc 0 ARC 5 -558 +54D 100 AcDbEntity 8 @@ -37275,7 +36951,7 @@ AcDbArc 0 LINE 5 -559 +54E 100 AcDbEntity 8 @@ -37299,7 +36975,7 @@ AcDbLine 0 CIRCLE 5 -55A +54F 100 AcDbEntity 8 @@ -37321,7 +36997,7 @@ AcDbCircle 0 CIRCLE 5 -55B +550 100 AcDbEntity 8 @@ -37343,7 +37019,7 @@ AcDbCircle 0 CIRCLE 5 -55C +551 100 AcDbEntity 8 @@ -37365,7 +37041,7 @@ AcDbCircle 0 LINE 5 -55D +552 100 AcDbEntity 8 @@ -37389,7 +37065,7 @@ AcDbLine 0 LINE 5 -55E +553 100 AcDbEntity 8 @@ -37413,7 +37089,7 @@ AcDbLine 0 CIRCLE 5 -55F +554 100 AcDbEntity 8 @@ -37435,7 +37111,7 @@ AcDbCircle 0 LINE 5 -560 +555 100 AcDbEntity 8 @@ -37459,7 +37135,7 @@ AcDbLine 0 LINE 5 -561 +556 100 AcDbEntity 8 @@ -37483,7 +37159,7 @@ AcDbLine 0 LINE 5 -562 +557 100 AcDbEntity 8 @@ -37507,7 +37183,7 @@ AcDbLine 0 LINE 5 -563 +558 100 AcDbEntity 8 @@ -37531,7 +37207,7 @@ AcDbLine 0 LINE 5 -564 +559 100 AcDbEntity 8 @@ -37555,7 +37231,7 @@ AcDbLine 0 LINE 5 -565 +55A 100 AcDbEntity 8 @@ -37579,7 +37255,7 @@ AcDbLine 0 ARC 5 -566 +55B 100 AcDbEntity 8 @@ -37607,7 +37283,7 @@ AcDbArc 0 ARC 5 -567 +55C 100 AcDbEntity 8 @@ -37635,7 +37311,7 @@ AcDbArc 0 ARC 5 -568 +55D 100 AcDbEntity 8 @@ -37663,7 +37339,7 @@ AcDbArc 0 LINE 5 -569 +55E 100 AcDbEntity 8 @@ -37687,7 +37363,7 @@ AcDbLine 0 LINE 5 -56A +55F 100 AcDbEntity 8 @@ -37711,7 +37387,7 @@ AcDbLine 0 LINE 5 -56B +560 100 AcDbEntity 8 @@ -37735,7 +37411,7 @@ AcDbLine 0 LINE 5 -56C +561 100 AcDbEntity 8 @@ -37759,7 +37435,7 @@ AcDbLine 0 LINE 5 -56D +562 100 AcDbEntity 8 @@ -37783,7 +37459,7 @@ AcDbLine 0 LINE 5 -56E +563 100 AcDbEntity 8 @@ -37807,7 +37483,7 @@ AcDbLine 0 LINE 5 -56F +564 100 AcDbEntity 8 @@ -37831,7 +37507,7 @@ AcDbLine 0 LINE 5 -570 +565 100 AcDbEntity 8 @@ -37855,7 +37531,7 @@ AcDbLine 0 LINE 5 -571 +566 100 AcDbEntity 8 @@ -37879,7 +37555,7 @@ AcDbLine 0 LINE 5 -572 +567 100 AcDbEntity 8 @@ -37903,7 +37579,7 @@ AcDbLine 0 CIRCLE 5 -573 +568 100 AcDbEntity 8 @@ -37925,7 +37601,7 @@ AcDbCircle 0 CIRCLE 5 -574 +569 100 AcDbEntity 8 @@ -37947,7 +37623,7 @@ AcDbCircle 0 LINE 5 -575 +56A 100 AcDbEntity 8 @@ -37971,7 +37647,7 @@ AcDbLine 0 LINE 5 -576 +56B 100 AcDbEntity 8 @@ -37995,7 +37671,7 @@ AcDbLine 0 LINE 5 -577 +56C 100 AcDbEntity 8 @@ -38019,7 +37695,7 @@ AcDbLine 0 LINE 5 -578 +56D 100 AcDbEntity 8 @@ -38043,7 +37719,7 @@ AcDbLine 0 LINE 5 -579 +56E 100 AcDbEntity 8 @@ -38067,7 +37743,7 @@ AcDbLine 0 LINE 5 -57A +56F 100 AcDbEntity 8 @@ -38091,7 +37767,7 @@ AcDbLine 0 LINE 5 -57B +570 100 AcDbEntity 8 @@ -38115,7 +37791,7 @@ AcDbLine 0 LINE 5 -57C +571 100 AcDbEntity 8 @@ -38139,7 +37815,7 @@ AcDbLine 0 LINE 5 -57D +572 100 AcDbEntity 8 @@ -38163,7 +37839,7 @@ AcDbLine 0 LINE 5 -57E +573 100 AcDbEntity 8 @@ -38187,7 +37863,7 @@ AcDbLine 0 LINE 5 -57F +574 100 AcDbEntity 8 @@ -38211,7 +37887,7 @@ AcDbLine 0 LINE 5 -580 +575 100 AcDbEntity 8 @@ -38235,7 +37911,7 @@ AcDbLine 0 LINE 5 -581 +576 100 AcDbEntity 8 @@ -38259,7 +37935,7 @@ AcDbLine 0 LINE 5 -582 +577 100 AcDbEntity 8 @@ -38283,7 +37959,7 @@ AcDbLine 0 LINE 5 -583 +578 100 AcDbEntity 8 @@ -38307,7 +37983,7 @@ AcDbLine 0 LINE 5 -584 +579 100 AcDbEntity 8 @@ -38331,7 +38007,7 @@ AcDbLine 0 LINE 5 -585 +57A 100 AcDbEntity 8 @@ -38355,7 +38031,7 @@ AcDbLine 0 LINE 5 -586 +57B 100 AcDbEntity 8 @@ -38379,7 +38055,7 @@ AcDbLine 0 LINE 5 -587 +57C 100 AcDbEntity 8 @@ -38403,7 +38079,7 @@ AcDbLine 0 LINE 5 -588 +57D 100 AcDbEntity 8 @@ -38427,7 +38103,7 @@ AcDbLine 0 CIRCLE 5 -589 +57E 100 AcDbEntity 8 @@ -38449,7 +38125,7 @@ AcDbCircle 0 ELLIPSE 5 -58A +57F 100 AcDbEntity 8 @@ -38483,7 +38159,7 @@ AcDbEllipse 0 ELLIPSE 5 -58B +580 100 AcDbEntity 8 @@ -38517,7 +38193,7 @@ AcDbEllipse 0 LINE 5 -58C +581 100 AcDbEntity 8 @@ -38541,7 +38217,7 @@ AcDbLine 0 LINE 5 -58D +582 100 AcDbEntity 8 @@ -38565,7 +38241,7 @@ AcDbLine 0 LINE 5 -58E +583 100 AcDbEntity 8 @@ -38589,7 +38265,7 @@ AcDbLine 0 LINE 5 -58F +584 100 AcDbEntity 8 @@ -38613,7 +38289,7 @@ AcDbLine 0 LINE 5 -590 +585 100 AcDbEntity 8 @@ -38637,7 +38313,7 @@ AcDbLine 0 LINE 5 -591 +586 100 AcDbEntity 8 @@ -38661,7 +38337,7 @@ AcDbLine 0 CIRCLE 5 -592 +587 100 AcDbEntity 8 @@ -38683,7 +38359,7 @@ AcDbCircle 0 CIRCLE 5 -593 +588 100 AcDbEntity 8 @@ -38705,7 +38381,7 @@ AcDbCircle 0 ARC 5 -594 +589 100 AcDbEntity 8 @@ -38733,7 +38409,7 @@ AcDbArc 0 ARC 5 -595 +58A 100 AcDbEntity 8 @@ -38761,7 +38437,7 @@ AcDbArc 0 LINE 5 -596 +58B 100 AcDbEntity 8 @@ -38785,7 +38461,7 @@ AcDbLine 0 LINE 5 -597 +58C 100 AcDbEntity 8 @@ -38809,7 +38485,7 @@ AcDbLine 0 LINE 5 -598 +58D 100 AcDbEntity 8 @@ -38833,7 +38509,7 @@ AcDbLine 0 LINE 5 -599 +58E 100 AcDbEntity 8 @@ -38857,7 +38533,7 @@ AcDbLine 0 LINE 5 -59A +58F 100 AcDbEntity 8 @@ -38881,7 +38557,7 @@ AcDbLine 0 LINE 5 -59B +590 100 AcDbEntity 8 @@ -38905,7 +38581,7 @@ AcDbLine 0 LINE 5 -59C +591 100 AcDbEntity 8 @@ -38929,7 +38605,7 @@ AcDbLine 0 LINE 5 -59D +592 100 AcDbEntity 8 @@ -38953,7 +38629,7 @@ AcDbLine 0 MTEXT 5 -59E +593 100 AcDbEntity 8 @@ -38993,13 +38669,13 @@ standard 50 0 73 -1 +2 44 -0.84934656 +0.8153726976 0 LINE 5 -59F +594 100 AcDbEntity 8 @@ -39023,7 +38699,7 @@ AcDbLine 0 LINE 5 -5A0 +595 100 AcDbEntity 8 @@ -39047,7 +38723,7 @@ AcDbLine 0 LINE 5 -5A1 +596 100 AcDbEntity 8 @@ -39071,7 +38747,7 @@ AcDbLine 0 LINE 5 -5A2 +597 100 AcDbEntity 8 @@ -39095,7 +38771,7 @@ AcDbLine 0 LINE 5 -5A3 +598 100 AcDbEntity 8 @@ -39119,7 +38795,7 @@ AcDbLine 0 LINE 5 -5A4 +599 100 AcDbEntity 8 @@ -39143,7 +38819,7 @@ AcDbLine 0 LINE 5 -5A5 +59A 100 AcDbEntity 8 @@ -39167,79 +38843,7 @@ AcDbLine 0 LINE 5 -5A6 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -13 -21 -31 -0 -LINE -5 -5A7 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -31 -11 --1 -21 -31 -0 -LINE -5 -5A8 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -22.5 -11 -4 -21 -31 -0 -LINE -5 -5A9 +59B 100 AcDbEntity 8 @@ -39261,33 +38865,9 @@ AcDbLine 21 31 0 -LINE -5 -5AA -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -31 -11 -16 -21 -22.5 -0 POINT 5 -5AB +59C 100 AcDbEntity 8 @@ -39307,7 +38887,7 @@ AcDbPoint 0 POINT 5 -5AC +59D 100 AcDbEntity 8 @@ -39327,7 +38907,7 @@ AcDbPoint 0 POINT 5 -5AD +59E 100 AcDbEntity 8 @@ -39347,7 +38927,7 @@ AcDbPoint 0 POINT 5 -5AE +59F 100 AcDbEntity 8 @@ -39367,7 +38947,7 @@ AcDbPoint 0 DIMENSION 5 -5AF +5A0 100 AcDbEntity 8 @@ -39398,8 +38978,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39429,7 +39007,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B0 +5A1 100 AcDbEntity 8 @@ -39460,8 +39038,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39491,7 +39067,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B1 +5A2 100 AcDbEntity 8 @@ -39522,8 +39098,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39553,7 +39127,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B2 +5A3 100 AcDbEntity 8 @@ -39584,8 +39158,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39615,7 +39187,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B3 +5A4 100 AcDbEntity 8 @@ -39646,8 +39218,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39677,7 +39247,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B4 +5A5 100 AcDbEntity 8 @@ -39708,8 +39278,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39739,7 +39307,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B5 +5A6 100 AcDbEntity 8 @@ -39770,8 +39338,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39801,7 +39367,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B6 +5A7 100 AcDbEntity 8 @@ -39832,8 +39398,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39863,7 +39427,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B7 +5A8 100 AcDbEntity 8 @@ -39894,8 +39458,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39925,7 +39487,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B8 +5A9 100 AcDbEntity 8 @@ -39956,8 +39518,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -39989,7 +39549,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5B9 +5AA 100 AcDbEntity 8 @@ -40020,8 +39580,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40053,7 +39611,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5BA +5AB 100 AcDbEntity 8 @@ -40084,8 +39642,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40115,7 +39671,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5BB +5AC 100 AcDbEntity 8 @@ -40146,8 +39702,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40177,7 +39731,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5BC +5AD 100 AcDbEntity 8 @@ -40208,8 +39762,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40239,7 +39791,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5BD +5AE 100 AcDbEntity 8 @@ -40270,8 +39822,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40301,7 +39851,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5BE +5AF 100 AcDbEntity 8 @@ -40332,8 +39882,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40363,7 +39911,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5BF +5B0 100 AcDbEntity 8 @@ -40394,8 +39942,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40425,7 +39971,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5C0 +5B1 100 AcDbEntity 8 @@ -40456,8 +40002,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40487,7 +40031,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5C1 +5B2 100 AcDbEntity 8 @@ -40518,8 +40062,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40551,7 +40093,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5C2 +5B3 100 AcDbEntity 8 @@ -40582,8 +40124,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40615,7 +40155,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5C3 +5B4 100 AcDbEntity 8 @@ -40646,8 +40186,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40679,7 +40217,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5C4 +5B5 100 AcDbEntity 8 @@ -40710,8 +40248,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40743,7 +40279,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5C5 +5B6 100 AcDbEntity 8 @@ -40774,8 +40310,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40807,7 +40341,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5C6 +5B7 100 AcDbEntity 8 @@ -40838,8 +40372,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40871,7 +40403,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5C7 +5B8 100 AcDbEntity 8 @@ -40902,8 +40434,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40935,7 +40465,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5C8 +5B9 100 AcDbEntity 8 @@ -40966,8 +40496,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -40999,7 +40527,7 @@ AcDbRotatedDimension 0 POINT 5 -5C9 +5BA 100 AcDbEntity 8 @@ -41019,7 +40547,7 @@ AcDbPoint 0 POINT 5 -5CA +5BB 100 AcDbEntity 8 @@ -41039,7 +40567,7 @@ AcDbPoint 0 POINT 5 -5CB +5BC 100 AcDbEntity 8 @@ -41059,7 +40587,7 @@ AcDbPoint 0 POINT 5 -5CC +5BD 100 AcDbEntity 8 @@ -41079,7 +40607,7 @@ AcDbPoint 0 DIMENSION 5 -5CD +5BE 100 AcDbEntity 8 @@ -41110,8 +40638,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41143,7 +40669,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5CE +5BF 100 AcDbEntity 8 @@ -41174,8 +40700,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41207,7 +40731,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5CF +5C0 100 AcDbEntity 8 @@ -41238,8 +40762,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41271,7 +40793,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5D0 +5C1 100 AcDbEntity 8 @@ -41302,8 +40824,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41335,7 +40855,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5D1 +5C2 100 AcDbEntity 8 @@ -41366,8 +40886,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41399,7 +40917,7 @@ AcDbRotatedDimension 0 POINT 5 -5D2 +5C3 100 AcDbEntity 8 @@ -41419,7 +40937,7 @@ AcDbPoint 0 DIMENSION 5 -5D3 +5C4 100 AcDbEntity 8 @@ -41450,8 +40968,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41483,7 +40999,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5D4 +5C5 100 AcDbEntity 8 @@ -41514,8 +41030,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41547,7 +41061,7 @@ AcDbRotatedDimension 0 POINT 5 -5D5 +5C6 100 AcDbEntity 8 @@ -41567,7 +41081,7 @@ AcDbPoint 0 DIMENSION 5 -5D6 +5C7 100 AcDbEntity 8 @@ -41598,8 +41112,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41631,7 +41143,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5D7 +5C8 100 AcDbEntity 8 @@ -41662,8 +41174,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41693,7 +41203,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5D8 +5C9 100 AcDbEntity 8 @@ -41724,8 +41234,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41755,7 +41263,7 @@ AcDbRotatedDimension 0 POINT 5 -5D9 +5CA 100 AcDbEntity 8 @@ -41775,7 +41283,7 @@ AcDbPoint 0 POINT 5 -5DA +5CB 100 AcDbEntity 8 @@ -41795,7 +41303,7 @@ AcDbPoint 0 DIMENSION 5 -5DB +5CC 100 AcDbEntity 8 @@ -41826,8 +41334,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41857,7 +41363,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5DC +5CD 100 AcDbEntity 8 @@ -41888,8 +41394,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41921,7 +41425,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5DD +5CE 100 AcDbEntity 8 @@ -41952,8 +41456,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -41985,7 +41487,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5DE +5CF 100 AcDbEntity 8 @@ -42016,8 +41518,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -42049,7 +41549,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -5DF +5D0 100 AcDbEntity 8 @@ -42080,8 +41580,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -42111,7 +41609,7 @@ AcDbRotatedDimension 0 MTEXT 5 -5E0 +5D1 100 AcDbEntity 8 @@ -42151,13 +41649,13 @@ standard 50 0 73 -1 +2 44 -0.84934656 +0.8153726976 0 MTEXT 5 -5E1 +5D2 100 AcDbEntity 8 @@ -42197,13 +41695,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5E2 +5D3 100 AcDbEntity 8 @@ -42243,13 +41741,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5E3 +5D4 100 AcDbEntity 8 @@ -42289,13 +41787,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5E4 +5D5 100 AcDbEntity 8 @@ -42335,13 +41833,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5E5 +5D6 100 AcDbEntity 8 @@ -42381,13 +41879,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5E6 +5D7 100 AcDbEntity 8 @@ -42427,13 +41925,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5E7 +5D8 100 AcDbEntity 8 @@ -42473,13 +41971,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5E8 +5D9 100 AcDbEntity 8 @@ -42519,13 +42017,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5E9 +5DA 100 AcDbEntity 8 @@ -42565,13 +42063,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5EA +5DB 100 AcDbEntity 8 @@ -42611,13 +42109,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5EB +5DC 100 AcDbEntity 8 @@ -42657,13 +42155,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5EC +5DD 100 AcDbEntity 8 @@ -42703,13 +42201,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5ED +5DE 100 AcDbEntity 8 @@ -42749,13 +42247,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5EE +5DF 100 AcDbEntity 8 @@ -42795,13 +42293,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5EF +5E0 100 AcDbEntity 8 @@ -42841,13 +42339,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F0 +5E1 100 AcDbEntity 8 @@ -42887,13 +42385,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F1 +5E2 100 AcDbEntity 8 @@ -42933,13 +42431,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F2 +5E3 100 AcDbEntity 8 @@ -42979,13 +42477,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F3 +5E4 100 AcDbEntity 8 @@ -43025,13 +42523,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F4 +5E5 100 AcDbEntity 8 @@ -43071,13 +42569,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F5 +5E6 100 AcDbEntity 8 @@ -43117,13 +42615,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F6 +5E7 100 AcDbEntity 8 @@ -43163,13 +42661,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F7 +5E8 100 AcDbEntity 8 @@ -43209,13 +42707,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F8 +5E9 100 AcDbEntity 8 @@ -43255,13 +42753,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5F9 +5EA 100 AcDbEntity 8 @@ -43301,13 +42799,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5FA +5EB 100 AcDbEntity 8 @@ -43347,13 +42845,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5FB +5EC 100 AcDbEntity 8 @@ -43393,13 +42891,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5FC +5ED 100 AcDbEntity 8 @@ -43439,13 +42937,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5FD +5EE 100 AcDbEntity 8 @@ -43485,13 +42983,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5FE +5EF 100 AcDbEntity 8 @@ -43531,13 +43029,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -5FF +5F0 100 AcDbEntity 8 @@ -43577,13 +43075,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -600 +5F1 100 AcDbEntity 8 @@ -43623,13 +43121,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -601 +5F2 100 AcDbEntity 8 @@ -43669,13 +43167,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -602 +5F3 100 AcDbEntity 8 @@ -43715,13 +43213,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -603 +5F4 100 AcDbEntity 8 @@ -43761,13 +43259,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -604 +5F5 100 AcDbEntity 8 @@ -43807,13 +43305,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -605 +5F6 100 AcDbEntity 8 @@ -43853,13 +43351,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -606 +5F7 100 AcDbEntity 8 @@ -43899,169 +43397,13 @@ standard 50 0 73 -2 -44 -0.884736 -0 -LINE -5 -607 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -7 -21 -22.5 -0 -LINE -5 -608 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -31 -11 -13 -21 -22.5 -0 -LINE -5 -609 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -22.5 -11 -7 -21 -22.5 -0 -LINE -5 -60A -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -22.5 -11 -16 -21 -22.5 -0 -DIMENSION -5 -60B -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D42 -10 -82.5000002431 -20 -22.5 -30 -0 -11 -90.0000002765 -21 -22.5 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -82.5000002431 -24 -25.06375 -34 -0 -100 -AcDbRotatedDimension +44 +0.84934656 0 LINE 5 -60C +5F8 100 AcDbEntity 8 @@ -44085,7 +43427,7 @@ AcDbLine 0 LINE 5 -60D +5F9 100 AcDbEntity 8 @@ -44109,7 +43451,7 @@ AcDbLine 0 LINE 5 -60E +5FA 100 AcDbEntity 8 @@ -44133,7 +43475,7 @@ AcDbLine 0 LINE 5 -60F +5FB 100 AcDbEntity 8 @@ -44157,7 +43499,7 @@ AcDbLine 0 LINE 5 -610 +5FC 100 AcDbEntity 8 @@ -44181,7 +43523,7 @@ AcDbLine 0 LINE 5 -611 +5FD 100 AcDbEntity 8 @@ -44205,7 +43547,7 @@ AcDbLine 0 LINE 5 -612 +5FE 100 AcDbEntity 8 @@ -44229,7 +43571,7 @@ AcDbLine 0 LINE 5 -613 +5FF 100 AcDbEntity 8 @@ -44253,7 +43595,7 @@ AcDbLine 0 LINE 5 -614 +600 100 AcDbEntity 8 @@ -44277,7 +43619,7 @@ AcDbLine 0 LINE 5 -615 +601 100 AcDbEntity 8 @@ -44301,7 +43643,7 @@ AcDbLine 0 LINE 5 -616 +602 100 AcDbEntity 8 @@ -44325,7 +43667,7 @@ AcDbLine 0 LINE 5 -617 +603 100 AcDbEntity 8 @@ -44349,7 +43691,7 @@ AcDbLine 0 LINE 5 -618 +604 100 AcDbEntity 8 @@ -44373,7 +43715,7 @@ AcDbLine 0 LINE 5 -619 +605 100 AcDbEntity 8 @@ -44397,7 +43739,7 @@ AcDbLine 0 LINE 5 -61A +606 100 AcDbEntity 8 @@ -44421,7 +43763,7 @@ AcDbLine 0 LINE 5 -61B +607 100 AcDbEntity 8 @@ -44445,7 +43787,7 @@ AcDbLine 0 LINE 5 -61C +608 100 AcDbEntity 8 @@ -44469,7 +43811,7 @@ AcDbLine 0 LINE 5 -61D +609 100 AcDbEntity 8 @@ -44493,7 +43835,7 @@ AcDbLine 0 LINE 5 -61E +60A 100 AcDbEntity 8 @@ -44517,7 +43859,7 @@ AcDbLine 0 LINE 5 -61F +60B 100 AcDbEntity 8 @@ -44541,7 +43883,7 @@ AcDbLine 0 LINE 5 -620 +60C 100 AcDbEntity 8 @@ -44565,7 +43907,7 @@ AcDbLine 0 LINE 5 -621 +60D 100 AcDbEntity 8 @@ -44589,7 +43931,7 @@ AcDbLine 0 LINE 5 -622 +60E 100 AcDbEntity 8 @@ -44613,7 +43955,7 @@ AcDbLine 0 LINE 5 -623 +60F 100 AcDbEntity 8 @@ -44637,7 +43979,7 @@ AcDbLine 0 LINE 5 -624 +610 100 AcDbEntity 8 @@ -44661,7 +44003,7 @@ AcDbLine 0 LINE 5 -625 +611 100 AcDbEntity 8 @@ -44685,7 +44027,7 @@ AcDbLine 0 DIMENSION 5 -626 +612 100 AcDbEntity 8 @@ -44699,7 +44041,7 @@ ByLayer 100 AcDbDimension 2 -*D43 +*D42 10 2 20 @@ -44716,8 +44058,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -44747,7 +44087,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -627 +613 100 AcDbEntity 8 @@ -44761,7 +44101,7 @@ ByLayer 100 AcDbDimension 2 -*D44 +*D43 10 18 20 @@ -44778,8 +44118,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -44809,7 +44147,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -628 +614 100 AcDbEntity 8 @@ -44823,7 +44161,7 @@ ByLayer 100 AcDbDimension 2 -*D45 +*D44 10 25.0000003098 20 @@ -44840,8 +44178,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -44871,7 +44207,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -629 +615 100 AcDbEntity 8 @@ -44885,7 +44221,7 @@ ByLayer 100 AcDbDimension 2 -*D46 +*D45 10 19.5 20 @@ -44902,8 +44238,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -44935,7 +44269,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -62A +616 100 AcDbEntity 8 @@ -44949,7 +44283,7 @@ ByLayer 100 AcDbDimension 2 -*D47 +*D46 10 19.5 20 @@ -44966,8 +44300,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -44999,7 +44331,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -62B +617 100 AcDbEntity 8 @@ -45013,7 +44345,7 @@ ByLayer 100 AcDbDimension 2 -*D48 +*D47 10 19.5 20 @@ -45030,8 +44362,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -45063,7 +44393,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -62C +618 100 AcDbEntity 8 @@ -45077,7 +44407,7 @@ ByLayer 100 AcDbDimension 2 -*D49 +*D48 10 19.5 20 @@ -45094,8 +44424,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -45127,7 +44455,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -62D +619 100 AcDbEntity 8 @@ -45141,7 +44469,7 @@ ByLayer 100 AcDbDimension 2 -*D50 +*D49 10 72.500000205 20 @@ -45158,8 +44486,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -45189,7 +44515,7 @@ AcDbRotatedDimension 0 LINE 5 -62E +61A 100 AcDbEntity 8 @@ -45213,7 +44539,7 @@ AcDbLine 0 LINE 5 -62F +61B 100 AcDbEntity 8 @@ -45237,7 +44563,7 @@ AcDbLine 0 LINE 5 -630 +61C 100 AcDbEntity 8 @@ -45261,7 +44587,7 @@ AcDbLine 0 LINE 5 -631 +61D 100 AcDbEntity 8 @@ -45285,7 +44611,7 @@ AcDbLine 0 LINE 5 -632 +61E 100 AcDbEntity 8 @@ -45309,7 +44635,7 @@ AcDbLine 0 LINE 5 -633 +61F 100 AcDbEntity 8 @@ -45333,7 +44659,7 @@ AcDbLine 0 LINE 5 -634 +620 100 AcDbEntity 8 @@ -45357,7 +44683,7 @@ AcDbLine 0 LINE 5 -635 +621 100 AcDbEntity 8 @@ -45381,7 +44707,7 @@ AcDbLine 0 LINE 5 -636 +622 100 AcDbEntity 8 @@ -45405,7 +44731,7 @@ AcDbLine 0 LINE 5 -637 +623 100 AcDbEntity 8 @@ -45429,7 +44755,7 @@ AcDbLine 0 LINE 5 -638 +624 100 AcDbEntity 8 @@ -45453,7 +44779,7 @@ AcDbLine 0 LINE 5 -639 +625 100 AcDbEntity 8 @@ -45477,7 +44803,7 @@ AcDbLine 0 LINE 5 -63A +626 100 AcDbEntity 8 @@ -45501,7 +44827,7 @@ AcDbLine 0 LINE 5 -63B +627 100 AcDbEntity 8 @@ -45525,7 +44851,7 @@ AcDbLine 0 LINE 5 -63C +628 100 AcDbEntity 8 @@ -45549,7 +44875,7 @@ AcDbLine 0 LINE 5 -63D +629 100 AcDbEntity 8 @@ -45573,7 +44899,7 @@ AcDbLine 0 DIMENSION 5 -63E +62A 100 AcDbEntity 8 @@ -45587,7 +44913,7 @@ ByLayer 100 AcDbDimension 2 -*D51 +*D50 10 50.0719282636 20 @@ -45604,8 +44930,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -45637,7 +44961,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -63F +62B 100 AcDbEntity 8 @@ -45651,7 +44975,7 @@ ByLayer 100 AcDbDimension 2 -*D52 +*D51 10 50.0719282636 20 @@ -45668,8 +44992,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -45701,7 +45023,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -640 +62C 100 AcDbEntity 8 @@ -45715,7 +45037,7 @@ ByLayer 100 AcDbDimension 2 -*D53 +*D52 10 50.0719282636 20 @@ -45732,8 +45054,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -45765,7 +45085,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -641 +62D 100 AcDbEntity 8 @@ -45779,7 +45099,7 @@ ByLayer 100 AcDbDimension 2 -*D54 +*D53 10 50.0719282636 20 @@ -45796,8 +45116,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -45829,7 +45147,7 @@ AcDbRotatedDimension 0 LINE 5 -642 +62E 100 AcDbEntity 8 @@ -45853,7 +45171,7 @@ AcDbLine 0 LINE 5 -643 +62F 100 AcDbEntity 8 @@ -45877,7 +45195,7 @@ AcDbLine 0 LINE 5 -644 +630 100 AcDbEntity 8 @@ -45901,7 +45219,7 @@ AcDbLine 0 LINE 5 -645 +631 100 AcDbEntity 8 @@ -45925,7 +45243,7 @@ AcDbLine 0 MTEXT 5 -646 +632 100 AcDbEntity 8 @@ -45965,13 +45283,13 @@ standard 50 0 73 -1 +2 44 -0.9216 +0.884736 0 LINE 5 -647 +633 100 AcDbEntity 8 @@ -45995,7 +45313,7 @@ AcDbLine 0 LINE 5 -648 +634 100 AcDbEntity 8 @@ -46019,7 +45337,7 @@ AcDbLine 0 LINE 5 -649 +635 100 AcDbEntity 8 @@ -46043,7 +45361,7 @@ AcDbLine 0 LINE 5 -64A +636 100 AcDbEntity 8 @@ -46067,7 +45385,7 @@ AcDbLine 0 LINE 5 -64B +637 100 AcDbEntity 8 @@ -46091,7 +45409,7 @@ AcDbLine 0 LINE 5 -64C +638 100 AcDbEntity 8 @@ -46115,7 +45433,7 @@ AcDbLine 0 LINE 5 -64D +639 100 AcDbEntity 8 @@ -46139,7 +45457,7 @@ AcDbLine 0 LINE 5 -64E +63A 100 AcDbEntity 8 @@ -46163,7 +45481,7 @@ AcDbLine 0 LINE 5 -64F +63B 100 AcDbEntity 8 @@ -46187,7 +45505,7 @@ AcDbLine 0 LINE 5 -650 +63C 100 AcDbEntity 8 @@ -46211,7 +45529,7 @@ AcDbLine 0 LINE 5 -651 +63D 100 AcDbEntity 8 @@ -46235,7 +45553,7 @@ AcDbLine 0 LINE 5 -652 +63E 100 AcDbEntity 8 @@ -46259,7 +45577,7 @@ AcDbLine 0 LINE 5 -653 +63F 100 AcDbEntity 8 @@ -46283,7 +45601,7 @@ AcDbLine 0 LINE 5 -654 +640 100 AcDbEntity 8 @@ -46307,7 +45625,7 @@ AcDbLine 0 LINE 5 -655 +641 100 AcDbEntity 8 @@ -46331,7 +45649,7 @@ AcDbLine 0 LINE 5 -656 +642 100 AcDbEntity 8 @@ -46355,7 +45673,7 @@ AcDbLine 0 LINE 5 -657 +643 100 AcDbEntity 8 @@ -46379,7 +45697,7 @@ AcDbLine 0 LINE 5 -658 +644 100 AcDbEntity 8 @@ -46403,7 +45721,7 @@ AcDbLine 0 LINE 5 -659 +645 100 AcDbEntity 8 @@ -46427,7 +45745,7 @@ AcDbLine 0 LINE 5 -65A +646 100 AcDbEntity 8 @@ -46451,7 +45769,7 @@ AcDbLine 0 LINE 5 -65B +647 100 AcDbEntity 8 @@ -46475,7 +45793,7 @@ AcDbLine 0 LINE 5 -65C +648 100 AcDbEntity 8 @@ -46499,7 +45817,7 @@ AcDbLine 0 LINE 5 -65D +649 100 AcDbEntity 8 @@ -46523,7 +45841,7 @@ AcDbLine 0 LINE 5 -65E +64A 100 AcDbEntity 8 @@ -46547,7 +45865,7 @@ AcDbLine 0 LINE 5 -65F +64B 100 AcDbEntity 8 @@ -46571,7 +45889,7 @@ AcDbLine 0 LINE 5 -660 +64C 100 AcDbEntity 8 @@ -46595,7 +45913,7 @@ AcDbLine 0 MTEXT 5 -661 +64D 100 AcDbEntity 8 @@ -46635,13 +45953,13 @@ standard 50 0 73 -1 +2 44 -0.9216 +0.884736 0 LINE 5 -662 +64E 100 AcDbEntity 8 @@ -46665,7 +45983,7 @@ AcDbLine 0 LINE 5 -663 +64F 100 AcDbEntity 8 @@ -46689,7 +46007,7 @@ AcDbLine 0 LINE 5 -664 +650 100 AcDbEntity 8 @@ -46713,7 +46031,7 @@ AcDbLine 0 LINE 5 -665 +651 100 AcDbEntity 8 @@ -46737,7 +46055,7 @@ AcDbLine 0 LINE 5 -666 +652 100 AcDbEntity 8 @@ -46761,7 +46079,7 @@ AcDbLine 0 MTEXT 5 -667 +653 100 AcDbEntity 8 @@ -46801,13 +46119,13 @@ standard 50 0 73 -1 +2 44 -0.9216 +0.884736 0 LINE 5 -668 +654 100 AcDbEntity 8 @@ -46831,7 +46149,7 @@ AcDbLine 0 LINE 5 -669 +655 100 AcDbEntity 8 @@ -46855,7 +46173,7 @@ AcDbLine 0 LINE 5 -66A +656 100 AcDbEntity 8 @@ -46879,7 +46197,7 @@ AcDbLine 0 LINE 5 -66B +657 100 AcDbEntity 8 @@ -46903,7 +46221,7 @@ AcDbLine 0 LINE 5 -66C +658 100 AcDbEntity 8 @@ -46927,7 +46245,7 @@ AcDbLine 0 LINE 5 -66D +659 100 AcDbEntity 8 @@ -46951,7 +46269,7 @@ AcDbLine 0 LINE 5 -66E +65A 100 AcDbEntity 8 @@ -46975,7 +46293,7 @@ AcDbLine 0 LINE 5 -66F +65B 100 AcDbEntity 8 @@ -46999,7 +46317,7 @@ AcDbLine 0 LINE 5 -670 +65C 100 AcDbEntity 8 @@ -47023,7 +46341,7 @@ AcDbLine 0 CIRCLE 5 -671 +65D 100 AcDbEntity 8 @@ -47045,7 +46363,7 @@ AcDbCircle 0 CIRCLE 5 -672 +65E 100 AcDbEntity 8 @@ -47067,7 +46385,7 @@ AcDbCircle 0 CIRCLE 5 -673 +65F 100 AcDbEntity 8 @@ -47089,7 +46407,7 @@ AcDbCircle 0 CIRCLE 5 -674 +660 100 AcDbEntity 8 @@ -47111,7 +46429,7 @@ AcDbCircle 0 CIRCLE 5 -675 +661 100 AcDbEntity 8 @@ -47133,7 +46451,7 @@ AcDbCircle 0 CIRCLE 5 -676 +662 100 AcDbEntity 8 @@ -47155,7 +46473,7 @@ AcDbCircle 0 LINE 5 -677 +663 100 AcDbEntity 8 @@ -47179,7 +46497,7 @@ AcDbLine 0 LINE 5 -678 +664 100 AcDbEntity 8 @@ -47203,7 +46521,7 @@ AcDbLine 0 LINE 5 -679 +665 100 AcDbEntity 8 @@ -47227,7 +46545,7 @@ AcDbLine 0 LINE 5 -67A +666 100 AcDbEntity 8 @@ -47251,7 +46569,7 @@ AcDbLine 0 LINE 5 -67B +667 100 AcDbEntity 8 @@ -47275,7 +46593,7 @@ AcDbLine 0 LINE 5 -67C +668 100 AcDbEntity 8 @@ -47299,7 +46617,7 @@ AcDbLine 0 LINE 5 -67D +669 100 AcDbEntity 8 @@ -47323,7 +46641,7 @@ AcDbLine 0 LINE 5 -67E +66A 100 AcDbEntity 8 @@ -47347,7 +46665,7 @@ AcDbLine 0 LINE 5 -67F +66B 100 AcDbEntity 8 @@ -47371,7 +46689,7 @@ AcDbLine 0 LINE 5 -680 +66C 100 AcDbEntity 8 @@ -47395,7 +46713,7 @@ AcDbLine 0 LINE 5 -681 +66D 100 AcDbEntity 8 @@ -47419,7 +46737,7 @@ AcDbLine 0 LINE 5 -682 +66E 100 AcDbEntity 8 @@ -47443,7 +46761,7 @@ AcDbLine 0 LINE 5 -683 +66F 100 AcDbEntity 8 @@ -47467,7 +46785,7 @@ AcDbLine 0 LINE 5 -684 +670 100 AcDbEntity 8 @@ -47491,7 +46809,7 @@ AcDbLine 0 LINE 5 -685 +671 100 AcDbEntity 8 @@ -47515,7 +46833,7 @@ AcDbLine 0 LINE 5 -686 +672 100 AcDbEntity 8 @@ -47539,7 +46857,7 @@ AcDbLine 0 CIRCLE 5 -687 +673 100 AcDbEntity 8 @@ -47561,7 +46879,7 @@ AcDbCircle 0 LINE 5 -688 +674 100 AcDbEntity 8 @@ -47585,7 +46903,7 @@ AcDbLine 0 LINE 5 -689 +675 100 AcDbEntity 8 @@ -47609,7 +46927,7 @@ AcDbLine 0 LINE 5 -68A +676 100 AcDbEntity 8 @@ -47633,7 +46951,7 @@ AcDbLine 0 LINE 5 -68B +677 100 AcDbEntity 8 @@ -47657,7 +46975,7 @@ AcDbLine 0 LINE 5 -68C +678 100 AcDbEntity 8 @@ -47681,7 +46999,7 @@ AcDbLine 0 CIRCLE 5 -68D +679 100 AcDbEntity 8 @@ -47703,7 +47021,7 @@ AcDbCircle 0 CIRCLE 5 -68E +67A 100 AcDbEntity 8 @@ -47725,7 +47043,7 @@ AcDbCircle 0 CIRCLE 5 -68F +67B 100 AcDbEntity 8 @@ -47747,7 +47065,7 @@ AcDbCircle 0 LINE 5 -690 +67C 100 AcDbEntity 8 @@ -47771,7 +47089,7 @@ AcDbLine 0 LINE 5 -691 +67D 100 AcDbEntity 8 @@ -47795,7 +47113,7 @@ AcDbLine 0 LINE 5 -692 +67E 100 AcDbEntity 8 @@ -47819,7 +47137,7 @@ AcDbLine 0 LINE 5 -693 +67F 100 AcDbEntity 8 @@ -47843,7 +47161,7 @@ AcDbLine 0 LINE 5 -694 +680 100 AcDbEntity 8 @@ -47867,7 +47185,7 @@ AcDbLine 0 LINE 5 -695 +681 100 AcDbEntity 8 @@ -47891,7 +47209,7 @@ AcDbLine 0 LINE 5 -696 +682 100 AcDbEntity 8 @@ -47915,7 +47233,7 @@ AcDbLine 0 ARC 5 -697 +683 100 AcDbEntity 8 @@ -47943,7 +47261,7 @@ AcDbArc 0 LINE 5 -698 +684 100 AcDbEntity 8 @@ -47967,7 +47285,7 @@ AcDbLine 0 LINE 5 -699 +685 100 AcDbEntity 8 @@ -47991,7 +47309,7 @@ AcDbLine 0 LINE 5 -69A +686 100 AcDbEntity 8 @@ -48015,7 +47333,7 @@ AcDbLine 0 LINE 5 -69B +687 100 AcDbEntity 8 @@ -48039,7 +47357,7 @@ AcDbLine 0 LINE 5 -69C +688 100 AcDbEntity 8 @@ -48063,7 +47381,7 @@ AcDbLine 0 LINE 5 -69D +689 100 AcDbEntity 8 @@ -48087,7 +47405,7 @@ AcDbLine 0 LINE 5 -69E +68A 100 AcDbEntity 8 @@ -48111,7 +47429,7 @@ AcDbLine 0 LINE 5 -69F +68B 100 AcDbEntity 8 @@ -48135,7 +47453,7 @@ AcDbLine 0 LINE 5 -6A0 +68C 100 AcDbEntity 8 @@ -48159,7 +47477,7 @@ AcDbLine 0 LINE 5 -6A1 +68D 100 AcDbEntity 8 @@ -48183,7 +47501,7 @@ AcDbLine 0 LINE 5 -6A2 +68E 100 AcDbEntity 8 @@ -48207,7 +47525,7 @@ AcDbLine 0 LINE 5 -6A3 +68F 100 AcDbEntity 8 @@ -48231,7 +47549,7 @@ AcDbLine 0 LINE 5 -6A4 +690 100 AcDbEntity 8 @@ -48255,7 +47573,7 @@ AcDbLine 0 LINE 5 -6A5 +691 100 AcDbEntity 8 @@ -48279,7 +47597,7 @@ AcDbLine 0 LINE 5 -6A6 +692 100 AcDbEntity 8 @@ -48303,7 +47621,7 @@ AcDbLine 0 LINE 5 -6A7 +693 100 AcDbEntity 8 @@ -48327,7 +47645,7 @@ AcDbLine 0 LINE 5 -6A8 +694 100 AcDbEntity 8 @@ -48351,7 +47669,7 @@ AcDbLine 0 LINE 5 -6A9 +695 100 AcDbEntity 8 @@ -48375,7 +47693,7 @@ AcDbLine 0 LINE 5 -6AA +696 100 AcDbEntity 8 @@ -48399,7 +47717,7 @@ AcDbLine 0 LINE 5 -6AB +697 100 AcDbEntity 8 @@ -48423,7 +47741,7 @@ AcDbLine 0 LINE 5 -6AC +698 100 AcDbEntity 8 @@ -48447,7 +47765,7 @@ AcDbLine 0 LINE 5 -6AD +699 100 AcDbEntity 8 @@ -48471,7 +47789,7 @@ AcDbLine 0 CIRCLE 5 -6AE +69A 100 AcDbEntity 8 @@ -48493,7 +47811,7 @@ AcDbCircle 0 CIRCLE 5 -6AF +69B 100 AcDbEntity 8 @@ -48515,7 +47833,7 @@ AcDbCircle 0 LINE 5 -6B0 +69C 100 AcDbEntity 8 @@ -48539,7 +47857,7 @@ AcDbLine 0 LINE 5 -6B1 +69D 100 AcDbEntity 8 @@ -48563,7 +47881,7 @@ AcDbLine 0 LINE 5 -6B2 +69E 100 AcDbEntity 8 @@ -48587,7 +47905,7 @@ AcDbLine 0 LINE 5 -6B3 +69F 100 AcDbEntity 8 @@ -48611,7 +47929,7 @@ AcDbLine 0 LINE 5 -6B4 +6A0 100 AcDbEntity 8 @@ -48635,7 +47953,7 @@ AcDbLine 0 LINE 5 -6B5 +6A1 100 AcDbEntity 8 @@ -48659,7 +47977,7 @@ AcDbLine 0 LINE 5 -6B6 +6A2 100 AcDbEntity 8 @@ -48683,7 +48001,7 @@ AcDbLine 0 LINE 5 -6B7 +6A3 100 AcDbEntity 8 @@ -48707,7 +48025,7 @@ AcDbLine 0 LINE 5 -6B8 +6A4 100 AcDbEntity 8 @@ -48731,7 +48049,7 @@ AcDbLine 0 LINE 5 -6B9 +6A5 100 AcDbEntity 8 @@ -48755,7 +48073,7 @@ AcDbLine 0 LINE 5 -6BA +6A6 100 AcDbEntity 8 @@ -48779,7 +48097,7 @@ AcDbLine 0 LINE 5 -6BB +6A7 100 AcDbEntity 8 @@ -48803,7 +48121,7 @@ AcDbLine 0 LINE 5 -6BC +6A8 100 AcDbEntity 8 @@ -48827,7 +48145,7 @@ AcDbLine 0 MTEXT 5 -6BD +6A9 100 AcDbEntity 8 @@ -48867,13 +48185,13 @@ standard 50 0 73 -1 +2 44 -0.9216 +0.884736 0 LINE 5 -6BE +6AA 100 AcDbEntity 8 @@ -48897,7 +48215,7 @@ AcDbLine 0 LINE 5 -6BF +6AB 100 AcDbEntity 8 @@ -48921,7 +48239,7 @@ AcDbLine 0 LINE 5 -6C0 +6AC 100 AcDbEntity 8 @@ -48945,7 +48263,7 @@ AcDbLine 0 LINE 5 -6C1 +6AD 100 AcDbEntity 8 @@ -48969,7 +48287,7 @@ AcDbLine 0 LINE 5 -6C2 +6AE 100 AcDbEntity 8 @@ -48993,7 +48311,7 @@ AcDbLine 0 LINE 5 -6C3 +6AF 100 AcDbEntity 8 @@ -49017,7 +48335,7 @@ AcDbLine 0 LINE 5 -6C4 +6B0 100 AcDbEntity 8 @@ -49041,7 +48359,7 @@ AcDbLine 0 LINE 5 -6C5 +6B1 100 AcDbEntity 8 @@ -49065,7 +48383,7 @@ AcDbLine 0 LINE 5 -6C6 +6B2 100 AcDbEntity 8 @@ -49089,7 +48407,7 @@ AcDbLine 0 LINE 5 -6C7 +6B3 100 AcDbEntity 8 @@ -49113,7 +48431,7 @@ AcDbLine 0 LINE 5 -6C8 +6B4 100 AcDbEntity 8 @@ -49137,7 +48455,7 @@ AcDbLine 0 LINE 5 -6C9 +6B5 100 AcDbEntity 8 @@ -49161,7 +48479,7 @@ AcDbLine 0 LINE 5 -6CA +6B6 100 AcDbEntity 8 @@ -49185,7 +48503,7 @@ AcDbLine 0 LINE 5 -6CB +6B7 100 AcDbEntity 8 @@ -49209,7 +48527,7 @@ AcDbLine 0 CIRCLE 5 -6CC +6B8 100 AcDbEntity 8 @@ -49231,7 +48549,7 @@ AcDbCircle 0 LINE 5 -6CD +6B9 100 AcDbEntity 8 @@ -49255,7 +48573,7 @@ AcDbLine 0 POINT 5 -6CE +6BA 100 AcDbEntity 8 @@ -49275,7 +48593,7 @@ AcDbPoint 0 POINT 5 -6CF +6BB 100 AcDbEntity 8 @@ -49295,7 +48613,7 @@ AcDbPoint 0 MTEXT 5 -6D0 +6BC 100 AcDbEntity 8 @@ -49335,13 +48653,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -6D1 +6BD 100 AcDbEntity 8 @@ -49381,13 +48699,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -6D2 +6BE 100 AcDbEntity 8 @@ -49427,13 +48745,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -6D3 +6BF 100 AcDbEntity 8 @@ -49473,13 +48791,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -6D4 +6C0 100 AcDbEntity 8 @@ -49519,13 +48837,13 @@ standard 50 0 73 -2 +1 44 -0.884736 +0.84934656 0 MTEXT 5 -6D5 +6C1 100 AcDbEntity 8 @@ -49565,13 +48883,13 @@ standard 50 0 73 -1 +2 44 -0.9216 +0.884736 0 MTEXT 5 -6D6 +6C2 100 AcDbEntity 8 @@ -49611,13 +48929,13 @@ standard 50 0 73 -2 +1 44 -0.96 +0.9216 0 LINE 5 -6D7 +6C3 100 AcDbEntity 8 @@ -49641,7 +48959,7 @@ AcDbLine 0 LINE 5 -6D8 +6C4 100 AcDbEntity 8 @@ -49665,7 +48983,7 @@ AcDbLine 0 LINE 5 -6D9 +6C5 100 AcDbEntity 8 @@ -49689,7 +49007,7 @@ AcDbLine 0 LINE 5 -6DA +6C6 100 AcDbEntity 8 @@ -49713,7 +49031,7 @@ AcDbLine 0 DIMENSION 5 -6DB +6C7 100 AcDbEntity 8 @@ -49727,7 +49045,7 @@ ByLayer 100 AcDbDimension 2 -*D55 +*D54 10 127.380113994 20 @@ -49744,8 +49062,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -49777,7 +49093,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -6DC +6C8 100 AcDbEntity 8 @@ -49791,7 +49107,7 @@ ByLayer 100 AcDbDimension 2 -*D56 +*D55 10 127.380113994 20 @@ -49808,8 +49124,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -49841,7 +49155,7 @@ AcDbRotatedDimension 0 CIRCLE 5 -6DD +6C9 100 AcDbEntity 8 @@ -49863,7 +49177,7 @@ AcDbCircle 0 LINE 5 -6DE +6CA 100 AcDbEntity 8 @@ -49887,7 +49201,7 @@ AcDbLine 0 LINE 5 -6DF +6CB 100 AcDbEntity 8 @@ -49911,7 +49225,7 @@ AcDbLine 0 LINE 5 -6E0 +6CC 100 AcDbEntity 8 @@ -49935,7 +49249,7 @@ AcDbLine 0 LINE 5 -6E1 +6CD 100 AcDbEntity 8 @@ -49959,7 +49273,7 @@ AcDbLine 0 LINE 5 -6E2 +6CE 100 AcDbEntity 8 @@ -49983,7 +49297,7 @@ AcDbLine 0 LINE 5 -6E3 +6CF 100 AcDbEntity 8 @@ -50007,7 +49321,7 @@ AcDbLine 0 LINE 5 -6E4 +6D0 100 AcDbEntity 8 @@ -50031,7 +49345,7 @@ AcDbLine 0 LINE 5 -6E5 +6D1 100 AcDbEntity 8 @@ -50055,7 +49369,7 @@ AcDbLine 0 LINE 5 -6E6 +6D2 100 AcDbEntity 8 @@ -50079,7 +49393,7 @@ AcDbLine 0 POINT 5 -6E7 +6D3 100 AcDbEntity 8 @@ -50099,7 +49413,7 @@ AcDbPoint 0 POINT 5 -6E8 +6D4 100 AcDbEntity 8 @@ -50119,7 +49433,7 @@ AcDbPoint 0 DIMENSION 5 -6E9 +6D5 100 AcDbEntity 8 @@ -50133,7 +49447,7 @@ ByLayer 100 AcDbDimension 2 -*D57 +*D56 10 90.216061105 20 @@ -50150,8 +49464,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -50183,7 +49495,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -6EA +6D6 100 AcDbEntity 8 @@ -50197,7 +49509,7 @@ ByLayer 100 AcDbDimension 2 -*D58 +*D57 10 90.216061105 20 @@ -50214,8 +49526,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -50247,7 +49557,7 @@ AcDbRotatedDimension 0 LINE 5 -6EB +6D7 100 AcDbEntity 8 @@ -50271,7 +49581,7 @@ AcDbLine 0 LINE 5 -6EC +6D8 100 AcDbEntity 8 @@ -50295,7 +49605,7 @@ AcDbLine 0 LINE 5 -6ED +6D9 100 AcDbEntity 8 @@ -50319,7 +49629,7 @@ AcDbLine 0 LINE 5 -6EE +6DA 100 AcDbEntity 8 @@ -50343,7 +49653,7 @@ AcDbLine 0 LINE 5 -6EF +6DB 100 AcDbEntity 8 @@ -50367,7 +49677,7 @@ AcDbLine 0 LINE 5 -6F0 +6DC 100 AcDbEntity 8 @@ -50391,7 +49701,7 @@ AcDbLine 0 LINE 5 -6F1 +6DD 100 AcDbEntity 8 @@ -50415,7 +49725,7 @@ AcDbLine 0 LINE 5 -6F2 +6DE 100 AcDbEntity 8 @@ -50439,7 +49749,7 @@ AcDbLine 0 LINE 5 -6F3 +6DF 100 AcDbEntity 8 @@ -50463,7 +49773,7 @@ AcDbLine 0 LINE 5 -6F4 +6E0 100 AcDbEntity 8 @@ -50487,7 +49797,7 @@ AcDbLine 0 ARC 5 -6F5 +6E1 100 AcDbEntity 8 @@ -50515,7 +49825,7 @@ AcDbArc 0 ARC 5 -6F6 +6E2 100 AcDbEntity 8 @@ -50543,7 +49853,7 @@ AcDbArc 0 ARC 5 -6F7 +6E3 100 AcDbEntity 8 @@ -50571,7 +49881,7 @@ AcDbArc 0 LINE 5 -6F8 +6E4 100 AcDbEntity 8 @@ -50595,7 +49905,7 @@ AcDbLine 0 LINE 5 -6F9 +6E5 100 AcDbEntity 8 @@ -50619,7 +49929,7 @@ AcDbLine 0 LINE 5 -6FA +6E6 100 AcDbEntity 8 @@ -50643,7 +49953,7 @@ AcDbLine 0 CIRCLE 5 -6FB +6E7 100 AcDbEntity 8 @@ -50665,7 +49975,7 @@ AcDbCircle 0 LINE 5 -6FC +6E8 100 AcDbEntity 8 @@ -50689,7 +49999,7 @@ AcDbLine 0 MTEXT 5 -6FD +6E9 100 AcDbEntity 8 @@ -50729,13 +50039,13 @@ standard 50 0 73 -1 +2 44 -0.84934656 +0.8153726976 0 POINT 5 -6FE +6EA 100 AcDbEntity 8 @@ -50755,7 +50065,7 @@ AcDbPoint 0 POINT 5 -6FF +6EB 100 AcDbEntity 8 @@ -50775,7 +50085,7 @@ AcDbPoint 0 POINT 5 -700 +6EC 100 AcDbEntity 8 @@ -50795,7 +50105,7 @@ AcDbPoint 0 DIMENSION 5 -701 +6ED 100 AcDbEntity 8 @@ -50809,7 +50119,7 @@ ByLayer 100 AcDbDimension 2 -*D59 +*D58 10 70.4667127669 20 @@ -50826,8 +50136,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -50857,7 +50165,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -702 +6EE 100 AcDbEntity 8 @@ -50871,7 +50179,7 @@ ByLayer 100 AcDbDimension 2 -*D60 +*D59 10 77.9667127669 20 @@ -50888,8 +50196,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -50919,7 +50225,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -703 +6EF 100 AcDbEntity 8 @@ -50933,7 +50239,7 @@ ByLayer 100 AcDbDimension 2 -*D61 +*D60 10 85.4667127669 20 @@ -50950,8 +50256,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -50981,7 +50285,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -704 +6F0 100 AcDbEntity 8 @@ -50995,7 +50299,7 @@ ByLayer 100 AcDbDimension 2 -*D62 +*D61 10 88.4667127669 20 @@ -51012,8 +50316,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51043,7 +50345,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -705 +6F1 100 AcDbEntity 8 @@ -51057,7 +50359,7 @@ ByLayer 100 AcDbDimension 2 -*D63 +*D62 10 88.4667127669 20 @@ -51074,8 +50376,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51105,7 +50405,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -706 +6F2 100 AcDbEntity 8 @@ -51119,7 +50419,7 @@ ByLayer 100 AcDbDimension 2 -*D64 +*D63 10 118.466712767 20 @@ -51136,8 +50436,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51167,7 +50465,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -707 +6F3 100 AcDbEntity 8 @@ -51181,7 +50479,7 @@ ByLayer 100 AcDbDimension 2 -*D65 +*D64 10 123.466712767 20 @@ -51198,8 +50496,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51229,7 +50525,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -708 +6F4 100 AcDbEntity 8 @@ -51243,7 +50539,7 @@ ByLayer 100 AcDbDimension 2 -*D66 +*D65 10 128.066712767 20 @@ -51260,8 +50556,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51291,7 +50585,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -709 +6F5 100 AcDbEntity 8 @@ -51305,7 +50599,7 @@ ByLayer 100 AcDbDimension 2 -*D67 +*D66 10 123.466712767 20 @@ -51322,8 +50616,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51353,7 +50645,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -70A +6F6 100 AcDbEntity 8 @@ -51367,7 +50659,7 @@ ByLayer 100 AcDbDimension 2 -*D68 +*D67 10 185.339708867 20 @@ -51384,8 +50676,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51417,7 +50707,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -70B +6F7 100 AcDbEntity 8 @@ -51431,7 +50721,7 @@ ByLayer 100 AcDbDimension 2 -*D69 +*D68 10 185.339708867 20 @@ -51448,8 +50738,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51481,7 +50769,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -70C +6F8 100 AcDbEntity 8 @@ -51495,7 +50783,7 @@ ByLayer 100 AcDbDimension 2 -*D70 +*D69 10 185.339708867 20 @@ -51512,8 +50800,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51545,7 +50831,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -70D +6F9 100 AcDbEntity 8 @@ -51559,7 +50845,7 @@ ByLayer 100 AcDbDimension 2 -*D71 +*D70 10 185.339708867 20 @@ -51576,8 +50862,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51609,7 +50893,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -70E +6FA 100 AcDbEntity 8 @@ -51623,7 +50907,7 @@ ByLayer 100 AcDbDimension 2 -*D72 +*D71 10 185.339708867 20 @@ -51640,8 +50924,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51673,7 +50955,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -70F +6FB 100 AcDbEntity 8 @@ -51687,7 +50969,7 @@ ByLayer 100 AcDbDimension 2 -*D73 +*D72 10 82.9667127669 20 @@ -51704,8 +50986,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51735,7 +51015,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -710 +6FC 100 AcDbEntity 8 @@ -51749,7 +51029,7 @@ ByLayer 100 AcDbDimension 2 -*D74 +*D73 10 88.4667127669 20 @@ -51766,8 +51046,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51799,7 +51077,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -711 +6FD 100 AcDbEntity 8 @@ -51813,7 +51091,7 @@ ByLayer 100 AcDbDimension 2 -*D75 +*D74 10 72.9667127669 20 @@ -51830,8 +51108,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51863,7 +51139,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -712 +6FE 100 AcDbEntity 8 @@ -51877,7 +51153,7 @@ ByLayer 100 AcDbDimension 2 -*D76 +*D75 10 72.9667127669 20 @@ -51894,8 +51170,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51925,7 +51199,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -713 +6FF 100 AcDbEntity 8 @@ -51939,7 +51213,7 @@ ByLayer 100 AcDbDimension 2 -*D77 +*D76 10 82.9667127669 20 @@ -51956,8 +51230,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -51989,7 +51261,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -714 +700 100 AcDbEntity 8 @@ -52003,7 +51275,7 @@ ByLayer 100 AcDbDimension 2 -*D78 +*D77 10 74.9667127669 20 @@ -52020,8 +51292,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -52053,7 +51323,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -715 +701 100 AcDbEntity 8 @@ -52067,7 +51337,7 @@ ByLayer 100 AcDbDimension 2 -*D79 +*D78 10 168.966712767 20 @@ -52084,8 +51354,6 @@ AcDbDimension 32 71 5 -72 -0 3 Standard 53 @@ -52117,7 +51385,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -716 +702 100 AcDbEntity 8 @@ -52131,7 +51399,7 @@ ByLayer 100 AcDbDimension 2 -*D80 +*D79 10 10 20 @@ -52148,6 +51416,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -52179,7 +51449,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -717 +703 100 AcDbEntity 8 @@ -52193,7 +51463,7 @@ ByLayer 100 AcDbDimension 2 -*D81 +*D80 10 -56.4 20 @@ -52210,6 +51480,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -52239,7 +51511,7 @@ AcDbRotatedDimension 0 LINE 5 -718 +704 100 AcDbEntity 8 @@ -52263,7 +51535,7 @@ AcDbLine 0 LINE 5 -719 +705 100 AcDbEntity 8 @@ -52287,7 +51559,7 @@ AcDbLine 0 LINE 5 -71A +706 100 AcDbEntity 8 @@ -52311,7 +51583,7 @@ AcDbLine 0 LINE 5 -71B +707 100 AcDbEntity 8 @@ -52335,7 +51607,7 @@ AcDbLine 0 LINE 5 -71C +708 100 AcDbEntity 8 @@ -52359,7 +51631,7 @@ AcDbLine 0 LINE 5 -71D +709 100 AcDbEntity 8 @@ -52383,7 +51655,7 @@ AcDbLine 0 LINE 5 -71E +70A 100 AcDbEntity 8 @@ -52407,7 +51679,7 @@ AcDbLine 0 LINE 5 -71F +70B 100 AcDbEntity 8 @@ -52431,7 +51703,7 @@ AcDbLine 0 LINE 5 -720 +70C 100 AcDbEntity 8 @@ -52455,7 +51727,7 @@ AcDbLine 0 LINE 5 -721 +70D 100 AcDbEntity 8 @@ -52479,7 +51751,7 @@ AcDbLine 0 LINE 5 -722 +70E 100 AcDbEntity 8 @@ -52503,7 +51775,7 @@ AcDbLine 0 LINE 5 -723 +70F 100 AcDbEntity 8 @@ -52527,7 +51799,7 @@ AcDbLine 0 LINE 5 -724 +710 100 AcDbEntity 8 @@ -52551,7 +51823,7 @@ AcDbLine 0 LINE 5 -725 +711 100 AcDbEntity 8 @@ -52575,7 +51847,7 @@ AcDbLine 0 LINE 5 -726 +712 100 AcDbEntity 8 @@ -52599,7 +51871,7 @@ AcDbLine 0 LINE 5 -727 +713 100 AcDbEntity 8 @@ -52623,7 +51895,7 @@ AcDbLine 0 LINE 5 -728 +714 100 AcDbEntity 8 @@ -52647,7 +51919,7 @@ AcDbLine 0 LINE 5 -729 +715 100 AcDbEntity 8 @@ -52671,7 +51943,7 @@ AcDbLine 0 LINE 5 -72A +716 100 AcDbEntity 8 @@ -52695,7 +51967,7 @@ AcDbLine 0 LINE 5 -72B +717 100 AcDbEntity 8 @@ -52719,7 +51991,7 @@ AcDbLine 0 LINE 5 -72C +718 100 AcDbEntity 8 @@ -52743,7 +52015,7 @@ AcDbLine 0 LINE 5 -72D +719 100 AcDbEntity 8 @@ -52767,7 +52039,7 @@ AcDbLine 0 LINE 5 -72E +71A 100 AcDbEntity 8 @@ -52791,7 +52063,7 @@ AcDbLine 0 LINE 5 -72F +71B 100 AcDbEntity 8 @@ -52815,7 +52087,7 @@ AcDbLine 0 LINE 5 -730 +71C 100 AcDbEntity 8 @@ -52839,7 +52111,7 @@ AcDbLine 0 LINE 5 -731 +71D 100 AcDbEntity 8 @@ -52863,7 +52135,7 @@ AcDbLine 0 LINE 5 -732 +71E 100 AcDbEntity 8 @@ -52887,7 +52159,7 @@ AcDbLine 0 LINE 5 -733 +71F 100 AcDbEntity 8 @@ -52911,7 +52183,7 @@ AcDbLine 0 LINE 5 -734 +720 100 AcDbEntity 8 @@ -52935,7 +52207,7 @@ AcDbLine 0 LINE 5 -735 +721 100 AcDbEntity 8 @@ -52959,7 +52231,7 @@ AcDbLine 0 LINE 5 -736 +722 100 AcDbEntity 8 @@ -52983,7 +52255,7 @@ AcDbLine 0 LINE 5 -737 +723 100 AcDbEntity 8 @@ -53007,7 +52279,7 @@ AcDbLine 0 LINE 5 -738 +724 100 AcDbEntity 8 @@ -53031,7 +52303,7 @@ AcDbLine 0 LINE 5 -739 +725 100 AcDbEntity 8 @@ -53055,7 +52327,7 @@ AcDbLine 0 LINE 5 -73A +726 100 AcDbEntity 8 @@ -53079,7 +52351,7 @@ AcDbLine 0 LINE 5 -73B +727 100 AcDbEntity 8 @@ -53103,7 +52375,7 @@ AcDbLine 0 LINE 5 -73C +728 100 AcDbEntity 8 @@ -53127,7 +52399,7 @@ AcDbLine 0 LINE 5 -73D +729 100 AcDbEntity 8 @@ -53151,7 +52423,7 @@ AcDbLine 0 CIRCLE 5 -73E +72A 100 AcDbEntity 8 @@ -53173,7 +52445,7 @@ AcDbCircle 0 ARC 5 -73F +72B 100 AcDbEntity 8 @@ -53201,7 +52473,7 @@ AcDbArc 0 LINE 5 -740 +72C 100 AcDbEntity 8 @@ -53225,7 +52497,7 @@ AcDbLine 0 LINE 5 -741 +72D 100 AcDbEntity 8 @@ -53249,7 +52521,7 @@ AcDbLine 0 LINE 5 -742 +72E 100 AcDbEntity 8 @@ -53273,7 +52545,7 @@ AcDbLine 0 LINE 5 -743 +72F 100 AcDbEntity 8 @@ -53297,7 +52569,7 @@ AcDbLine 0 LINE 5 -744 +730 100 AcDbEntity 8 @@ -53321,7 +52593,7 @@ AcDbLine 0 LINE 5 -745 +731 100 AcDbEntity 8 @@ -53345,7 +52617,7 @@ AcDbLine 0 CIRCLE 5 -746 +732 100 AcDbEntity 8 @@ -53367,7 +52639,7 @@ AcDbCircle 0 LINE 5 -747 +733 100 AcDbEntity 8 @@ -53391,7 +52663,7 @@ AcDbLine 0 LINE 5 -748 +734 100 AcDbEntity 8 @@ -53415,7 +52687,7 @@ AcDbLine 0 LINE 5 -749 +735 100 AcDbEntity 8 @@ -53439,7 +52711,7 @@ AcDbLine 0 LINE 5 -74A +736 100 AcDbEntity 8 @@ -53463,7 +52735,7 @@ AcDbLine 0 LINE 5 -74B +737 100 AcDbEntity 8 @@ -53487,7 +52759,7 @@ AcDbLine 0 LINE 5 -74C +738 100 AcDbEntity 8 @@ -53511,7 +52783,7 @@ AcDbLine 0 LINE 5 -74D +739 100 AcDbEntity 8 @@ -53535,7 +52807,7 @@ AcDbLine 0 LINE 5 -74E +73A 100 AcDbEntity 8 @@ -53559,7 +52831,7 @@ AcDbLine 0 LINE 5 -74F +73B 100 AcDbEntity 8 @@ -53583,7 +52855,7 @@ AcDbLine 0 LINE 5 -750 +73C 100 AcDbEntity 8 @@ -53607,7 +52879,7 @@ AcDbLine 0 LINE 5 -751 +73D 100 AcDbEntity 8 @@ -53631,7 +52903,7 @@ AcDbLine 0 LINE 5 -752 +73E 100 AcDbEntity 8 @@ -53655,7 +52927,7 @@ AcDbLine 0 LINE 5 -753 +73F 100 AcDbEntity 8 @@ -53679,7 +52951,7 @@ AcDbLine 0 LINE 5 -754 +740 100 AcDbEntity 8 @@ -53703,7 +52975,7 @@ AcDbLine 0 LINE 5 -755 +741 100 AcDbEntity 8 @@ -53727,7 +52999,7 @@ AcDbLine 0 LINE 5 -756 +742 100 AcDbEntity 8 @@ -53751,7 +53023,7 @@ AcDbLine 0 LINE 5 -757 +743 100 AcDbEntity 8 @@ -53775,7 +53047,7 @@ AcDbLine 0 LINE 5 -758 +744 100 AcDbEntity 8 @@ -53799,7 +53071,7 @@ AcDbLine 0 LINE 5 -759 +745 100 AcDbEntity 8 @@ -53823,7 +53095,7 @@ AcDbLine 0 LINE 5 -75A +746 100 AcDbEntity 8 @@ -53847,7 +53119,7 @@ AcDbLine 0 LINE 5 -75B +747 100 AcDbEntity 8 @@ -53871,7 +53143,7 @@ AcDbLine 0 LINE 5 -75C +748 100 AcDbEntity 8 @@ -53895,7 +53167,7 @@ AcDbLine 0 LINE 5 -75D +749 100 AcDbEntity 8 @@ -53919,7 +53191,7 @@ AcDbLine 0 LINE 5 -75E +74A 100 AcDbEntity 8 @@ -53943,7 +53215,7 @@ AcDbLine 0 LINE 5 -75F +74B 100 AcDbEntity 8 @@ -53967,7 +53239,7 @@ AcDbLine 0 LINE 5 -760 +74C 100 AcDbEntity 8 @@ -53991,7 +53263,7 @@ AcDbLine 0 LINE 5 -761 +74D 100 AcDbEntity 8 @@ -54015,7 +53287,7 @@ AcDbLine 0 LINE 5 -762 +74E 100 AcDbEntity 8 @@ -54039,7 +53311,7 @@ AcDbLine 0 LINE 5 -763 +74F 100 AcDbEntity 8 @@ -54063,7 +53335,7 @@ AcDbLine 0 LINE 5 -764 +750 100 AcDbEntity 8 @@ -54087,7 +53359,7 @@ AcDbLine 0 LINE 5 -765 +751 100 AcDbEntity 8 @@ -54111,7 +53383,7 @@ AcDbLine 0 LINE 5 -766 +752 100 AcDbEntity 8 @@ -54135,7 +53407,7 @@ AcDbLine 0 LINE 5 -767 +753 100 AcDbEntity 8 @@ -54159,7 +53431,7 @@ AcDbLine 0 LINE 5 -768 +754 100 AcDbEntity 8 @@ -54183,7 +53455,7 @@ AcDbLine 0 LINE 5 -769 +755 100 AcDbEntity 8 @@ -54207,7 +53479,7 @@ AcDbLine 0 CIRCLE 5 -76A +756 100 AcDbEntity 8 @@ -54229,7 +53501,7 @@ AcDbCircle 0 LINE 5 -76B +757 100 AcDbEntity 8 @@ -54253,7 +53525,7 @@ AcDbLine 0 LINE 5 -76C +758 100 AcDbEntity 8 @@ -54277,7 +53549,7 @@ AcDbLine 0 LINE 5 -76D +759 100 AcDbEntity 8 @@ -54301,7 +53573,7 @@ AcDbLine 0 LINE 5 -76E +75A 100 AcDbEntity 8 @@ -54325,7 +53597,7 @@ AcDbLine 0 LINE 5 -76F +75B 100 AcDbEntity 8 @@ -54349,7 +53621,7 @@ AcDbLine 0 LINE 5 -770 +75C 100 AcDbEntity 8 @@ -54373,7 +53645,7 @@ AcDbLine 0 LINE 5 -771 +75D 100 AcDbEntity 8 @@ -54397,7 +53669,7 @@ AcDbLine 0 LINE 5 -772 +75E 100 AcDbEntity 8 @@ -54421,7 +53693,7 @@ AcDbLine 0 LINE 5 -773 +75F 100 AcDbEntity 8 @@ -54445,7 +53717,7 @@ AcDbLine 0 LINE 5 -774 +760 100 AcDbEntity 8 @@ -54469,7 +53741,7 @@ AcDbLine 0 POINT 5 -775 +761 100 AcDbEntity 8 @@ -54489,7 +53761,7 @@ AcDbPoint 0 POINT 5 -776 +762 100 AcDbEntity 8 @@ -54509,7 +53781,7 @@ AcDbPoint 0 POINT 5 -777 +763 100 AcDbEntity 8 @@ -54529,7 +53801,7 @@ AcDbPoint 0 DIMENSION 5 -778 +764 100 AcDbEntity 8 @@ -54543,7 +53815,7 @@ ByLayer 100 AcDbDimension 2 -*D82 +*D81 10 -7.29478994918 20 @@ -54560,6 +53832,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -54591,7 +53865,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -779 +765 100 AcDbEntity 8 @@ -54605,7 +53879,7 @@ ByLayer 100 AcDbDimension 2 -*D83 +*D82 10 -7.29478994918 20 @@ -54622,6 +53896,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -54653,7 +53929,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -77A +766 100 AcDbEntity 8 @@ -54667,7 +53943,7 @@ ByLayer 100 AcDbDimension 2 -*D84 +*D83 10 -12.0522616552 20 @@ -54684,6 +53960,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -54715,7 +53993,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -77B +767 100 AcDbEntity 8 @@ -54729,7 +54007,7 @@ ByLayer 100 AcDbDimension 2 -*D85 +*D84 10 -12.0522616552 20 @@ -54746,6 +54024,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -54777,7 +54057,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -77C +768 100 AcDbEntity 8 @@ -54791,7 +54071,7 @@ ByLayer 100 AcDbDimension 2 -*D86 +*D85 10 -12.0522616552 20 @@ -54808,6 +54088,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -54839,7 +54121,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -77D +769 100 AcDbEntity 8 @@ -54853,7 +54135,7 @@ ByLayer 100 AcDbDimension 2 -*D87 +*D86 10 -12.0522616552 20 @@ -54870,6 +54152,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -54901,7 +54185,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -77E +76A 100 AcDbEntity 8 @@ -54915,7 +54199,7 @@ ByLayer 100 AcDbDimension 2 -*D88 +*D87 10 -12.0522616552 20 @@ -54932,6 +54216,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -54963,7 +54249,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -77F +76B 100 AcDbEntity 8 @@ -54977,7 +54263,7 @@ ByLayer 100 AcDbDimension 2 -*D89 +*D88 10 -12.0522616552 20 @@ -54994,6 +54280,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55025,7 +54313,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -780 +76C 100 AcDbEntity 8 @@ -55039,7 +54327,7 @@ ByLayer 100 AcDbDimension 2 -*D90 +*D89 10 -12.0522616552 20 @@ -55056,6 +54344,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55087,7 +54377,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -781 +76D 100 AcDbEntity 8 @@ -55101,7 +54391,7 @@ ByLayer 100 AcDbDimension 2 -*D91 +*D90 10 -12.0522616552 20 @@ -55118,6 +54408,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55149,7 +54441,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -782 +76E 100 AcDbEntity 8 @@ -55163,7 +54455,7 @@ ByLayer 100 AcDbDimension 2 -*D92 +*D91 10 -12.0522616552 20 @@ -55180,6 +54472,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55211,7 +54505,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -783 +76F 100 AcDbEntity 8 @@ -55225,7 +54519,7 @@ ByLayer 100 AcDbDimension 2 -*D93 +*D92 10 -12.0522616552 20 @@ -55242,6 +54536,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55273,7 +54569,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -784 +770 100 AcDbEntity 8 @@ -55287,7 +54583,7 @@ ByLayer 100 AcDbDimension 2 -*D94 +*D93 10 -12.0522616552 20 @@ -55304,6 +54600,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55335,7 +54633,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -785 +771 100 AcDbEntity 8 @@ -55349,7 +54647,7 @@ ByLayer 100 AcDbDimension 2 -*D95 +*D94 10 -16.8097333612 20 @@ -55366,6 +54664,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55397,7 +54697,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -786 +772 100 AcDbEntity 8 @@ -55411,7 +54711,7 @@ ByLayer 100 AcDbDimension 2 -*D96 +*D95 10 17.5000001207 20 @@ -55428,6 +54728,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55457,7 +54759,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -787 +773 100 AcDbEntity 8 @@ -55471,7 +54773,7 @@ ByLayer 100 AcDbDimension 2 -*D97 +*D96 10 10.0000001207 20 @@ -55488,6 +54790,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55517,7 +54821,7 @@ AcDbRotatedDimension 0 POINT 5 -788 +774 100 AcDbEntity 8 @@ -55537,7 +54841,7 @@ AcDbPoint 0 DIMENSION 5 -789 +775 100 AcDbEntity 8 @@ -55551,7 +54855,7 @@ ByLayer 100 AcDbDimension 2 -*D98 +*D97 10 15.95 20 @@ -55568,6 +54872,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55597,7 +54903,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -78A +776 100 AcDbEntity 8 @@ -55611,7 +54917,7 @@ ByLayer 100 AcDbDimension 2 -*D99 +*D98 10 10.95 20 @@ -55628,6 +54934,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55657,7 +54965,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -78B +777 100 AcDbEntity 8 @@ -55671,7 +54979,7 @@ ByLayer 100 AcDbDimension 2 -*D100 +*D99 10 9.05 20 @@ -55688,6 +54996,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55717,7 +55027,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -78C +778 100 AcDbEntity 8 @@ -55731,7 +55041,7 @@ ByLayer 100 AcDbDimension 2 -*D101 +*D100 10 54.1249998732 20 @@ -55748,6 +55058,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55777,7 +55089,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -78D +779 100 AcDbEntity 8 @@ -55791,7 +55103,7 @@ ByLayer 100 AcDbDimension 2 -*D102 +*D101 10 70.125 20 @@ -55808,6 +55120,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55837,7 +55151,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -78E +77A 100 AcDbEntity 8 @@ -55851,7 +55165,7 @@ ByLayer 100 AcDbDimension 2 -*D103 +*D102 10 86.125 20 @@ -55868,6 +55182,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55897,7 +55213,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -78F +77B 100 AcDbEntity 8 @@ -55911,7 +55227,7 @@ ByLayer 100 AcDbDimension 2 -*D104 +*D103 10 90.125000025 20 @@ -55928,6 +55244,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -55957,7 +55275,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -790 +77C 100 AcDbEntity 8 @@ -55971,7 +55289,7 @@ ByLayer 100 AcDbDimension 2 -*D105 +*D104 10 90.125 20 @@ -55988,6 +55306,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -56017,7 +55337,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -791 +77D 100 AcDbEntity 8 @@ -56031,7 +55351,7 @@ ByLayer 100 AcDbDimension 2 -*D106 +*D105 10 122.750000121 20 @@ -56048,6 +55368,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -56077,7 +55399,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -792 +77E 100 AcDbEntity 8 @@ -56091,7 +55413,7 @@ ByLayer 100 AcDbDimension 2 -*D107 +*D106 10 130.250000108 20 @@ -56108,6 +55430,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -56137,7 +55461,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -793 +77F 100 AcDbEntity 8 @@ -56151,7 +55475,7 @@ ByLayer 100 AcDbDimension 2 -*D108 +*D107 10 137.750000121 20 @@ -56168,6 +55492,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -56197,7 +55523,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -794 +780 100 AcDbEntity 8 @@ -56211,7 +55537,7 @@ ByLayer 100 AcDbDimension 2 -*D109 +*D108 10 145.375 20 @@ -56228,6 +55554,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -56257,7 +55585,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -795 +781 100 AcDbEntity 8 @@ -56271,7 +55599,7 @@ ByLayer 100 AcDbDimension 2 -*D110 +*D109 10 145.375 20 @@ -56288,6 +55616,8 @@ AcDbDimension 32 71 5 +72 +0 3 Standard 53 @@ -56317,7 +55647,7 @@ AcDbRotatedDimension 0 LINE 5 -796 +782 100 AcDbEntity 8 @@ -56341,7 +55671,7 @@ AcDbLine 0 LINE 5 -797 +783 100 AcDbEntity 8 @@ -56365,7 +55695,7 @@ AcDbLine 0 LINE 5 -798 +784 100 AcDbEntity 8 @@ -56389,55 +55719,7 @@ AcDbLine 0 LINE 5 -799 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.375 -11 --5.125 -21 -25.125 -0 -LINE -5 -79A -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -25.125 -11 -25.125 -21 -13.375 -0 -LINE -5 -79B +785 100 AcDbEntity 8 @@ -56461,7 +55743,7 @@ AcDbLine 0 LINE 5 -79C +786 100 AcDbEntity 8 @@ -56485,7 +55767,7 @@ AcDbLine 0 LINE 5 -79D +787 100 AcDbEntity 8 @@ -56509,55 +55791,7 @@ AcDbLine 0 LINE 5 -79E -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.4999999714 -20 -25.125 -11 -25.125 -21 -25.125 -0 -LINE -5 -79F -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7A0 +788 100 AcDbEntity 8 @@ -56579,81 +55813,9 @@ AcDbLine 21 54.9999999189 0 -LINE -5 -7A1 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000012071 -20 -60.9999999688 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7A2 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -2.50000012071 -21 -60.9999999688 -0 -LINE -5 -7A3 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -17.4999999714 -21 -25.1249999875 -0 CIRCLE 5 -7A4 +789 100 AcDbEntity 8 @@ -56675,7 +55837,7 @@ AcDbCircle 0 CIRCLE 5 -7A5 +78A 100 AcDbEntity 8 @@ -56697,7 +55859,7 @@ AcDbCircle 0 CIRCLE 5 -7A6 +78B 100 AcDbEntity 8 @@ -56719,7 +55881,7 @@ AcDbCircle 0 LINE 5 -7A7 +78C 100 AcDbEntity 8 @@ -56743,7 +55905,7 @@ AcDbLine 0 LINE 5 -7A8 +78D 100 AcDbEntity 8 @@ -56767,7 +55929,7 @@ AcDbLine 0 LINE 5 -7A9 +78E 100 AcDbEntity 8 @@ -56791,7 +55953,7 @@ AcDbLine 0 LINE 5 -7AA +78F 100 AcDbEntity 8 @@ -56815,7 +55977,7 @@ AcDbLine 0 LINE 5 -7AB +790 100 AcDbEntity 8 @@ -56839,7 +56001,7 @@ AcDbLine 0 LINE 5 -7AC +791 100 AcDbEntity 8 @@ -56863,7 +56025,7 @@ AcDbLine 0 LINE 5 -7AD +792 100 AcDbEntity 8 @@ -56887,7 +56049,7 @@ AcDbLine 0 LINE 5 -7AE +793 100 AcDbEntity 8 @@ -56911,7 +56073,7 @@ AcDbLine 0 LINE 5 -7AF +794 100 AcDbEntity 8 @@ -56935,7 +56097,7 @@ AcDbLine 0 LINE 5 -7B0 +795 100 AcDbEntity 8 @@ -56959,11 +56121,1963 @@ AcDbLine 0 LINE 5 -7B1 +796 +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +4.05 +20 +-5.125 +11 +4.05 +21 +13.3 +0 +LINE +5 +797 +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +25.125 +20 +13.3 +11 +15.95 +21 +13.3 +0 +LINE +5 +798 +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +15.95 +20 +-5.125 +11 +4.125 +21 +-5.125 +0 +LINE +5 +799 +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +15.95 +20 +-5.125 +11 +15.95 +21 +13.3 +0 +LINE +5 +79A +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-5.125 +20 +13.3 +11 +-5.125 +21 +25.125 +0 +LINE +5 +79B +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +4.05 +20 +13.3 +11 +-5.125 +21 +13.3 +0 +LINE +5 +79C +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +2.50000009574 +20 +54.9999999688 +11 +2.49999997138 +21 +25.125 +0 +LINE +5 +79D +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-5.125 +20 +25.125 +11 +2.49999997138 +21 +25.125 +0 +LINE +5 +79E +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +5.50000009574 +20 +54.9999999563 +11 +5.49999997138 +21 +25.125 +0 +LINE +5 +79F +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +2.50000009574 +20 +54.9999999688 +11 +5.50000009574 +21 +54.9999999563 +0 +LINE +5 +7A0 +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +5.49999997138 +20 +25.125 +11 +14.4999999714 +21 +25.125 +0 +LINE +5 +7A1 +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +14.5000000957 +20 +54.9999999189 +11 +14.4999999714 +21 +25.125 +0 +LINE +5 +7A2 +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +17.5000000957 +20 +54.9999999064 +11 +17.4999999714 +21 +25.1249999875 +0 +LINE +5 +7A3 +100 +AcDbEntity +8 +temp +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +14.5000000957 +20 +54.9999999189 +11 +17.5000000957 +21 +54.9999999064 +0 +LINE +5 +7A4 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-5.125 +20 +13.3 +11 +4.05 +21 +13.3 +0 +LINE +5 +7A5 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +4.05 +20 +13.3 +11 +4.125 +21 +-5.125 +0 +LINE +5 +7A6 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +4.125 +20 +-5.125 +11 +15.95 +21 +-5.125 +0 +LINE +5 +7A7 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +15.95 +20 +-5.125 +11 +15.95 +21 +13.3 +0 +LINE +5 +7A8 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +15.95 +20 +13.3 +11 +25.125 +21 +13.3 +0 +LINE +5 +7A9 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +14.5000000957 +20 +54.9999999189 +11 +14.4999999714 +21 +25.125 +0 +LINE +5 +7AA +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +14.4999999714 +20 +25.125 +11 +5.49999997138 +21 +25.125 +0 +LINE +5 +7AB +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +5.49999997138 +20 +25.125 +11 +5.50000009574 +21 +54.9999999563 +0 +POINT +5 +7AC +100 +AcDbEntity +8 +foot +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbPoint +10 +0 +20 +0 +0 +MTEXT +5 +7AD +100 +AcDbEntity +8 +foot +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbMText +10 +58.041154813 +20 +-41.2314214519 +30 +0 +40 +3 +41 +84.5000046286 +71 +1 +72 +5 +1 +Reprap Jeanne\Pfixation du bas des axes de l'imprimante\P\PBy gnieark & TranKILLoman\P\Pscale 1:1 A4 +7 +standard +210 +0 +220 +0 +230 +1 +50 +0 +73 +1 +44 +0.9216 +0 +CIRCLE +5 +7AE +100 +AcDbEntity +8 +chausson-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +10 +20 +-5.125 +40 +1 +0 +ARC +5 +7AF +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +25 +20 +35 +40 +46.971104675 +100 +AcDbArc +50 +239.568148281 +51 +251.578300055 +0 +LINE +5 +7B0 +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +1.20851676776 +20 +-5.5 +11 +18.9883075193 +21 +-5.5 +0 +ARC +5 +7B1 +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +-4.99999974099 +20 +35.0000001248 +40 +47.071104675 +100 +AcDbArc +50 +288.783715182 +51 +300.638423686 +0 +ARC +5 +7B2 +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +-4.99999974099 +20 +35.0000001248 +40 +51.0668863981 +100 +AcDbArc +50 +287.081542752 +51 +307.525951231 +0 +ARC +5 +7B3 +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +25 +20 +35 +40 +51.0668863981 +100 +AcDbArc +50 +232.474048539 +51 +252.918456771 +0 +LINE +5 +7B4 +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-10.8186851348 +20 +-5.5 +11 +-6.10589793587 +21 +-5.5 +0 +LINE +5 +7B5 +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +30.8186852527 +20 +-5.5 +11 +26.1058980324 +21 +-5.5 +0 +LINE +5 +7B6 +100 +AcDbEntity +8 +bar-for-endstop-5-8 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +1.20851676776 +20 +-5.5 +11 +18.9883075193 +21 +-5.5 +0 +LINE +5 +7B7 +100 +AcDbEntity +8 +bar-for-endstop-5-8 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +18.9883075193 +20 +-5.5 +11 +18.9883075193 +21 +-13.5645638187 +0 +LINE +5 +7B8 +100 +AcDbEntity +8 +bar-for-endstop-5-8 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +18.9883075193 +20 +-13.5645638187 +11 +1.20851676776 +21 +-13.5645638187 +0 +LINE +5 +7B9 +100 +AcDbEntity +8 +bar-for-endstop-5-8 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +1.20851676776 +20 +-5.5 +11 +1.20851676776 +21 +-13.5645638187 +0 +LINE +5 +7BA +100 +AcDbEntity +8 +bar-for-endstop-8-15 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +9.49999991403 +20 +-16.7974729318 +11 +9.99999991342 +21 +-16.9444722967 +0 +LINE +5 +7BB +100 +AcDbEntity +8 +bar-for-endstop-8-15 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +9.99999991342 +20 +-16.9444722967 +11 +10.499999914 +21 +-16.797472936 +0 +LINE +5 +7BC +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +9.99999991342 +20 +-16.9444722967 +11 +-6.10589798347 +21 +-16.9444722297 +0 +LINE +5 +7BD +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-10.8186851348 +20 +-5.5 +11 +-6.10589798347 +21 +-16.9444722297 +0 +LINE +5 +7BE +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +9.99999991342 +20 +-16.9444722967 +11 +26.1058980324 +21 +-16.9444723637 +0 +LINE +5 +7BF +100 +AcDbEntity +8 +bar-for-endstop-0-5 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +26.1058980324 +20 +-16.9444723637 +11 +30.8186852527 +21 +-5.5 +0 +LINE +5 +7C0 +100 +AcDbEntity +8 +bar-for-endstop-8-15 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +10.4999999447 +20 +-9.44590975529 +11 +10.499999914 +21 +-16.797472936 +0 +LINE +5 +7C1 +100 +AcDbEntity +8 +bar-for-endstop-8-15 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +9.49999994505 +20 +-9.33998954315 +11 +9.49999991403 +21 +-16.7974729318 +0 +LINE +5 +7C2 +100 +AcDbEntity +8 +bar-for-endstop-8-15 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +9.49999994505 +20 +-9.33998954315 +11 +10.4999999447 +21 +-9.44590975529 +0 +CIRCLE +5 +7C3 +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +-59.8694971338 +20 +116.778810568 +40 +1.5 +0 +CIRCLE +5 +7C4 +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +79.8694971338 +20 +116.778810568 +40 +1.5 +0 +LINE +5 +7C5 +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-54.6733447111 +20 +119.778810568 +11 +74.6733447111 +21 +119.778810568 +0 +LINE +5 +7C6 +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-5.125 +20 +13.375 +11 +-59.935772695 +21 +110.779176616 +0 +LINE +5 +7C7 +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +25.125 +20 +13.375 +11 +79.935772695 +21 +110.779176616 +0 +ARC +5 +7C8 +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +-59.8694971338 +20 +116.778810568 +40 +6 +100 +AcDbArc +50 +30 +51 +269.36710214 +0 +ARC +5 +7C9 +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +79.8694971338 +20 +116.778810568 +40 +6 +100 +AcDbArc +50 +270.63289786 +51 +150 +0 +LINE +5 +7CA +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +12.0000001207 +20 +60.9999999422 +11 +12 +21 +113.778810572 +0 +LINE +5 +7CB +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +12 +20 +113.778810572 +11 +74.7389942677 +21 +113.778810568 +0 +LINE +5 +7CC +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +8.0000001207 +20 +60.999999933 +11 +8 +21 +113.778810568 +0 +LINE +5 +7CD +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-25.0395760136 +20 +61.0000001479 +11 +8.0000001207 +21 +60.999999933 +0 +LINE +5 +7CE +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-25.0395760136 +20 +61.0000001479 +11 +-54.7389942677 +21 +113.778810568 +0 +LINE +5 +7CF +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +45.0395758132 +20 +60.9999997918 +11 +12.0000001207 +21 +60.9999999293 +0 +LINE +5 +7D0 +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +45.0395758132 +20 +60.9999997918 +11 +74.7389942677 +21 +113.778810568 +0 +LINE +5 +7D1 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +5.50000009574 +20 +54.9999999563 +11 +-5.125 +21 +55.0000000006 +0 +LINE +5 +7D2 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-5.125 +20 +55.0000000006 +11 +-5.125 +21 +13.3 +0 +LINE +5 +7D3 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +25.125 +20 +54.9999998746 +11 +14.5000000957 +21 +54.9999999189 +0 +LINE +5 +7D4 +100 +AcDbEntity +8 +foot-profil-4-40 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +25.125 +20 +13.3 +11 +25.125 +21 +54.9999998746 +0 +LINE +5 +7D5 +100 +AcDbEntity +8 +foot-profil-0-4 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-54.7389942677 +20 +113.778810568 +11 +8 +21 +113.778810568 +0 +CIRCLE +5 +7D6 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +19.1250001461 +20 +64.2599999008 +40 +2 +0 +CIRCLE +5 +7D7 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +10.0000001082 +20 +57.9999999376 +40 +2 +0 +CIRCLE +5 +7D8 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +1.26869176962 +20 +7.29582039325 +40 +2 +0 +CIRCLE +5 +7D9 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +18.7313082304 +20 +7.29582039325 +40 +2 +0 +CIRCLE +5 +7DA +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +-59.8694971338 +20 +116.778810568 +40 +1.5 +0 +CIRCLE +5 +7DB +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +79.8694971338 +20 +116.778810568 +40 +1.5 +0 +LINE +5 +7DC +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +45.0395758132 +20 +60.9999997918 +11 +23.1250001461 +21 +60.999999883 +0 +ARC +5 +7DD +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +79.8694971338 +20 +116.778810568 +40 +6 +100 +AcDbArc +50 +270.63289786 +51 +150 +0 +LINE +5 +7DE +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-54.6733447111 +20 +119.778810568 +11 +74.6733447111 +21 +119.778810568 +0 +ARC +5 +7DF +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbCircle +10 +-59.8694971338 +20 +116.778810568 +40 +6 +100 +AcDbArc +50 +30 +51 +269.36710214 +0 +LINE +5 +7E0 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-25.0395760136 +20 +61.0000001479 +11 +8.0000001207 +21 +60.999999933 +0 +LINE +5 +7E1 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +-25.0395760136 +20 +61.0000001479 +11 +-54.7389942677 +21 +113.778810568 +0 +LINE +5 +7E2 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +12.0000001207 +20 +60.9999999422 +11 +15.1250001461 +21 +60.9999999163 +0 +LINE +5 +7E3 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +15.1250001461 +20 +60.9999999163 +11 +15.1250001461 +21 +68.2599999008 +0 +LINE +5 +7E4 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +15.1250001461 +20 +68.2599999008 +11 +23.1250001461 +21 +68.2599999008 +0 +LINE +5 +7E5 +100 +AcDbEntity +8 +top-fix-profil2 +6 +ByLayer +62 +256 +370 +-1 +100 +AcDbLine +10 +23.1250001461 +20 +60.999999883 +11 +23.1250001461 +21 +68.2599999008 +0 +LINE +5 +7E6 100 AcDbEntity 8 -temp +top-fix-profil2 6 ByLayer 62 @@ -56973,21 +58087,21 @@ ByLayer 100 AcDbLine 10 -4.05 +-59.935772695 20 --5.125 +110.779176616 11 -4.05 +4.125 21 -13.3 +-5.125 0 LINE 5 -7B2 +7E7 100 AcDbEntity 8 -temp +top-fix-profil2 6 ByLayer 62 @@ -56997,21 +58111,21 @@ ByLayer 100 AcDbLine 10 -25.125 +79.935772695 20 -13.3 +110.779176616 11 -15.95 +15.875 21 -13.3 +-5.125 0 LINE 5 -7B3 +7E8 100 AcDbEntity 8 -temp +top-fix-profil2 6 ByLayer 62 @@ -57021,7 +58135,7 @@ ByLayer 100 AcDbLine 10 -15.95 +15.875 20 -5.125 11 @@ -57031,11 +58145,11 @@ AcDbLine 0 LINE 5 -7B4 +7E9 100 AcDbEntity 8 -temp +top-fix-profil2 6 ByLayer 62 @@ -57045,21 +58159,21 @@ ByLayer 100 AcDbLine 10 -15.95 +8.0000001207 20 --5.125 +60.999999933 11 -15.95 +8 21 -13.3 +113.778810568 0 LINE 5 -7B5 +7EA 100 AcDbEntity 8 -temp +top-fix-profil2 6 ByLayer 62 @@ -57069,21 +58183,21 @@ ByLayer 100 AcDbLine 10 --5.125 +-54.7389942677 20 -13.3 +113.778810568 11 --5.125 +8 21 -25.125 +113.778810568 0 LINE 5 -7B6 +7EB 100 AcDbEntity 8 -temp +top-fix-profil2 6 ByLayer 62 @@ -57093,21 +58207,21 @@ ByLayer 100 AcDbLine 10 -4.05 +12.0000001207 20 -13.3 +60.9999999422 11 --5.125 +12 21 -13.3 +113.778810572 0 LINE 5 -7B7 +7EC 100 AcDbEntity 8 -temp +top-fix-profil2 6 ByLayer 62 @@ -57117,21 +58231,21 @@ ByLayer 100 AcDbLine 10 -2.50000009574 +45.0395758132 20 -54.9999999688 +60.9999997918 11 -2.49999997138 +74.7389942677 21 -25.125 +113.778810568 0 LINE 5 -7B8 +7ED 100 AcDbEntity 8 -temp +top-fix-profil2 6 ByLayer 62 @@ -57141,21 +58255,21 @@ ByLayer 100 AcDbLine 10 --5.125 +12 20 -25.125 +113.778810572 11 -2.49999997138 +74.7389942677 21 -25.125 +113.778810568 0 LINE 5 -7B9 +7EE 100 AcDbEntity 8 -temp +profil-pour-3d-3 6 ByLayer 62 @@ -57165,21 +58279,21 @@ ByLayer 100 AcDbLine 10 -5.50000009574 +-0.748980562345 20 -54.9999999563 +-5 11 -5.49999997138 +20.7489804943 21 -25.125 +-5 0 LINE 5 -7BA +7EF 100 AcDbEntity 8 -temp +profil-pour-3d-3 6 ByLayer 62 @@ -57189,21 +58303,21 @@ ByLayer 100 AcDbLine 10 -2.50000009574 +13.3775 20 -54.9999999688 +5 11 -5.50000009574 +21.8775 21 -54.9999999563 +5 0 LINE 5 -7BB +7F0 100 AcDbEntity 8 -temp +profil-pour-3d-3 6 ByLayer 62 @@ -57213,21 +58327,21 @@ ByLayer 100 AcDbLine 10 -5.49999997138 +21.8775 20 -25.125 +5 11 -14.4999999714 +21.8775 21 -25.125 +-1 0 LINE 5 -7BC +7F1 100 AcDbEntity 8 -temp +profil-pour-3d-3 6 ByLayer 62 @@ -57237,21 +58351,21 @@ ByLayer 100 AcDbLine 10 -14.5000000957 +21.8775 20 -54.9999999189 +-1 11 -14.4999999714 +-1.8775 21 -25.125 +-1 0 LINE 5 -7BD +7F2 100 AcDbEntity 8 -temp +profil-pour-3d-3 6 ByLayer 62 @@ -57261,21 +58375,21 @@ ByLayer 100 AcDbLine 10 -17.5000000957 +-1.8775 20 -54.9999999064 +-1 11 -17.4999999714 +-1.8775 21 -25.1249999875 +5 0 LINE 5 -7BE +7F3 100 AcDbEntity 8 -temp +profil-pour-3d-3 6 ByLayer 62 @@ -57285,21 +58399,21 @@ ByLayer 100 AcDbLine 10 -14.5000000957 +-1.8775 20 -54.9999999189 +5 11 -17.5000000957 +6.6225 21 -54.9999999064 +5 0 LINE 5 -7BF +7F4 100 AcDbEntity 8 -foot-profil-4-40 +bar-for-endstop-8-15 6 ByLayer 62 @@ -57309,21 +58423,21 @@ ByLayer 100 AcDbLine 10 --5.125 +-1.8775 20 -13.3 +8 11 -4.05 +6.6225 21 -13.3 +8 0 LINE 5 -7C0 +7F5 100 AcDbEntity 8 -foot-profil-4-40 +profil-pour-3d-3 6 ByLayer 62 @@ -57333,21 +58447,21 @@ ByLayer 100 AcDbLine 10 -4.05 +6.6225 20 -13.3 +5 11 -4.125 +6.6225 21 --5.125 +7.3725 0 LINE 5 -7C1 +7F6 100 AcDbEntity 8 -foot-profil-4-40 +profil-pour-3d-3 6 ByLayer 62 @@ -57357,21 +58471,21 @@ ByLayer 100 AcDbLine 10 -4.125 +13.3775 20 --5.125 +5 11 -15.95 +13.3775 21 --5.125 +7.3725 0 -LINE +ARC 5 -7C2 +7F7 100 AcDbEntity 8 -foot-profil-4-40 +profil-pour-3d 6 ByLayer 62 @@ -57379,23 +58493,27 @@ ByLayer 370 -1 100 -AcDbLine +AcDbCircle 10 -15.95 +25 20 --5.125 -11 -15.95 -21 -13.3 +35 +40 +50.5668863981 +100 +AcDbArc +50 +177.052720582 +51 +252.744286115 0 LINE 5 -7C3 +7F8 100 AcDbEntity 8 -foot-profil-4-40 +profil-pour-3d 6 ByLayer 62 @@ -57405,21 +58523,21 @@ ByLayer 100 AcDbLine 10 -15.95 +9.24999993875 20 -13.3 +-11.469837686 11 -25.125 +10.7499999388 21 -13.3 +-11.4698376855 0 LINE 5 -7C4 +7F9 100 AcDbEntity 8 -foot-profil-4-40 +profil-pour-3d 6 ByLayer 62 @@ -57429,21 +58547,21 @@ ByLayer 100 AcDbLine 10 -25.125 +9.24999994801 20 -13.3 +-9.88816657385 11 -25.125 +9.24999993875 21 -25.125 +-11.469837686 0 LINE 5 -7C5 +7FA 100 AcDbEntity 8 -foot-profil-4-40 +profil-pour-3d 6 ByLayer 62 @@ -57453,21 +58571,21 @@ ByLayer 100 AcDbLine 10 -25.125 +10.749999948 20 -25.125 +-9.88816657123 11 -17.4999999714 +10.7499999388 21 -25.1249999875 +-11.4698376855 0 LINE 5 -7C6 +7FB 100 AcDbEntity 8 -foot-profil-4-40 +profil-bar-endstop 6 ByLayer 62 @@ -57477,21 +58595,21 @@ ByLayer 100 AcDbLine 10 -17.4999999714 +9.44999993992 20 -25.1249999875 +-11.2698376859 11 -17.5000000957 +10.5499999399 21 -54.9999999064 +-11.2698376856 0 LINE 5 -7C7 +7FC 100 AcDbEntity 8 -foot-profil-4-40 +profil-bar-endstop 6 ByLayer 62 @@ -57501,21 +58619,21 @@ ByLayer 100 AcDbLine 10 -17.5000000957 +9.44999995124 20 -54.9999999064 +-9.3346935332 11 -14.5000000957 +9.44999993992 21 -54.9999999189 +-11.2698376859 0 LINE 5 -7C8 +7FD 100 AcDbEntity 8 -foot-profil-4-40 +profil-bar-endstop 6 ByLayer 62 @@ -57525,21 +58643,21 @@ ByLayer 100 AcDbLine 10 -14.5000000957 +10.5499999512 20 -54.9999999189 +-9.3346935332 11 -14.4999999714 +10.5499999399 21 -25.125 +-11.2698376856 0 LINE 5 -7C9 +7FE 100 AcDbEntity 8 -foot-profil-4-40 +profil-bar-endstop 6 ByLayer 62 @@ -57549,21 +58667,21 @@ ByLayer 100 AcDbLine 10 -14.4999999714 +9.44999995124 20 -25.125 +-9.3346935332 11 -5.49999997138 +10.5499999512 21 -25.125 +-9.3346935332 0 LINE 5 -7CA +7FF 100 AcDbEntity 8 -foot-profil-4-40 +profil-bar-endstop 6 ByLayer 62 @@ -57573,21 +58691,21 @@ ByLayer 100 AcDbLine 10 -5.49999997138 +9.44999992789 20 -25.125 +-16.7974729316 11 -5.50000009574 +10.499999914 21 -54.9999999563 +-16.797472936 0 LINE 5 -7CB +800 100 AcDbEntity 8 -foot-profil-4-40 +profil-bar-endstop 6 ByLayer 62 @@ -57597,21 +58715,21 @@ ByLayer 100 AcDbLine 10 -5.50000009574 +9.44999992789 20 -54.9999999563 +-13.3267446898 11 -2.50000009574 +9.44999992789 21 -54.9999999688 +-16.7974729316 0 LINE 5 -7CC +801 100 AcDbEntity 8 -foot-profil-4-40 +profil-bar-endstop 6 ByLayer 62 @@ -57621,21 +58739,21 @@ ByLayer 100 AcDbLine 10 -2.50000009574 +10.499999914 20 -54.9999999688 +-16.797472936 11 -2.49999997138 +10.499999914 21 -25.125 +-13.3267446898 0 LINE 5 -7CD +802 100 AcDbEntity 8 -foot-profil-4-40 +profil-bar-endstop 6 ByLayer 62 @@ -57645,21 +58763,21 @@ ByLayer 100 AcDbLine 10 -2.49999997138 +9.44999992789 20 -25.125 +-13.3267446898 11 --5.125 +9.97499992095 21 -25.125 +-13.4925368194 0 LINE 5 -7CE +803 100 AcDbEntity 8 -foot-profil-4-40 +profil-bar-endstop 6 ByLayer 62 @@ -57669,21 +58787,21 @@ ByLayer 100 AcDbLine 10 --5.125 +9.97499992095 20 -25.125 +-13.4925368194 11 --5.125 +10.499999914 21 -13.3 +-13.3267446898 0 -POINT +ARC 5 -7CF +804 100 AcDbEntity 8 -foot +profil-pour-3d 6 ByLayer 62 @@ -57691,19 +58809,27 @@ ByLayer 370 -1 100 -AcDbPoint +AcDbCircle 10 -0 +-5 20 +35 +40 +47.5711046381 +100 +AcDbArc +50 +289.33454267 +51 +304.402037138 0 -0 -MTEXT +LINE 5 -7D0 +805 100 AcDbEntity 8 -foot +profil-pour-3d 6 ByLayer 62 @@ -57711,45 +58837,23 @@ ByLayer 370 -1 100 -AcDbMText +AcDbLine 10 -58.041154813 +21.8775 20 --41.2314214519 -30 -0 -40 -3 -41 -84.5000046286 -71 -1 -72 +-4.25060496654 +11 +21.8775 +21 5 -1 -Reprap Jeanne\Pfixation du bas des axes de l'imprimante\P\PBy gnieark & TranKILLoman\P\Pscale 1:1 A4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.96 0 -CIRCLE +LINE 5 -7D1 +806 100 AcDbEntity 8 -chausson-0-4 +profil-pour-3d 6 ByLayer 62 @@ -57757,21 +58861,23 @@ ByLayer 370 -1 100 -AcDbCircle -10 +AcDbLine 10 +-1.8775 20 --5.125 -40 -1 +5 +11 +-1.8775 +21 +-4.25060501126 0 ARC 5 -7D2 +807 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d 6 ByLayer 62 @@ -57785,21 +58891,21 @@ AcDbCircle 20 35 40 -46.971104675 +47.571104675 100 AcDbArc 50 -239.568148281 +235.597962892 51 -251.578300055 +250.665457213 0 LINE 5 -7D3 +808 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d 6 ByLayer 62 @@ -57809,21 +58915,21 @@ ByLayer 100 AcDbLine 10 -1.20851676776 +16 20 --5.5 +33.1 11 -18.9883075193 +16 21 --5.5 +31 0 -ARC +LINE 5 -7D4 +809 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d 6 ByLayer 62 @@ -57831,27 +58937,23 @@ ByLayer 370 -1 100 -AcDbCircle +AcDbLine 10 --4.99999974099 +16 20 -35.0000001248 -40 -47.071104675 -100 -AcDbArc -50 -288.783715182 -51 -300.638423686 +33.1 +11 +4 +21 +33.1 0 -ARC +LINE 5 -7D5 +80A 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d 6 ByLayer 62 @@ -57859,27 +58961,23 @@ ByLayer 370 -1 100 -AcDbCircle +AcDbLine 10 --4.99999974099 +4 20 -35.0000001248 -40 -51.0668863981 -100 -AcDbArc -50 -287.081542752 -51 -307.525951231 +31 +11 +4 +21 +33.1 0 -ARC +LINE 5 -7D6 +80B 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d 6 ByLayer 62 @@ -57887,27 +58985,23 @@ ByLayer 370 -1 100 -AcDbCircle +AcDbLine 10 -25 +4 20 -35 -40 -51.0668863981 -100 -AcDbArc -50 -232.474048539 -51 -252.918456771 +31 +11 +-1 +21 +31 0 LINE 5 -7D7 +80C 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d-3 6 ByLayer 62 @@ -57917,21 +59011,21 @@ ByLayer 100 AcDbLine 10 --10.8186851348 +6.6225 20 --5.5 +7.3725 11 --6.10589793587 +-7 21 --5.5 +7.3725 0 LINE 5 -7D8 +80D 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d-3 6 ByLayer 62 @@ -57941,21 +59035,21 @@ ByLayer 100 AcDbLine 10 -30.8186852527 +27.0000000003 20 --5.5 +7.3725 11 -26.1058980324 +13.3775 21 --5.5 +7.3725 0 LINE 5 -7D9 +80E 100 AcDbEntity 8 -bar-for-endstop-5-8 +profil-pour-3d-3 6 ByLayer 62 @@ -57965,21 +59059,21 @@ ByLayer 100 AcDbLine 10 -1.20851676776 +-7 20 --5.5 +7.3725 11 -18.9883075193 +-6.99999999977 21 --5.5 +0.530585658251 0 LINE 5 -7DA +80F 100 AcDbEntity 8 -bar-for-endstop-5-8 +profil-pour-3d-3 6 ByLayer 62 @@ -57989,21 +59083,21 @@ ByLayer 100 AcDbLine 10 -18.9883075193 +-6.99999999977 20 --5.5 +0.530585658251 11 -18.9883075193 +-0.748980562345 21 --13.5645638187 +-5 0 LINE 5 -7DB +810 100 AcDbEntity 8 -bar-for-endstop-5-8 +profil-pour-3d-3 6 ByLayer 62 @@ -58013,21 +59107,21 @@ ByLayer 100 AcDbLine 10 -18.9883075193 +27.0000000003 20 --13.5645638187 +0.530585706629 11 -1.20851676776 +27.0000000003 21 --13.5645638187 +7.3725 0 LINE 5 -7DC +811 100 AcDbEntity 8 -bar-for-endstop-5-8 +profil-pour-3d-3 6 ByLayer 62 @@ -58037,21 +59131,21 @@ ByLayer 100 AcDbLine 10 -1.20851676776 +27.0000000003 20 --5.5 +0.530585706629 11 -1.20851676776 +20.7489804943 21 --13.5645638187 +-5 0 LINE 5 -7DD +812 100 AcDbEntity 8 -bar-for-endstop-8-15 +profil-pour-3d-3-middle 6 ByLayer 62 @@ -58061,21 +59155,21 @@ ByLayer 100 AcDbLine 10 -9.49999991403 +25.1 20 --16.7974729318 +7.3725 11 -9.99999991342 +25.1 21 --16.9444722967 +-1.15043813823 0 LINE 5 -7DE +813 100 AcDbEntity 8 -bar-for-endstop-8-15 +profil-pour-3d-3-middle 6 ByLayer 62 @@ -58085,21 +59179,21 @@ ByLayer 100 AcDbLine 10 -9.99999991342 +-5.1 20 --16.9444722967 +7.3725 11 -10.499999914 +-5.1 21 --16.797472936 +-1.15043818988 0 LINE 5 -7DF +814 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d-3-middle 6 ByLayer 62 @@ -58109,21 +59203,21 @@ ByLayer 100 AcDbLine 10 -9.99999991342 +25.1 20 --16.9444722967 +7.3725 11 --6.10589798347 +27.0000000003 21 --16.9444722297 +7.3725 0 LINE 5 -7E0 +815 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d-3-middle 6 ByLayer 62 @@ -58133,21 +59227,21 @@ ByLayer 100 AcDbLine 10 --10.8186851348 +27.0000000003 20 --5.5 +7.3725 11 --6.10589798347 +27.0000000003 21 --16.9444722297 +0.530585706629 0 LINE 5 -7E1 +816 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d-3-middle 6 ByLayer 62 @@ -58157,21 +59251,21 @@ ByLayer 100 AcDbLine 10 -9.99999991342 +27.0000000003 20 --16.9444722967 +0.530585706629 11 -26.1058980324 +25.1 21 --16.9444723637 +-1.15043813823 0 LINE 5 -7E2 +817 100 AcDbEntity 8 -bar-for-endstop-0-5 +profil-pour-3d-3-middle 6 ByLayer 62 @@ -58181,21 +59275,21 @@ ByLayer 100 AcDbLine 10 -26.1058980324 +-7 20 --16.9444723637 +7.3725 11 -30.8186852527 +-5.1 21 --5.5 +7.3725 0 LINE 5 -7E3 +818 100 AcDbEntity 8 -bar-for-endstop-8-15 +profil-pour-3d-3-middle 6 ByLayer 62 @@ -58205,21 +59299,21 @@ ByLayer 100 AcDbLine 10 -10.4999999447 +-5.1 20 --9.44590975529 +7.3725 11 -10.499999914 +-5.1 21 --16.797472936 +-1.15043818988 0 LINE 5 -7E4 +819 100 AcDbEntity 8 -bar-for-endstop-8-15 +profil-pour-3d-3-middle 6 ByLayer 62 @@ -58229,21 +59323,21 @@ ByLayer 100 AcDbLine 10 -9.49999994505 +-5.1 20 --9.33998954315 +-1.15043818988 11 -9.49999991403 +-6.99999999977 21 --16.7974729318 +0.530585658251 0 LINE 5 -7E5 +81A 100 AcDbEntity 8 -bar-for-endstop-8-15 +profil-pour-3d-3-middle 6 ByLayer 62 @@ -58253,13 +59347,13 @@ ByLayer 100 AcDbLine 10 -9.49999994505 +-6.99999999977 20 --9.33998954315 +0.530585658251 11 -10.4999999447 +-7 21 --9.44590975529 +7.3725 0 ENDSEC 0 diff --git a/DXF-SCAD-AND-OTHERS/all.dxf~ b/DXF-SCAD-AND-OTHERS/all.dxf~ deleted file mode 100644 index 8fac7eb..0000000 --- a/DXF-SCAD-AND-OTHERS/all.dxf~ +++ /dev/null @@ -1,58320 +0,0 @@ -999 -dxfrw 0.5.11 -0 -SECTION -2 -HEADER -9 -$ACADVER -1 -AC1021 -9 -$HANDSEED -5 -20000 -9 -$DWGCODEPAGE -3 -ANSI_1252 -9 -$INSBASE -10 -0 -20 -0 -30 -0 -9 -$EXTMIN -10 -10000000000 -20 -10000000000 -30 -0 -9 -$EXTMAX -10 --10000000000 -20 --10000000000 -30 -0 -9 -$LIMMIN -10 -0 -20 -0 -9 -$LIMMAX -10 -420 -20 -297 -9 -$ORTHOMODE -70 -0 -9 -$LTSCALE -40 -1 -9 -$TEXTSTYLE -7 -STANDARD -9 -$CLAYER -8 -bar-for-endstop-8-15 -9 -$DIMASZ -40 -0.3 -9 -$DIMLFAC -40 -1 -9 -$DIMSCALE -40 -1 -9 -$DIMEXO -40 -2 -9 -$DIMEXE -40 -0.3 -9 -$DIMTXT -40 -0.8 -9 -$DIMTSZ -40 -0 -9 -$DIMAUNIT -70 -0 -9 -$DIMADEC -70 -2 -9 -$DIMLUNIT -70 -2 -9 -$DIMSTYLE -2 -STANDARD -9 -$DIMGAP -40 -0.625 -9 -$DIMTIH -70 -1 -9 -$LUNITS -70 -2 -9 -$LUPREC -70 -4 -9 -$AUNITS -70 -0 -9 -$AUPREC -70 -2 -9 -$SPLINESEGS -70 -8 -9 -$GRIDMODE -70 -1 -9 -$SNAPSTYLE -70 -0 -9 -$GRIDUNIT -10 -0 -20 -0 -9 -$PINSBASE -10 -26.6811117839 -20 -75.7207375169 -30 -0 -9 -$PLIMMIN -10 -0 -20 -0 -9 -$PLIMMAX -10 -297 -20 -210 -9 -$INSUNITS -70 -0 -9 -$PSVPSCALE -40 -1 -0 -ENDSEC -0 -SECTION -2 -CLASSES -0 -ENDSEC -0 -SECTION -2 -TABLES -0 -TABLE -2 -VPORT -5 -8 -330 -0 -100 -AcDbSymbolTable -70 -1 -0 -VPORT -5 -31 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbViewportTableRecord -2 -*ACTIVE -70 -0 -10 -0 -20 -0 -11 -1 -21 -1 -12 -17.0230138317 -22 --0.417640182329 -13 -0 -23 -0 -14 -10 -24 -10 -15 -10 -25 -10 -16 -0 -26 -0 -36 -1 -17 -0 -27 -0 -37 -0 -40 -25.3257006564 -41 -1.672823219 -42 -50 -43 -0 -44 -0 -50 -0 -51 -0 -71 -0 -72 -100 -73 -1 -74 -3 -75 -0 -76 -1 -77 -0 -78 -0 -281 -0 -65 -1 -110 -0 -120 -0 -130 -0 -111 -1 -121 -0 -131 -0 -112 -0 -122 -1 -132 -0 -79 -0 -146 -0 -348 -10020 -60 -7 -61 -5 -292 -1 -282 -1 -141 -0 -142 -0 -63 -250 -421 -3358443 -0 -ENDTAB -0 -TABLE -2 -LTYPE -5 -5 -330 -0 -100 -AcDbSymbolTable -70 -4 -0 -LTYPE -5 -14 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -ByBlock -70 -0 -3 - -72 -65 -73 -0 -40 -0 -0 -LTYPE -5 -15 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -ByLayer -70 -0 -3 - -72 -65 -73 -0 -40 -0 -0 -LTYPE -5 -16 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -Continuous -70 -0 -3 -Solid line -72 -65 -73 -0 -40 -0 -0 -LTYPE -5 -32 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DOT -70 -0 -3 -Dot . . . . . . . . . . . . . . . . . . . . . . -72 -65 -73 -2 -40 -6.35 -49 -0 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -33 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DOT2 -70 -0 -3 -Dot (.5x) ..................................... -72 -65 -73 -2 -40 -3.175 -49 -0 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -34 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DOTX2 -70 -0 -3 -Dot (2x) . . . . . . . . . . . . . -72 -65 -73 -2 -40 -12.7 -49 -0 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -35 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHED -70 -0 -3 -Dot . . . . . . . . . . . . . . . . . . . . . . -72 -65 -73 -2 -40 -19.05 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -36 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHED2 -70 -0 -3 -Dashed (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -72 -65 -73 -2 -40 -9.525 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -37 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHEDX2 -70 -0 -3 -Dashed (2x) ____ ____ ____ ____ ____ ___ -72 -65 -73 -2 -40 -38.1 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -38 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHDOT -70 -0 -3 -Dash dot __ . __ . __ . __ . __ . __ . __ . __ -72 -65 -73 -4 -40 -25.4 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -49 -0 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -39 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHDOT2 -70 -0 -3 -Dash dot (.5x) _._._._._._._._._._._._._._._. -72 -65 -73 -4 -40 -12.7 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -49 -0 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -3A -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DASHDOTX2 -70 -0 -3 -Dash dot (2x) ____ . ____ . ____ . ___ -72 -65 -73 -4 -40 -50.8 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -49 -0 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -3B -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DIVIDE -70 -0 -3 -Divide ____ . . ____ . . ____ . . ____ . . ____ -72 -65 -73 -6 -40 -31.75 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -49 -0 -74 -0 -49 --6.35 -74 -0 -49 -0 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -3C -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DIVIDE2 -70 -0 -3 -Divide (.5x) __..__..__..__..__..__..__..__.._ -72 -65 -73 -6 -40 -15.875 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -49 -0 -74 -0 -49 --3.175 -74 -0 -49 -0 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -3D -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -DIVIDEX2 -70 -0 -3 -Divide (2x) ________ . . ________ . . _ -72 -65 -73 -6 -40 -63.5 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -49 -0 -74 -0 -49 --12.7 -74 -0 -49 -0 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -3E -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BORDER -70 -0 -3 -Border __ __ . __ __ . __ __ . __ __ . __ __ . -72 -65 -73 -6 -40 -44.45 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -49 -12.7 -74 -0 -49 --6.35 -74 -0 -49 -0 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -3F -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BORDER2 -70 -0 -3 -Border (.5x) __.__.__.__.__.__.__.__.__.__.__. -72 -65 -73 -6 -40 -22.225 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -49 -6.35 -74 -0 -49 --3.175 -74 -0 -49 -0 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -40 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BORDERX2 -70 -0 -3 -Border (2x) ____ ____ . ____ ____ . ___ -72 -65 -73 -6 -40 -88.9 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -49 -25.4 -74 -0 -49 --12.7 -74 -0 -49 -0 -74 -0 -49 --12.7 -74 -0 -0 -LTYPE -5 -41 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -CENTER -70 -0 -3 -Center ____ _ ____ _ ____ _ ____ _ ____ _ ____ -72 -65 -73 -4 -40 -50.8 -49 -31.75 -74 -0 -49 --6.35 -74 -0 -49 -6.35 -74 -0 -49 --6.35 -74 -0 -0 -LTYPE -5 -42 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -CENTER2 -70 -0 -3 -Center (.5x) ___ _ ___ _ ___ _ ___ _ ___ _ ___ -72 -65 -73 -4 -40 -28.575 -49 -19.05 -74 -0 -49 --3.175 -74 -0 -49 -3.175 -74 -0 -49 --3.175 -74 -0 -0 -LTYPE -5 -43 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -CENTERX2 -70 -0 -3 -Center (2x) ________ __ ________ __ _____ -72 -65 -73 -4 -40 -101.6 -49 -63.5 -74 -0 -49 --12.7 -74 -0 -49 -12.7 -74 -0 -49 --12.7 -74 -0 -0 -ENDTAB -0 -TABLE -2 -LAYER -5 -2 -330 -0 -100 -AcDbSymbolTable -70 -1 -0 -LAYER -5 -10 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -0 -70 -0 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -44 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Glissement -70 -1 -62 -7 -6 -CONTINUOUS -370 -18 -390 -F -0 -LAYER -5 -45 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Roulements -70 -1 -62 -4 -6 -CONTINUOUS -370 -13 -390 -F -0 -LAYER -5 -46 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -47 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix-NEMA-et-GT2 -70 -1 -62 -4 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -48 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix-NEMA-et-GT2-vues-ortho -70 -1 -62 -4 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -49 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix-mesures-ortho -70 -1 -62 -253 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4A -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -Top-fix-vues-orthogonales -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4B -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -bar-for-endstop-0-5 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4C -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -bar-for-endstop-5-8 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4D -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -bar-for-endstop-8-15 -70 -0 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4E -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -cadre-glissement -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -4F -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -chausson-0-4 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -50 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -cotes -70 -1 -62 -8 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -51 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -default -70 -1 -62 -7 -6 -CONTINUOUS -370 --3 -390 -F -0 -LAYER -5 -52 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -53 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot-cotes -70 -1 -62 -253 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -54 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot-profil-0-4 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -55 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot-profil-4-40 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -56 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -foot-roulement -70 -1 -62 -96 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -57 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -profil T -70 -1 -62 -4 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -58 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -profil-pour-3d -70 -1 -62 -5 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -59 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -profil-pour-3d-2 -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -LAYER -5 -5A -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -temp -70 -1 -62 -7 -6 -CONTINUOUS -370 -0 -390 -F -0 -ENDTAB -0 -TABLE -2 -STYLE -5 -3 -330 -0 -100 -AcDbSymbolTable -70 -3 -0 -STYLE -5 -5B -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbTextStyleTableRecord -2 -standard -70 -0 -40 -0 -41 -1 -50 -0 -71 -0 -42 -1 -3 -standard -4 - -0 -ENDTAB -0 -TABLE -2 -VIEW -5 -6 -330 -0 -100 -AcDbSymbolTable -70 -0 -0 -ENDTAB -0 -TABLE -2 -UCS -5 -7 -330 -0 -100 -AcDbSymbolTable -70 -0 -0 -ENDTAB -0 -TABLE -2 -APPID -5 -9 -330 -0 -100 -AcDbSymbolTable -70 -1 -0 -APPID -5 -12 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord -2 -ACAD -70 -0 -0 -ENDTAB -0 -TABLE -2 -DIMSTYLE -5 -A -330 -0 -100 -AcDbSymbolTable -70 -1 -100 -AcDbDimStyleTable -71 -1 -0 -DIMSTYLE -105 -5C -330 -A -100 -AcDbSymbolTableRecord -100 -AcDbDimStyleTableRecord -2 -Standard -70 -0 -40 -1 -41 -0.3 -42 -2 -43 -0.38 -44 -0.3 -45 -0 -46 -0 -47 -0 -48 -0 -140 -0.8 -141 -0.09 -142 -0 -143 -25.4 -144 -1 -145 -0 -146 -1 -147 -0.625 -148 -0 -71 -0 -72 -0 -73 -0 -74 -1 -75 -0 -76 -0 -77 -0 -78 -0 -79 -0 -170 -0 -171 -2 -172 -0 -173 -0 -174 -0 -175 -0 -176 -0 -177 -0 -178 -0 -179 -0 -271 -4 -272 -4 -273 -2 -274 -2 -275 -0 -276 -0 -277 -2 -278 -46 -279 -0 -280 -0 -281 -0 -282 -0 -283 -1 -284 -0 -285 -0 -286 -0 -288 -0 -289 -3 -340 -Standard -341 - -371 --2 -372 --2 -0 -ENDTAB -0 -TABLE -2 -BLOCK_RECORD -5 -1 -330 -0 -100 -AcDbSymbolTable -70 -2 -0 -BLOCK_RECORD -5 -1F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*Model_Space -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*Paper_Space -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -5D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D30 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -60 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D84 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -63 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D67 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -66 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D83 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -69 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D107 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -6C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D35 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -6F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D63 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -72 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D14 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -75 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D76 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -78 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D47 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -7B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D11 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -7E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D46 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -81 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D49 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -84 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D4 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -87 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D8 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -8A -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D99 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -8D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D103 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -90 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D101 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -93 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D54 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -96 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D73 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -99 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D7 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -9C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D74 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -9F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D87 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -A2 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D20 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -A5 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D22 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -A8 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D25 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -AB -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D90 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -AE -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D94 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -B1 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D21 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -B4 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D69 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -B7 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D5 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -BA -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D33 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -BD -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D39 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -C0 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D80 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -C3 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D88 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -C6 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D95 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -C9 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D91 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -CC -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D72 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -CF -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D92 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -D2 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D23 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -D5 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D45 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -D8 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D16 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -DB -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D86 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -DE -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D28 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -E1 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D31 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -E4 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D13 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -E7 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D102 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -EA -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D104 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -ED -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D51 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -F0 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D62 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -F3 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D108 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -F6 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D85 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -F9 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D26 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -FC -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D82 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -FF -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D24 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -102 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D70 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -105 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D65 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -108 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D57 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -10B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D41 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -10E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D9 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -111 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D71 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -114 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D81 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -117 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D55 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -11A -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D110 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -11D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D1 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -120 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D10 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -123 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D61 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -126 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D6 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -129 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D34 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -12C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D2 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -12F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D59 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -132 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D27 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -135 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D56 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -138 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D64 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -13B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D100 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -13E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D15 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -141 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D68 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -144 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D77 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -147 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D60 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -14A -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D109 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -14D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D32 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -150 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D12 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -153 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D105 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -156 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D29 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -159 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D97 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -15C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D48 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -15F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D78 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -162 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D17 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -165 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D96 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -168 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D3 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -16B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D44 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -16E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D38 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -171 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D53 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -174 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D58 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -177 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D79 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -17A -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D93 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -17D -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D98 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -180 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D50 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -183 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D52 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -186 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D66 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -189 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D19 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -18C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D18 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -18F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D40 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -192 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D75 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -195 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D37 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -198 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D36 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -19B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D43 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -19E -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D42 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1A1 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D89 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1A4 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*D106 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1A7 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -a3 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1AA -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -a3-0 -70 -0 -280 -1 -281 -0 -0 -BLOCK_RECORD -5 -1AD -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -foot-cotes -70 -0 -280 -1 -281 -0 -0 -ENDTAB -0 -ENDSEC -0 -SECTION -2 -BLOCKS -0 -BLOCK -5 -20 -330 -1F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*Model_Space -70 -0 -10 -0 -20 -0 -30 -0 -3 -*Model_Space -1 - -0 -ENDBLK -5 -21 -330 -1F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1C -330 -1B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*Paper_Space -70 -0 -10 -0 -20 -0 -30 -0 -3 -*Paper_Space -1 - -0 -ENDBLK -5 -1D -330 -1F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -5E -330 -5D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D30 -70 -1 -10 -0 -20 -0 -3 -*D30 -1 - -0 -LINE -5 -1B0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -13.3725 -11 -121.702603419 -21 -2.1980222528 -0 -SOLID -5 -1B1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -13.3725 -30 -0 -11 -121.752557578 -21 -13.0725 -31 -0 -12 -121.65264926 -22 -13.0725 -32 -0 -13 -121.65264926 -23 -13.0725 -33 -0 -0 -SOLID -5 -1B2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 --11.0264554944 -30 -0 -11 -121.65264926 -21 --10.7264554944 -31 -0 -12 -121.752557578 -22 --10.7264554944 -32 -0 -13 -121.752557578 -23 --10.7264554944 -33 -0 -0 -LINE -5 -1B3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -0.1480222528 -11 -121.702603419 -21 --11.0264554944 -0 -MTEXT -5 -1B4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -121.702603419 -20 -1.1730222528 -30 -0 -40 -0.8 -41 -3.2 -71 -5 -72 -1 -1 -24.399 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1B5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000001944 -20 -13.3725 -11 -122.002603419 -21 -13.3725 -0 -LINE -5 -1B6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000001003 -20 --11.0264554944 -11 -122.002603419 -21 --11.0264554944 -0 -ENDBLK -5 -5F -330 -5D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -61 -330 -60 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D84 -70 -1 -10 -0 -20 -0 -3 -*D84 -1 - -0 -LINE -5 -1B7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -60.9999999688 -11 --12.0522616552 -21 -59.0249999688 -0 -SOLID -5 -1B8 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -60.9999999688 -30 -0 -11 --12.0023074963 -21 -60.6999999688 -31 -0 -12 --12.1022158141 -22 -60.6999999688 -32 -0 -13 --12.1022158141 -23 -60.6999999688 -33 -0 -0 -SOLID -5 -1B9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -54.9999999688 -30 -0 -11 --12.1022158141 -21 -55.2999999688 -31 -0 -12 --12.0023074963 -22 -55.2999999688 -32 -0 -13 --12.0023074963 -23 -55.2999999688 -33 -0 -0 -LINE -5 -1BA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -56.9749999688 -11 --12.0522616552 -21 -54.9999999688 -0 -MTEXT -5 -1BB -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -57.9999999688 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1BC -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000012071 -20 -60.9999999688 -11 --12.3522616552 -21 -60.9999999688 -0 -LINE -5 -1BD -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000009574 -20 -54.9999999688 -11 --12.3522616552 -21 -54.9999999688 -0 -ENDBLK -5 -62 -330 -60 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -64 -330 -63 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D67 -70 -1 -10 -0 -20 -0 -3 -*D67 -1 - -0 -LINE -5 -1BE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -113.466712767 -20 --55.4713917385 -11 -117.441712767 -21 --55.4713917385 -0 -SOLID -5 -1BF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -113.466712767 -20 --55.4713917385 -30 -0 -11 -113.766712767 -21 --55.4214375796 -31 -0 -12 -113.766712767 -22 --55.5213458974 -32 -0 -13 -113.766712767 -23 --55.5213458974 -33 -0 -0 -SOLID -5 -1C0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -123.466712767 -20 --55.4713917385 -30 -0 -11 -123.166712767 -21 --55.5213458974 -31 -0 -12 -123.166712767 -22 --55.4214375796 -32 -0 -13 -123.166712767 -23 --55.4214375796 -33 -0 -0 -LINE -5 -1C1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -119.491712767 -20 --55.4713917385 -11 -123.466712767 -21 --55.4713917385 -0 -MTEXT -5 -1C2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -118.466712767 -20 --55.4713917385 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1C3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -113.466712767 -20 --61.877784531 -11 -113.466712767 -21 --55.1713917385 -0 -LINE -5 -1C4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -123.466712767 -20 --61.877784531 -11 -123.466712767 -21 --55.1713917385 -0 -ENDBLK -5 -65 -330 -63 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -67 -330 -66 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D83 -70 -1 -10 -0 -20 -0 -3 -*D83 -1 - -0 -LINE -5 -1C5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.29478994918 -20 -42.9999999522 -11 --7.29478994918 -21 -19.9624999761 -0 -SOLID -5 -1C6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.29478994918 -20 -42.9999999522 -30 -0 -11 --7.24483579025 -21 -42.6999999522 -31 -0 -12 --7.34474410811 -22 -42.6999999522 -32 -0 -13 --7.34474410811 -23 -42.6999999522 -33 -0 -0 -SOLID -5 -1C7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.29478994918 -20 --5.125 -30 -0 -11 --7.34474410811 -21 --4.825 -31 -0 -12 --7.24483579025 -22 --4.825 -32 -0 -13 --7.24483579025 -23 --4.825 -33 -0 -0 -LINE -5 -1C8 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.29478994918 -20 -17.9124999761 -11 --7.29478994918 -21 --5.125 -0 -MTEXT -5 -1C9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --7.29478994918 -20 -18.9374999761 -30 -0 -40 -0.8 -41 -3.02222222222 -71 -5 -72 -1 -1 -48.125 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1CA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000004579 -20 -42.9999999522 -11 --7.59478994918 -21 -42.9999999522 -0 -LINE -5 -1CB -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2.05 -20 --5.125 -11 --7.59478994918 -21 --5.125 -0 -ENDBLK -5 -68 -330 -66 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -6A -330 -69 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D107 -70 -1 -10 -0 -20 -0 -3 -*D107 -1 - -0 -LINE -5 -1CC -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -122.750000121 -20 -63.7501208602 -11 -125.252777892 -21 -63.7501208602 -0 -SOLID -5 -1CD -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -122.750000121 -20 -63.7501208602 -30 -0 -11 -123.050000121 -21 -63.8000750191 -31 -0 -12 -123.050000121 -22 -63.7001667013 -32 -0 -13 -123.050000121 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -1CE -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -130.250000108 -20 -63.7501208602 -30 -0 -11 -129.950000108 -21 -63.7001667013 -31 -0 -12 -129.950000108 -22 -63.8000750191 -32 -0 -13 -129.950000108 -23 -63.8000750191 -33 -0 -0 -LINE -5 -1CF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.747222336 -20 -63.7501208602 -11 -130.250000108 -21 -63.7501208602 -0 -MTEXT -5 -1D0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -126.500000114 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1D1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -122.750000121 -20 -62.9999999688 -11 -122.750000121 -21 -64.0501208602 -0 -LINE -5 -1D2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -130.250000108 -20 -59.9999999376 -11 -130.250000108 -21 -64.0501208602 -0 -ENDBLK -5 -6B -330 -69 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -6D -330 -6C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D35 -70 -1 -10 -0 -20 -0 -3 -*D35 -1 - -0 -LINE -5 -1D3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -97.5000003098 -20 -45.4281607231 -11 -93.5250003098 -21 -45.4281607231 -0 -SOLID -5 -1D4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -97.5000003098 -20 -45.4281607231 -30 -0 -11 -97.2000003098 -21 -45.3782065642 -31 -0 -12 -97.2000003098 -22 -45.478114882 -32 -0 -13 -97.2000003098 -23 -45.478114882 -33 -0 -0 -SOLID -5 -1D5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -87.5000003098 -20 -45.4281607231 -30 -0 -11 -87.8000003098 -21 -45.478114882 -31 -0 -12 -87.8000003098 -22 -45.3782065642 -32 -0 -13 -87.8000003098 -23 -45.3782065642 -33 -0 -0 -LINE -5 -1D6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -91.4750003098 -20 -45.4281607231 -11 -87.5000003098 -21 -45.4281607231 -0 -MTEXT -5 -1D7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -92.5000003098 -20 -45.4281607231 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1D8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -97.5000003098 -20 -43.0999994219 -11 -97.5000003098 -21 -45.7281607231 -0 -LINE -5 -1D9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -87.5000003098 -20 -43.0999995051 -11 -87.5000003098 -21 -45.7281607231 -0 -ENDBLK -5 -6E -330 -6C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -70 -330 -6F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D63 -70 -1 -10 -0 -20 -0 -3 -*D63 -1 - -0 -LINE -5 -1DA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -67.4667127669 -20 --55.4713917385 -11 -76.9417127669 -21 --55.4713917385 -0 -SOLID -5 -1DB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -67.4667127669 -20 --55.4713917385 -30 -0 -11 -67.7667127669 -21 --55.4214375796 -31 -0 -12 -67.7667127669 -22 --55.5213458974 -32 -0 -13 -67.7667127669 -23 --55.5213458974 -33 -0 -0 -SOLID -5 -1DC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -88.4667127669 -20 --55.4713917385 -30 -0 -11 -88.1667127669 -21 --55.5213458974 -31 -0 -12 -88.1667127669 -22 --55.4214375796 -32 -0 -13 -88.1667127669 -23 --55.4214375796 -33 -0 -0 -LINE -5 -1DD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.9917127669 -20 --55.4713917385 -11 -88.4667127669 -21 --55.4713917385 -0 -MTEXT -5 -1DE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -77.9667127669 -20 --55.4713917385 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -21 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1DF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -67.4667127669 -20 --61.877784531 -11 -67.4667127669 -21 --55.1713917385 -0 -LINE -5 -1E0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.4667127669 -20 --61.877784531 -11 -88.4667127669 -21 --55.1713917385 -0 -ENDBLK -5 -71 -330 -6F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -73 -330 -72 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D14 -70 -1 -10 -0 -20 -0 -3 -*D14 -1 - -0 -LINE -5 -1E1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --1.7763568394e-15 -20 -13.3725 -11 -1.15277777778 -21 -13.3725 -0 -SOLID -5 -1E2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --1.7763568394e-15 -20 -13.3725 -30 -0 -11 -0.3 -21 -13.4224541589 -31 -0 -12 -0.3 -22 -13.3225458411 -32 -0 -13 -0.3 -23 -13.3225458411 -33 -0 -0 -SOLID -5 -1E3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -4 -20 -13.3725 -30 -0 -11 -3.7 -21 -13.3225458411 -31 -0 -12 -3.7 -22 -13.4224541589 -32 -0 -13 -3.7 -23 -13.4224541589 -33 -0 -0 -LINE -5 -1E4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2.84722222222 -20 -13.3725 -11 -4 -21 -13.3725 -0 -MTEXT -5 -1E5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -2 -20 -13.3725 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1E6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --1.07753532009e-15 -20 -15.3725 -11 --1.75798713741e-15 -21 -13.6725 -0 -LINE -5 -1E7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4 -20 -15.3725 -11 -4 -21 -13.6725 -0 -ENDBLK -5 -74 -330 -72 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -76 -330 -75 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D76 -70 -1 -10 -0 -20 -0 -3 -*D76 -1 - -0 -LINE -5 -1E8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --67.377784531 -11 -76.2694905447 -21 --67.377784531 -0 -SOLID -5 -1E9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -77.9667127669 -20 --67.377784531 -30 -0 -11 -77.6667127669 -21 --67.4277386899 -31 -0 -12 -77.6667127669 -22 --67.3278303721 -32 -0 -13 -77.6667127669 -23 --67.3278303721 -33 -0 -0 -SOLID -5 -1EA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.9667127669 -20 --67.377784531 -30 -0 -11 -73.2667127669 -21 --67.3278303721 -31 -0 -12 -73.2667127669 -22 --67.4277386899 -32 -0 -13 -73.2667127669 -23 --67.4277386899 -33 -0 -0 -LINE -5 -1EB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -74.6639349891 -20 --67.377784531 -11 -72.9667127669 -21 --67.377784531 -0 -MTEXT -5 -1EC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -75.4667127669 -20 --67.377784531 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1ED -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --65.377784531 -11 -77.9667127669 -21 --67.077784531 -0 -LINE -5 -1EE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --74.6108771873 -11 -72.9667127669 -21 --67.077784531 -0 -ENDBLK -5 -77 -330 -75 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -79 -330 -78 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D47 -70 -1 -10 -0 -20 -0 -3 -*D47 -1 - -0 -LINE -5 -1EF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -28.5 -11 -19.5 -21 -25.5 -0 -SOLID -5 -1F0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -28.5 -30 -0 -11 -19.5499541589 -21 -28.2 -31 -0 -12 -19.4500458411 -22 -28.2 -32 -0 -13 -19.4500458411 -23 -28.2 -33 -0 -0 -SOLID -5 -1F1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -25.5 -30 -0 -11 -19.4500458411 -21 -25.8 -31 -0 -12 -19.5499541589 -22 -25.8 -32 -0 -13 -19.5499541589 -23 -25.8 -33 -0 -0 -MTEXT -5 -1F2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18.475 -20 -27 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1F3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -28.5 -11 -19.8 -21 -28.5 -0 -LINE -5 -1F4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -25.5 -11 -19.8 -21 -25.5 -0 -ENDBLK -5 -7A -330 -78 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -7C -330 -7B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D11 -70 -1 -10 -0 -20 -0 -3 -*D11 -1 - -0 -LINE -5 -1F5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --1 -20 -41.1 -11 --1 -21 -39.075 -0 -SOLID -5 -1F6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --1 -20 -41.1 -30 -0 -11 --0.950045841067 -21 -40.8 -31 -0 -12 --1.04995415893 -22 -40.8 -32 -0 -13 --1.04995415893 -23 -40.8 -33 -0 -0 -SOLID -5 -1F7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --1 -20 -35 -30 -0 -11 --1.04995415893 -21 -35.3 -31 -0 -12 --0.950045841067 -22 -35.3 -32 -0 -13 --0.950045841067 -23 -35.3 -33 -0 -0 -LINE -5 -1F8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --1 -20 -37.025 -11 --1 -21 -35 -0 -MTEXT -5 -1F9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --1 -20 -38.05 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -6.1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -1FA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --3 -20 -41.1 -11 --0.7 -21 -41.1 -0 -LINE -5 -1FB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --3 -20 -35 -11 --0.7 -21 -35 -0 -ENDBLK -5 -7D -330 -7B -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -7F -330 -7E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D46 -70 -1 -10 -0 -20 -0 -3 -*D46 -1 - -0 -LINE -5 -1FC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -34.9999999147 -11 -19.5 -21 -31 -0 -SOLID -5 -1FD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -34.9999999147 -30 -0 -11 -19.5499541589 -21 -34.6999999147 -31 -0 -12 -19.4500458411 -22 -34.6999999147 -32 -0 -13 -19.4500458411 -23 -34.6999999147 -33 -0 -0 -SOLID -5 -1FE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -31 -30 -0 -11 -19.4500458411 -21 -31.3 -31 -0 -12 -19.5499541589 -22 -31.3 -32 -0 -13 -19.5499541589 -23 -31.3 -33 -0 -0 -MTEXT -5 -1FF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18.475 -20 -32.9999999573 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -200 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -34.9999999147 -11 -19.8 -21 -34.9999999147 -0 -LINE -5 -201 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -31 -11 -19.8 -21 -31 -0 -ENDBLK -5 -80 -330 -7E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -82 -330 -81 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D49 -70 -1 -10 -0 -20 -0 -3 -*D49 -1 - -0 -LINE -5 -202 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -28.5 -11 -19.5 -21 -28.725 -0 -SOLID -5 -203 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -28.5 -30 -0 -11 -19.4500458411 -21 -28.8 -31 -0 -12 -19.5499541589 -22 -28.8 -32 -0 -13 -19.5499541589 -23 -28.8 -33 -0 -0 -SOLID -5 -204 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -31 -30 -0 -11 -19.5499541589 -21 -30.7 -31 -0 -12 -19.4500458411 -22 -30.7 -32 -0 -13 -19.4500458411 -23 -30.7 -33 -0 -0 -LINE -5 -205 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -30.775 -11 -19.5 -21 -31 -0 -MTEXT -5 -206 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18.475 -20 -29.75 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -207 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -28.5 -11 -19.8 -21 -28.5 -0 -LINE -5 -208 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -31 -11 -19.8 -21 -31 -0 -ENDBLK -5 -83 -330 -81 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -85 -330 -84 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D4 -70 -1 -10 -0 -20 -0 -3 -*D4 -1 - -0 -LINE -5 -209 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.5 -20 -46.1646667417 -11 --7.49722222222 -21 -46.1646667417 -0 -SOLID -5 -20A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.5 -20 -46.1646667417 -30 -0 -11 --7.2 -21 -46.2146209006 -31 -0 -12 --7.2 -22 -46.1147125828 -32 -0 -13 --7.2 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -20B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --5 -20 -46.1646667417 -30 -0 -11 --5.3 -21 -46.1147125828 -31 -0 -12 --5.3 -22 -46.2146209006 -32 -0 -13 --5.3 -23 -46.2146209006 -33 -0 -0 -LINE -5 -20C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5.00277777778 -20 -46.1646667417 -11 --5 -21 -46.1646667417 -0 -MTEXT -5 -20D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --6.25 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -20E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.5 -20 -43.1 -11 --7.5 -21 -46.4646667417 -0 -LINE -5 -20F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -43.1 -11 --5 -21 -46.4646667417 -0 -ENDBLK -5 -86 -330 -84 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -88 -330 -87 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D8 -70 -1 -10 -0 -20 -0 -3 -*D8 -1 - -0 -LINE -5 -210 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -42.5000003098 -20 -46.1646667417 -11 -43.197222532 -21 -46.1646667417 -0 -SOLID -5 -211 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -42.5000003098 -20 -46.1646667417 -30 -0 -11 -42.8000003098 -21 -46.2146209006 -31 -0 -12 -42.8000003098 -22 -46.1147125828 -32 -0 -13 -42.8000003098 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -212 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -45.5000003098 -20 -46.1646667417 -30 -0 -11 -45.2000003098 -21 -46.1147125828 -31 -0 -12 -45.2000003098 -22 -46.2146209006 -32 -0 -13 -45.2000003098 -23 -46.2146209006 -33 -0 -0 -LINE -5 -213 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -44.8027780876 -20 -46.1646667417 -11 -45.5000003098 -21 -46.1646667417 -0 -MTEXT -5 -214 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -44.0000003098 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -215 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -42.5000003098 -20 -43.0999997297 -11 -42.5000003098 -21 -46.4646667417 -0 -LINE -5 -216 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -45.5000003098 -20 -43.0999997047 -11 -45.5000003098 -21 -46.4646667417 -0 -ENDBLK -5 -89 -330 -87 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -8B -330 -8A -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D99 -70 -1 -10 -0 -20 -0 -3 -*D99 -1 - -0 -LINE -5 -217 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15.875 -20 --7.8656865539 -11 -15.3263888889 -21 --7.8656865539 -0 -SOLID -5 -218 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -15.875 -20 --7.8656865539 -30 -0 -11 -15.575 -21 --7.91564071283 -31 -0 -12 -15.575 -22 --7.81573239497 -32 -0 -13 -15.575 -23 --7.81573239497 -33 -0 -0 -SOLID -5 -219 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10.95 -20 --7.8656865539 -30 -0 -11 -11.25 -21 --7.81573239497 -31 -0 -12 -11.25 -22 --7.91564071283 -32 -0 -13 -11.25 -23 --7.91564071283 -33 -0 -0 -LINE -5 -21A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.4986111111 -20 --7.8656865539 -11 -10.95 -21 --7.8656865539 -0 -MTEXT -5 -21B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -13.4125 -20 --7.8656865539 -30 -0 -40 -0.8 -41 -2.57777777778 -71 -5 -72 -1 -1 -4.925 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -21C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15.875 -20 --7.125 -11 -15.875 -21 --8.1656865539 -0 -LINE -5 -21D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.95 -20 --2.2 -11 -10.95 -21 --8.1656865539 -0 -ENDBLK -5 -8C -330 -8A -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -8E -330 -8D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D103 -70 -1 -10 -0 -20 -0 -3 -*D103 -1 - -0 -LINE -5 -21E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.125 -20 -63.7501208602 -11 -77.1 -21 -63.7501208602 -0 -SOLID -5 -21F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -70.125 -20 -63.7501208602 -30 -0 -11 -70.425 -21 -63.8000750191 -31 -0 -12 -70.425 -22 -63.7001667013 -32 -0 -13 -70.425 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -220 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -86.125 -20 -63.7501208602 -30 -0 -11 -85.825 -21 -63.7001667013 -31 -0 -12 -85.825 -22 -63.8000750191 -32 -0 -13 -85.825 -23 -63.8000750191 -33 -0 -0 -LINE -5 -221 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -79.15 -20 -63.7501208602 -11 -86.125 -21 -63.7501208602 -0 -MTEXT -5 -222 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -78.125 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -16 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -223 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.125 -20 -44.999999923 -11 -70.125 -21 -64.0501208602 -0 -LINE -5 -224 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -86.125 -20 -62.9999996207 -11 -86.125 -21 -64.0501208602 -0 -ENDBLK -5 -8F -330 -8D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -91 -330 -90 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D101 -70 -1 -10 -0 -20 -0 -3 -*D101 -1 - -0 -LINE -5 -225 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.125 -20 -63.7501208602 -11 -51.2777777144 -21 -63.7501208602 -0 -SOLID -5 -226 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.125 -20 -63.7501208602 -30 -0 -11 -50.425 -21 -63.8000750191 -31 -0 -12 -50.425 -22 -63.7001667013 -32 -0 -13 -50.425 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -227 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -54.1249998732 -20 -63.7501208602 -30 -0 -11 -53.8249998732 -21 -63.7001667013 -31 -0 -12 -53.8249998732 -22 -63.8000750191 -32 -0 -13 -53.8249998732 -23 -63.8000750191 -33 -0 -0 -LINE -5 -228 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -52.9722221588 -20 -63.7501208602 -11 -54.1249998732 -21 -63.7501208602 -0 -MTEXT -5 -229 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -52.1249999366 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -22A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.125 -20 -45.0000003999 -11 -50.125 -21 -64.0501208602 -0 -LINE -5 -22B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -54.1249998732 -20 -56.9999997539 -11 -54.1249998732 -21 -64.0501208602 -0 -ENDBLK -5 -92 -330 -90 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -94 -330 -93 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D54 -70 -1 -10 -0 -20 -0 -3 -*D54 -1 - -0 -LINE -5 -22C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -70.4462495497 -11 -50.0719282636 -21 -67.4462495497 -0 -SOLID -5 -22D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -70.4462495497 -30 -0 -11 -50.1218824225 -21 -70.1462495497 -31 -0 -12 -50.0219741047 -22 -70.1462495497 -32 -0 -13 -50.0219741047 -23 -70.1462495497 -33 -0 -0 -SOLID -5 -22E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -67.4462495497 -30 -0 -11 -50.0219741047 -21 -67.7462495497 -31 -0 -12 -50.1218824225 -22 -67.7462495497 -32 -0 -13 -50.1218824225 -23 -67.7462495497 -33 -0 -0 -MTEXT -5 -22F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -49.0469282636 -20 -68.9462495497 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -230 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -70.4462495497 -11 -50.3719282636 -21 -70.4462495497 -0 -LINE -5 -231 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -67.4462495497 -11 -50.3719282636 -21 -67.4462495497 -0 -ENDBLK -5 -95 -330 -93 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -97 -330 -96 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D73 -70 -1 -10 -0 -20 -0 -3 -*D73 -1 - -0 -LINE -5 -232 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --96.377784531 -11 -76.9417127669 -21 --96.377784531 -0 -SOLID -5 -233 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.9667127669 -20 --96.377784531 -30 -0 -11 -73.2667127669 -21 --96.3278303721 -31 -0 -12 -73.2667127669 -22 --96.4277386899 -32 -0 -13 -73.2667127669 -23 --96.4277386899 -33 -0 -0 -SOLID -5 -234 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -82.9667127669 -20 --96.377784531 -30 -0 -11 -82.6667127669 -21 --96.4277386899 -31 -0 -12 -82.6667127669 -22 --96.3278303721 -32 -0 -13 -82.6667127669 -23 --96.3278303721 -33 -0 -0 -LINE -5 -235 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.9917127669 -20 --96.377784531 -11 -82.9667127669 -21 --96.377784531 -0 -MTEXT -5 -236 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -77.9667127669 -20 --96.377784531 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -237 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --94.377784531 -11 -72.9667127669 -21 --96.077784531 -0 -LINE -5 -238 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.9667127669 -20 --94.377784531 -11 -82.9667127669 -21 --96.077784531 -0 -ENDBLK -5 -98 -330 -96 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -9A -330 -99 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D7 -70 -1 -10 -0 -20 -0 -3 -*D7 -1 - -0 -LINE -5 -239 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -46.1646667417 -11 -33.9750003098 -21 -46.1646667417 -0 -SOLID -5 -23A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -27.5000003098 -20 -46.1646667417 -30 -0 -11 -27.8000003098 -21 -46.2146209006 -31 -0 -12 -27.8000003098 -22 -46.1147125828 -32 -0 -13 -27.8000003098 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -23B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -42.5000003098 -20 -46.1646667417 -30 -0 -11 -42.2000003098 -21 -46.1147125828 -31 -0 -12 -42.2000003098 -22 -46.2146209006 -32 -0 -13 -42.2000003098 -23 -46.2146209006 -33 -0 -0 -LINE -5 -23C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -36.0250003098 -20 -46.1646667417 -11 -42.5000003098 -21 -46.1646667417 -0 -MTEXT -5 -23D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -35.0000003098 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -23E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -43.0999998544 -11 -27.5000003098 -21 -46.4646667417 -0 -LINE -5 -23F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -42.5000003098 -20 -43.0999997297 -11 -42.5000003098 -21 -46.4646667417 -0 -ENDBLK -5 -9B -330 -99 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -9D -330 -9C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D74 -70 -1 -10 -0 -20 -0 -3 -*D74 -1 - -0 -LINE -5 -240 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.4667127669 -20 --76.6108771873 -11 -88.4667127669 -21 --85.4693308592 -0 -SOLID -5 -241 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -88.4667127669 -20 --76.6108771873 -30 -0 -11 -88.5166669258 -21 --76.9108771873 -31 -0 -12 -88.416758608 -22 --76.9108771873 -32 -0 -13 -88.416758608 -23 --76.9108771873 -33 -0 -0 -SOLID -5 -242 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -88.4667127669 -20 --96.377784531 -30 -0 -11 -88.416758608 -21 --96.077784531 -31 -0 -12 -88.5166669258 -22 --96.077784531 -32 -0 -13 -88.5166669258 -23 --96.077784531 -33 -0 -0 -LINE -5 -243 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.4667127669 -20 --87.5193308592 -11 -88.4667127669 -21 --96.377784531 -0 -MTEXT -5 -244 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -88.4667127669 -20 --86.4943308592 -30 -0 -40 -0.8 -41 -3.55555555556 -71 -5 -72 -1 -1 -19.7669 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -245 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -84.9667127669 -20 --76.6108771873 -11 -88.7667127669 -21 --76.6108771873 -0 -LINE -5 -246 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -84.9667127669 -20 --96.377784531 -11 -88.7667127669 -21 --96.377784531 -0 -ENDBLK -5 -9E -330 -9C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -A0 -330 -9F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D87 -70 -1 -10 -0 -20 -0 -3 -*D87 -1 - -0 -LINE -5 -247 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -46.9999999522 -11 --12.0522616552 -21 -44.0249999522 -0 -SOLID -5 -248 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -46.9999999522 -30 -0 -11 --12.0023074963 -21 -46.6999999522 -31 -0 -12 --12.1022158141 -22 -46.6999999522 -32 -0 -13 --12.1022158141 -23 -46.6999999522 -33 -0 -0 -SOLID -5 -249 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -38.9999999522 -30 -0 -11 --12.1022158141 -21 -39.2999999522 -31 -0 -12 --12.0023074963 -22 -39.2999999522 -32 -0 -13 --12.0023074963 -23 -39.2999999522 -33 -0 -0 -LINE -5 -24A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -41.9749999522 -11 --12.0522616552 -21 -38.9999999522 -0 -MTEXT -5 -24B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -42.9999999522 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -8 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -24C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000006244 -20 -46.9999999522 -11 --12.3522616552 -21 -46.9999999522 -0 -LINE -5 -24D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000002914 -20 -38.9999999522 -11 --12.3522616552 -21 -38.9999999522 -0 -ENDBLK -5 -A1 -330 -9F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -A3 -330 -A2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D20 -70 -1 -10 -0 -20 -0 -3 -*D20 -1 - -0 -LINE -5 -24E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -31 -11 -23 -21 -24.46125 -0 -SOLID -5 -24F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -31 -30 -0 -11 -23.0499541589 -21 -30.7 -31 -0 -12 -22.9500458411 -22 -30.7 -32 -0 -13 -22.9500458411 -23 -30.7 -33 -0 -0 -SOLID -5 -250 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -15.8725 -30 -0 -11 -22.9500458411 -21 -16.1725 -31 -0 -12 -23.0499541589 -22 -16.1725 -32 -0 -13 -23.0499541589 -23 -16.1725 -33 -0 -0 -LINE -5 -251 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -22.41125 -11 -23 -21 -15.8725 -0 -MTEXT -5 -252 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -23.43625 -30 -0 -40 -0.8 -41 -3.37777777778 -71 -5 -72 -1 -1 -15.1275 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -253 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -31 -11 -23.3 -21 -31 -0 -LINE -5 -254 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -15.8725 -11 -23.3 -21 -15.8725 -0 -ENDBLK -5 -A4 -330 -A2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -A6 -330 -A5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D22 -70 -1 -10 -0 -20 -0 -3 -*D22 -1 - -0 -LINE -5 -255 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -14.8725 -11 -23 -21 -14.3975 -0 -SOLID -5 -256 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -14.8725 -30 -0 -11 -23.0499541589 -21 -14.5725 -31 -0 -12 -22.9500458411 -22 -14.5725 -32 -0 -13 -22.9500458411 -23 -14.5725 -33 -0 -0 -SOLID -5 -257 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -11.8725 -30 -0 -11 -22.9500458411 -21 -12.1725 -31 -0 -12 -23.0499541589 -22 -12.1725 -32 -0 -13 -23.0499541589 -23 -12.1725 -33 -0 -0 -LINE -5 -258 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -12.3475 -11 -23 -21 -11.8725 -0 -MTEXT -5 -259 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -13.3725 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -25A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22 -20 -14.8725 -11 -23.3 -21 -14.8725 -0 -LINE -5 -25B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22 -20 -11.8725 -11 -23.3 -21 -11.8725 -0 -ENDBLK -5 -A7 -330 -A5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -A9 -330 -A8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D25 -70 -1 -10 -0 -20 -0 -3 -*D25 -1 - -0 -LINE -5 -25C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -7.3725 -11 -23 -21 -7.21125 -0 -SOLID -5 -25D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -7.3725 -30 -0 -11 -23.0499541589 -21 -7.0725 -31 -0 -12 -22.9500458411 -22 -7.0725 -32 -0 -13 -22.9500458411 -23 -7.0725 -33 -0 -0 -SOLID -5 -25E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -5 -30 -0 -11 -22.9500458411 -21 -5.3 -31 -0 -12 -23.0499541589 -22 -5.3 -32 -0 -13 -23.0499541589 -23 -5.3 -33 -0 -0 -LINE -5 -25F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -5.16125 -11 -23 -21 -5 -0 -MTEXT -5 -260 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -26.3668055556 -20 -6.18625 -30 -0 -40 -0.8 -41 -3.11111111111 -71 -5 -72 -1 -1 -2.3725 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -261 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -7.3725 -11 -23.3 -21 -7.3725 -0 -LINE -5 -262 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23.8775 -20 -5 -11 -23.3 -21 -5 -0 -ENDBLK -5 -AA -330 -A8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -AC -330 -AB -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D90 -70 -1 -10 -0 -20 -0 -3 -*D90 -1 - -0 -LINE -5 -263 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -25.125 -11 --12.0522616552 -21 -23.6875 -0 -SOLID -5 -264 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -25.125 -30 -0 -11 --12.0023074963 -21 -24.825 -31 -0 -12 --12.1022158141 -22 -24.825 -32 -0 -13 --12.1022158141 -23 -24.825 -33 -0 -0 -SOLID -5 -265 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -20.2 -30 -0 -11 --12.1022158141 -21 -20.5 -31 -0 -12 --12.0023074963 -22 -20.5 -32 -0 -13 --12.0023074963 -23 -20.5 -33 -0 -0 -LINE -5 -266 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -21.6375 -11 --12.0522616552 -21 -20.2 -0 -MTEXT -5 -267 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -22.6625 -30 -0 -40 -0.8 -41 -2.57777777778 -71 -5 -72 -1 -1 -4.925 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -268 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.125 -20 -25.125 -11 --12.3522616552 -21 -25.125 -0 -LINE -5 -269 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --2.2 -20 -20.2 -11 --12.3522616552 -21 -20.2 -0 -ENDBLK -5 -AD -330 -AB -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -AF -330 -AE -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D94 -70 -1 -10 -0 -20 -0 -3 -*D94 -1 - -0 -LINE -5 -26A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 --0.2 -11 --12.0522616552 -21 --1.6375 -0 -SOLID -5 -26B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 --0.2 -30 -0 -11 --12.0023074963 -21 --0.5 -31 -0 -12 --12.1022158141 -22 --0.5 -32 -0 -13 --12.1022158141 -23 --0.5 -33 -0 -0 -SOLID -5 -26C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 --5.125 -30 -0 -11 --12.1022158141 -21 --4.825 -31 -0 -12 --12.0023074963 -22 --4.825 -32 -0 -13 --12.0023074963 -23 --4.825 -33 -0 -0 -LINE -5 -26D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 --3.6875 -11 --12.0522616552 -21 --5.125 -0 -MTEXT -5 -26E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 --2.6625 -30 -0 -40 -0.8 -41 -2.57777777778 -71 -5 -72 -1 -1 -4.925 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -26F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -7.05 -20 --0.2 -11 --12.3522616552 -21 --0.2 -0 -LINE -5 -270 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2.05 -20 --5.125 -11 --12.3522616552 -21 --5.125 -0 -ENDBLK -5 -B0 -330 -AE -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -B2 -330 -B1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D21 -70 -1 -10 -0 -20 -0 -3 -*D21 -1 - -0 -LINE -5 -271 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -15.8725 -11 -23 -21 -14.8725 -0 -SOLID -5 -272 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -15.8725 -30 -0 -11 -23.0499541589 -21 -15.5725 -31 -0 -12 -22.9500458411 -22 -15.5725 -32 -0 -13 -22.9500458411 -23 -15.5725 -33 -0 -0 -SOLID -5 -273 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -14.8725 -30 -0 -11 -22.9500458411 -21 -15.1725 -31 -0 -12 -23.0499541589 -22 -15.1725 -32 -0 -13 -23.0499541589 -23 -15.1725 -33 -0 -0 -MTEXT -5 -274 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -15.3725 -30 -0 -40 -0.8 -41 -0.177777777778 -71 -5 -72 -1 -1 -1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -275 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -15.8725 -11 -23.3 -21 -15.8725 -0 -LINE -5 -276 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22 -20 -14.8725 -11 -23.3 -21 -14.8725 -0 -ENDBLK -5 -B3 -330 -B1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -B5 -330 -B4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D69 -70 -1 -10 -0 -20 -0 -3 -*D69 -1 - -0 -LINE -5 -277 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --91.377784531 -11 -185.339708867 -21 --89.902784531 -0 -SOLID -5 -278 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --91.377784531 -30 -0 -11 -185.289754708 -21 --91.077784531 -31 -0 -12 -185.389663026 -22 --91.077784531 -32 -0 -13 -185.389663026 -23 --91.077784531 -33 -0 -0 -SOLID -5 -279 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --86.377784531 -30 -0 -11 -185.389663026 -21 --86.677784531 -31 -0 -12 -185.289754708 -22 --86.677784531 -32 -0 -13 -185.289754708 -23 --86.677784531 -33 -0 -0 -LINE -5 -27A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --87.852784531 -11 -185.339708867 -21 --86.377784531 -0 -MTEXT -5 -27B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --88.877784531 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -27C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -170.966712767 -20 --91.377784531 -11 -185.639708867 -21 --91.377784531 -0 -LINE -5 -27D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --86.377784531 -11 -185.639708867 -21 --86.377784531 -0 -ENDBLK -5 -B6 -330 -B4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -B8 -330 -B7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D5 -70 -1 -10 -0 -20 -0 -3 -*D5 -1 - -0 -LINE -5 -27E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -46.1646667417 -11 -8.88611126601 -21 -46.1646667417 -0 -SOLID -5 -27F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --5 -20 -46.1646667417 -30 -0 -11 --4.7 -21 -46.2146209006 -31 -0 -12 --4.7 -22 -46.1147125828 -32 -0 -13 --4.7 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -280 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.0000003098 -20 -46.1646667417 -30 -0 -11 -24.7000003098 -21 -46.1147125828 -31 -0 -12 -24.7000003098 -22 -46.2146209006 -32 -0 -13 -24.7000003098 -23 -46.2146209006 -33 -0 -0 -LINE -5 -281 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.1138890438 -20 -46.1646667417 -11 -25.0000003098 -21 -46.1646667417 -0 -MTEXT -5 -282 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10.0000001549 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.977777777778 -71 -5 -72 -1 -1 -30 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -283 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -43.1 -11 --5 -21 -46.4646667417 -0 -LINE -5 -284 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -43.0999998752 -11 -25.0000003098 -21 -46.4646667417 -0 -ENDBLK -5 -B9 -330 -B7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -BB -330 -BA -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D33 -70 -1 -10 -0 -20 -0 -3 -*D33 -1 - -0 -LINE -5 -285 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -22.5 -11 -127.380113994 -21 -5.62955526465 -0 -SOLID -5 -286 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -22.5 -30 -0 -11 -127.430068153 -21 -22.2 -31 -0 -12 -127.330159835 -22 -22.2 -32 -0 -13 -127.330159835 -23 -22.2 -33 -0 -0 -SOLID -5 -287 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 --13.2908894707 -30 -0 -11 -127.330159835 -21 --12.9908894707 -31 -0 -12 -127.430068153 -22 --12.9908894707 -32 -0 -13 -127.430068153 -23 --12.9908894707 -33 -0 -0 -LINE -5 -288 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -3.57955526465 -11 -127.380113994 -21 --13.2908894707 -0 -MTEXT -5 -289 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -127.380113994 -20 -4.60455526465 -30 -0 -40 -0.8 -41 -3.73333333333 -71 -5 -72 -1 -1 -35.7909 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -28A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -108.500000155 -20 -22.5 -11 -127.680113994 -21 -22.5 -0 -LINE -5 -28B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.4999998574 -20 --13.2908894707 -11 -127.680113994 -21 --13.2908894707 -0 -ENDBLK -5 -BC -330 -BA -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -BE -330 -BD -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D39 -70 -1 -10 -0 -20 -0 -3 -*D39 -1 - -0 -LINE -5 -28C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --68.8175675676 -11 --26.2473817511 -21 --66.3425675676 -0 -SOLID -5 -28D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --68.8175675676 -30 -0 -11 --26.29733591 -21 --68.5175675676 -31 -0 -12 --26.1974275922 -22 --68.5175675676 -32 -0 -13 --26.1974275922 -23 --68.5175675676 -33 -0 -0 -SOLID -5 -28E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --61.8175675676 -30 -0 -11 --26.1974275922 -21 --62.1175675676 -31 -0 -12 --26.29733591 -22 --62.1175675676 -32 -0 -13 --26.29733591 -23 --62.1175675676 -33 -0 -0 -LINE -5 -28F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --64.2925675676 -11 --26.2473817511 -21 --61.8175675676 -0 -MTEXT -5 -290 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --26.2473817511 -20 --65.3175675676 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -291 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --15.4594594595 -20 --68.8175675676 -11 --26.5473817511 -21 --68.8175675676 -0 -LINE -5 -292 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --15.4594594595 -20 --61.8175675676 -11 --26.5473817511 -21 --61.8175675676 -0 -ENDBLK -5 -BF -330 -BD -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -C1 -330 -C0 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D80 -70 -1 -10 -0 -20 -0 -3 -*D80 -1 - -0 -LINE -5 -293 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10 -20 -38.8599999008 -11 -10 -21 -17.8924999504 -0 -SOLID -5 -294 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10 -20 -38.8599999008 -30 -0 -11 -10.0499541589 -21 -38.5599999008 -31 -0 -12 -9.95004584107 -22 -38.5599999008 -32 -0 -13 -9.95004584107 -23 -38.5599999008 -33 -0 -0 -SOLID -5 -295 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10 -20 --5.125 -30 -0 -11 -9.95004584107 -21 --4.825 -31 -0 -12 -10.0499541589 -22 --4.825 -32 -0 -13 -10.0499541589 -23 --4.825 -33 -0 -0 -LINE -5 -296 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10 -20 -15.8424999504 -11 -10 -21 --5.125 -0 -MTEXT -5 -297 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10 -20 -16.8674999504 -30 -0 -40 -0.8 -41 -3.2 -71 -5 -72 -1 -1 -43.985 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -298 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -21.25 -20 -38.8599999008 -11 -9.7 -21 -38.8599999008 -0 -LINE -5 -299 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -8 -20 --5.125 -11 -9.7 -21 --5.125 -0 -ENDBLK -5 -C2 -330 -C0 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -C4 -330 -C3 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D88 -70 -1 -10 -0 -20 -0 -3 -*D88 -1 - -0 -LINE -5 -29A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -38.9999999522 -11 --12.0522616552 -21 -37.9999999563 -0 -SOLID -5 -29B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -38.9999999522 -30 -0 -11 --12.0023074963 -21 -38.6999999522 -31 -0 -12 --12.1022158141 -22 -38.6999999522 -32 -0 -13 --12.1022158141 -23 -38.6999999522 -33 -0 -0 -SOLID -5 -29C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -37.9999999563 -30 -0 -11 --12.1022158141 -21 -38.2999999563 -31 -0 -12 --12.0023074963 -22 -38.2999999563 -32 -0 -13 --12.0023074963 -23 -38.2999999563 -33 -0 -0 -MTEXT -5 -29D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -38.4999999543 -30 -0 -40 -0.8 -41 -0.177777777778 -71 -5 -72 -1 -1 -1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -29E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000002914 -20 -38.9999999522 -11 --12.3522616552 -21 -38.9999999522 -0 -LINE -5 -29F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -3.50000002498 -20 -37.9999999563 -11 --12.3522616552 -21 -37.9999999563 -0 -ENDBLK -5 -C5 -330 -C3 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -C7 -330 -C6 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D95 -70 -1 -10 -0 -20 -0 -3 -*D95 -1 - -0 -LINE -5 -2A0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --16.8097333612 -20 -60.9999999688 -11 --16.8097333612 -21 -28.9624999844 -0 -SOLID -5 -2A1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --16.8097333612 -20 -60.9999999688 -30 -0 -11 --16.7597792023 -21 -60.6999999688 -31 -0 -12 --16.8596875201 -22 -60.6999999688 -32 -0 -13 --16.8596875201 -23 -60.6999999688 -33 -0 -0 -SOLID -5 -2A2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --16.8097333612 -20 --5.125 -30 -0 -11 --16.8596875201 -21 --4.825 -31 -0 -12 --16.7597792023 -22 --4.825 -32 -0 -13 --16.7597792023 -23 --4.825 -33 -0 -0 -LINE -5 -2A3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --16.8097333612 -20 -26.9124999844 -11 --16.8097333612 -21 --5.125 -0 -MTEXT -5 -2A4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --16.8097333612 -20 -27.9374999844 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -66.125 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2A5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000012071 -20 -60.9999999688 -11 --17.1097333612 -21 -60.9999999688 -0 -LINE -5 -2A6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2.05 -20 --5.125 -11 --17.1097333612 -21 --5.125 -0 -ENDBLK -5 -C8 -330 -C6 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -CA -330 -C9 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D91 -70 -1 -10 -0 -20 -0 -3 -*D91 -1 - -0 -LINE -5 -2A7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -20.2 -11 --12.0522616552 -21 -18.3 -0 -SOLID -5 -2A8 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -20.2 -30 -0 -11 --12.0023074963 -21 -19.9 -31 -0 -12 --12.1022158141 -22 -19.9 -32 -0 -13 --12.1022158141 -23 -19.9 -33 -0 -0 -SOLID -5 -2A9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -18.3 -30 -0 -11 --12.1022158141 -21 -18.6 -31 -0 -12 --12.0023074963 -22 -18.6 -32 -0 -13 --12.0023074963 -23 -18.6 -33 -0 -0 -MTEXT -5 -2AA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -19.25 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -1.9 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2AB -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --2.2 -20 -20.2 -11 --12.3522616552 -21 -20.2 -0 -LINE -5 -2AC -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --2.2 -20 -18.3 -11 --12.3522616552 -21 -18.3 -0 -ENDBLK -5 -CB -330 -C9 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -CD -330 -CC -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D72 -70 -1 -10 -0 -20 -0 -3 -*D72 -1 - -0 -LINE -5 -2AD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --67.377784531 -11 -185.339708867 -21 --66.652784531 -0 -SOLID -5 -2AE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --67.377784531 -30 -0 -11 -185.289754708 -21 --67.077784531 -31 -0 -12 -185.389663026 -22 --67.077784531 -32 -0 -13 -185.389663026 -23 --67.077784531 -33 -0 -0 -SOLID -5 -2AF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --63.877784531 -30 -0 -11 -185.389663026 -21 --64.177784531 -31 -0 -12 -185.289754708 -22 --64.177784531 -32 -0 -13 -185.289754708 -23 --64.177784531 -33 -0 -0 -LINE -5 -2B0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --64.602784531 -11 -185.339708867 -21 --63.877784531 -0 -MTEXT -5 -2B1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --65.627784531 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -3.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2B2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -170.966712767 -20 --67.377784531 -11 -185.639708867 -21 --67.377784531 -0 -LINE -5 -2B3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -181.466712767 -20 --63.877784531 -11 -185.639708867 -21 --63.877784531 -0 -ENDBLK -5 -CE -330 -CC -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -D0 -330 -CF -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D92 -70 -1 -10 -0 -20 -0 -3 -*D92 -1 - -0 -LINE -5 -2B4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -18.3 -11 --12.0522616552 -21 -16.825 -0 -SOLID -5 -2B5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -18.3 -30 -0 -11 --12.0023074963 -21 -18 -31 -0 -12 --12.1022158141 -22 -18 -32 -0 -13 --12.1022158141 -23 -18 -33 -0 -0 -SOLID -5 -2B6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -13.3 -30 -0 -11 --12.1022158141 -21 -13.6 -31 -0 -12 --12.0023074963 -22 -13.6 -32 -0 -13 --12.0023074963 -23 -13.6 -33 -0 -0 -LINE -5 -2B7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -14.775 -11 --12.0522616552 -21 -13.3 -0 -MTEXT -5 -2B8 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -15.8 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2B9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --2.2 -20 -18.3 -11 --12.3522616552 -21 -18.3 -0 -LINE -5 -2BA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.125 -20 -13.3 -11 --12.3522616552 -21 -13.3 -0 -ENDBLK -5 -D1 -330 -CF -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -D3 -330 -D2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D23 -70 -1 -10 -0 -20 -0 -3 -*D23 -1 - -0 -LINE -5 -2BB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -11.8725 -11 -23 -21 -10.8725 -0 -SOLID -5 -2BC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -11.8725 -30 -0 -11 -23.0499541589 -21 -11.5725 -31 -0 -12 -22.9500458411 -22 -11.5725 -32 -0 -13 -22.9500458411 -23 -11.5725 -33 -0 -0 -SOLID -5 -2BD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -10.8725 -30 -0 -11 -22.9500458411 -21 -11.1725 -31 -0 -12 -23.0499541589 -22 -11.1725 -32 -0 -13 -23.0499541589 -23 -11.1725 -33 -0 -0 -MTEXT -5 -2BE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -11.3725 -30 -0 -40 -0.8 -41 -0.177777777778 -71 -5 -72 -1 -1 -1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2BF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22 -20 -11.8725 -11 -23.3 -21 -11.8725 -0 -LINE -5 -2C0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -10.8725 -11 -23.3 -21 -10.8725 -0 -ENDBLK -5 -D4 -330 -D2 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -D6 -330 -D5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D45 -70 -1 -10 -0 -20 -0 -3 -*D45 -1 - -0 -LINE -5 -2C1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -41.1 -11 -20.6972223771 -21 -41.1 -0 -SOLID -5 -2C2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -18 -20 -41.1 -30 -0 -11 -18.3 -21 -41.1499541589 -31 -0 -12 -18.3 -22 -41.0500458411 -32 -0 -13 -18.3 -23 -41.0500458411 -33 -0 -0 -SOLID -5 -2C3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.0000003098 -20 -41.1 -30 -0 -11 -24.7000003098 -21 -41.0500458411 -31 -0 -12 -24.7000003098 -22 -41.1499541589 -32 -0 -13 -24.7000003098 -23 -41.1499541589 -33 -0 -0 -LINE -5 -2C4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -22.3027779327 -20 -41.1 -11 -25.0000003098 -21 -41.1 -0 -MTEXT -5 -2C5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -21.5000001549 -20 -42.125 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2C6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -36.9999999147 -11 -18 -21 -41.4 -0 -LINE -5 -2C7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -43.0999998752 -11 -25.0000003098 -21 -41.4 -0 -ENDBLK -5 -D7 -330 -D5 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -D9 -330 -D8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D16 -70 -1 -10 -0 -20 -0 -3 -*D16 -1 - -0 -LINE -5 -2C8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15 -20 -9.6225 -11 -17.1972222222 -21 -9.6225 -0 -SOLID -5 -2C9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -15 -20 -9.6225 -30 -0 -11 -15.3 -21 -9.67245415893 -31 -0 -12 -15.3 -22 -9.57254584107 -32 -0 -13 -15.3 -23 -9.57254584107 -33 -0 -0 -SOLID -5 -2CA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -21 -20 -9.6225 -30 -0 -11 -20.7 -21 -9.57254584107 -31 -0 -12 -20.7 -22 -9.67245415893 -32 -0 -13 -20.7 -23 -9.67245415893 -33 -0 -0 -LINE -5 -2CB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18.8027777778 -20 -9.6225 -11 -21 -21 -9.6225 -0 -MTEXT -5 -2CC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18 -20 -9.6225 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2CD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15 -20 -7.6225 -11 -15 -21 -9.3225 -0 -LINE -5 -2CE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -21 -20 -8.8725 -11 -21 -21 -9.3225 -0 -ENDBLK -5 -DA -330 -D8 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -DC -330 -DB -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D86 -70 -1 -10 -0 -20 -0 -3 -*D86 -1 - -0 -LINE -5 -2CF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -47.9999999563 -11 --12.0522616552 -21 -46.9999999522 -0 -SOLID -5 -2D0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -47.9999999563 -30 -0 -11 --12.0023074963 -21 -47.6999999563 -31 -0 -12 --12.1022158141 -22 -47.6999999563 -32 -0 -13 --12.1022158141 -23 -47.6999999563 -33 -0 -0 -SOLID -5 -2D1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -46.9999999522 -30 -0 -11 --12.1022158141 -21 -47.2999999522 -31 -0 -12 --12.0023074963 -22 -47.2999999522 -32 -0 -13 --12.0023074963 -23 -47.2999999522 -33 -0 -0 -MTEXT -5 -2D2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -47.4999999543 -30 -0 -40 -0.8 -41 -0.177777777778 -71 -5 -72 -1 -1 -1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2D3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -3.5000000666 -20 -47.9999999563 -11 --12.3522616552 -21 -47.9999999563 -0 -LINE -5 -2D4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000006244 -20 -46.9999999522 -11 --12.3522616552 -21 -46.9999999522 -0 -ENDBLK -5 -DD -330 -DB -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -DF -330 -DE -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D28 -70 -1 -10 -0 -20 -0 -3 -*D28 -1 - -0 -LINE -5 -2D5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -37.5999997047 -11 -121.702603419 -21 -32.3568747981 -0 -SOLID -5 -2D6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -37.5999997047 -30 -0 -11 -121.752557578 -21 -37.2999997047 -31 -0 -12 -121.65264926 -22 -37.2999997047 -32 -0 -13 -121.65264926 -23 -37.2999997047 -33 -0 -0 -SOLID -5 -2D7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -25.0637498916 -30 -0 -11 -121.65264926 -21 -25.3637498916 -31 -0 -12 -121.752557578 -22 -25.3637498916 -32 -0 -13 -121.752557578 -23 -25.3637498916 -33 -0 -0 -LINE -5 -2D8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -30.3068747981 -11 -121.702603419 -21 -25.0637498916 -0 -MTEXT -5 -2D9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -121.702603419 -20 -31.3318747981 -30 -0 -40 -0.8 -41 -3.55555555556 -71 -5 -72 -1 -1 -12.5362 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2DA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000003098 -20 -37.5999997047 -11 -122.002603419 -21 -37.5999997047 -0 -LINE -5 -2DB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -104.500000241 -20 -25.0637498916 -11 -122.002603419 -21 -25.0637498916 -0 -ENDBLK -5 -E0 -330 -DE -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -E2 -330 -E1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D31 -70 -1 -10 -0 -20 -0 -3 -*D31 -1 - -0 -LINE -5 -2DC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 --11.0264554944 -11 -121.702603419 -21 --11.1336724825 -0 -SOLID -5 -2DD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 --11.0264554944 -30 -0 -11 -121.752557578 -21 --11.3264554944 -31 -0 -12 -121.65264926 -22 --11.3264554944 -32 -0 -13 -121.65264926 -23 --11.3264554944 -33 -0 -0 -SOLID -5 -2DE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 --13.2908894707 -30 -0 -11 -121.65264926 -21 --12.9908894707 -31 -0 -12 -121.752557578 -22 --12.9908894707 -32 -0 -13 -121.752557578 -23 --12.9908894707 -33 -0 -0 -LINE -5 -2DF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 --13.1836724825 -11 -121.702603419 -21 --13.2908894707 -0 -MTEXT -5 -2E0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -125.104264852 -20 --12.1586724825 -30 -0 -40 -0.8 -41 -3.28888888889 -71 -5 -72 -1 -1 -2.2644 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2E1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000001003 -20 --11.0264554944 -11 -122.002603419 -21 --11.0264554944 -0 -LINE -5 -2E2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.4999998574 -20 --13.2908894707 -11 -122.002603419 -21 --13.2908894707 -0 -ENDBLK -5 -E3 -330 -E1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -E5 -330 -E4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D13 -70 -1 -10 -0 -20 -0 -3 -*D13 -1 - -0 -LINE -5 -2E3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -38.05 -11 --5.00277777778 -21 -38.05 -0 -SOLID -5 -2E4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --5 -20 -38.05 -30 -0 -11 --5.3 -21 -38.0000458411 -31 -0 -12 --5.3 -22 -38.0999541589 -32 -0 -13 --5.3 -23 -38.0999541589 -33 -0 -0 -SOLID -5 -2E5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.5 -20 -38.05 -30 -0 -11 --7.2 -21 -38.0999541589 -31 -0 -12 --7.2 -22 -38.0000458411 -32 -0 -13 --7.2 -23 -38.0000458411 -33 -0 -0 -LINE -5 -2E6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.49722222222 -20 -38.05 -11 --7.5 -21 -38.05 -0 -MTEXT -5 -2E7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --6.25 -20 -38.05 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2E8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -39.1 -11 --5 -21 -37.75 -0 -LINE -5 -2E9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.5 -20 -39.1 -11 --7.5 -21 -37.75 -0 -ENDBLK -5 -E6 -330 -E4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -E8 -330 -E7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D102 -70 -1 -10 -0 -20 -0 -3 -*D102 -1 - -0 -LINE -5 -2EA -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -54.1249998732 -20 -63.7501208602 -11 -61.0999999366 -21 -63.7501208602 -0 -SOLID -5 -2EB -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -54.1249998732 -20 -63.7501208602 -30 -0 -11 -54.4249998732 -21 -63.8000750191 -31 -0 -12 -54.4249998732 -22 -63.7001667013 -32 -0 -13 -54.4249998732 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -2EC -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -70.125 -20 -63.7501208602 -30 -0 -11 -69.825 -21 -63.7001667013 -31 -0 -12 -69.825 -22 -63.8000750191 -32 -0 -13 -69.825 -23 -63.8000750191 -33 -0 -0 -LINE -5 -2ED -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -63.1499999366 -20 -63.7501208602 -11 -70.125 -21 -63.7501208602 -0 -MTEXT -5 -2EE -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -62.1249999366 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -16 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2EF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -54.1249998732 -20 -56.9999997539 -11 -54.1249998732 -21 -64.0501208602 -0 -LINE -5 -2F0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.125 -20 -44.999999923 -11 -70.125 -21 -64.0501208602 -0 -ENDBLK -5 -E9 -330 -E7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -EB -330 -EA -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D104 -70 -1 -10 -0 -20 -0 -3 -*D104 -1 - -0 -LINE -5 -2F1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -86.125 -20 -63.7501208602 -11 -87.2777777903 -21 -63.7501208602 -0 -SOLID -5 -2F2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -86.125 -20 -63.7501208602 -30 -0 -11 -86.425 -21 -63.8000750191 -31 -0 -12 -86.425 -22 -63.7001667013 -32 -0 -13 -86.425 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -2F3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.125000025 -20 -63.7501208602 -30 -0 -11 -89.825000025 -21 -63.7001667013 -31 -0 -12 -89.825000025 -22 -63.8000750191 -32 -0 -13 -89.825000025 -23 -63.8000750191 -33 -0 -0 -LINE -5 -2F4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.9722222347 -20 -63.7501208602 -11 -90.125000025 -21 -63.7501208602 -0 -MTEXT -5 -2F5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -88.1250000125 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2F6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -86.125 -20 -62.9999996207 -11 -86.125 -21 -64.0501208602 -0 -LINE -5 -2F7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.125000025 -20 -62.9999996041 -11 -90.125000025 -21 -64.0501208602 -0 -ENDBLK -5 -EC -330 -EA -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -EE -330 -ED -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D51 -70 -1 -10 -0 -20 -0 -3 -*D51 -1 - -0 -LINE -5 -2F8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -70.4462495497 -11 -50.0719282636 -21 -73.4462495497 -0 -SOLID -5 -2F9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -70.4462495497 -30 -0 -11 -50.0219741047 -21 -70.7462495497 -31 -0 -12 -50.1218824225 -22 -70.7462495497 -32 -0 -13 -50.1218824225 -23 -70.7462495497 -33 -0 -0 -SOLID -5 -2FA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -73.4462495497 -30 -0 -11 -50.1218824225 -21 -73.1462495497 -31 -0 -12 -50.0219741047 -22 -73.1462495497 -32 -0 -13 -50.0219741047 -23 -73.1462495497 -33 -0 -0 -MTEXT -5 -2FB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -49.0469282636 -20 -71.9462495497 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -2FC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -70.4462495497 -11 -50.3719282636 -21 -70.4462495497 -0 -LINE -5 -2FD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -73.4462495497 -11 -50.3719282636 -21 -73.4462495497 -0 -ENDBLK -5 -EF -330 -ED -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -F1 -330 -F0 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D62 -70 -1 -10 -0 -20 -0 -3 -*D62 -1 - -0 -LINE -5 -2FE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -85.4667127669 -20 --60.9097634776 -11 -86.1639349891 -21 --60.9097634776 -0 -SOLID -5 -2FF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -85.4667127669 -20 --60.9097634776 -30 -0 -11 -85.7667127669 -21 --60.8598093187 -31 -0 -12 -85.7667127669 -22 --60.9597176365 -32 -0 -13 -85.7667127669 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -300 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -88.4667127669 -20 --60.9097634776 -30 -0 -11 -88.1667127669 -21 --60.9597176365 -31 -0 -12 -88.1667127669 -22 --60.8598093187 -32 -0 -13 -88.1667127669 -23 --60.8598093187 -33 -0 -0 -LINE -5 -301 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -87.7694905447 -20 --60.9097634776 -11 -88.4667127669 -21 --60.9097634776 -0 -MTEXT -5 -302 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -86.9667127669 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -303 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -85.4667127669 -20 --61.877784531 -11 -85.4667127669 -21 --60.6097634776 -0 -LINE -5 -304 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.4667127669 -20 --61.877784531 -11 -88.4667127669 -21 --60.6097634776 -0 -ENDBLK -5 -F2 -330 -F0 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -F4 -330 -F3 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D108 -70 -1 -10 -0 -20 -0 -3 -*D108 -1 - -0 -LINE -5 -305 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -130.250000108 -20 -63.7501208602 -11 -132.752777892 -21 -63.7501208602 -0 -SOLID -5 -306 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -130.250000108 -20 -63.7501208602 -30 -0 -11 -130.550000108 -21 -63.8000750191 -31 -0 -12 -130.550000108 -22 -63.7001667013 -32 -0 -13 -130.550000108 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -307 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -137.750000121 -20 -63.7501208602 -30 -0 -11 -137.450000121 -21 -63.7001667013 -31 -0 -12 -137.450000121 -22 -63.8000750191 -32 -0 -13 -137.450000121 -23 -63.8000750191 -33 -0 -0 -LINE -5 -308 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -135.247222336 -20 -63.7501208602 -11 -137.750000121 -21 -63.7501208602 -0 -MTEXT -5 -309 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -134.000000114 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -30A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -130.250000108 -20 -59.9999999376 -11 -130.250000108 -21 -64.0501208602 -0 -LINE -5 -30B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -137.750000121 -20 -62.9999999064 -11 -137.750000121 -21 -64.0501208602 -0 -ENDBLK -5 -F5 -330 -F3 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -F7 -330 -F6 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D85 -70 -1 -10 -0 -20 -0 -3 -*D85 -1 - -0 -LINE -5 -30C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -54.9999999688 -11 --12.0522616552 -21 -52.5249999626 -0 -SOLID -5 -30D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -54.9999999688 -30 -0 -11 --12.0023074963 -21 -54.6999999688 -31 -0 -12 --12.1022158141 -22 -54.6999999688 -32 -0 -13 --12.1022158141 -23 -54.6999999688 -33 -0 -0 -SOLID -5 -30E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -47.9999999563 -30 -0 -11 --12.1022158141 -21 -48.2999999563 -31 -0 -12 --12.0023074963 -22 -48.2999999563 -32 -0 -13 --12.0023074963 -23 -48.2999999563 -33 -0 -0 -LINE -5 -30F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -50.4749999626 -11 --12.0522616552 -21 -47.9999999563 -0 -MTEXT -5 -310 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -51.4999999626 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -311 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000009574 -20 -54.9999999688 -11 --12.3522616552 -21 -54.9999999688 -0 -LINE -5 -312 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -3.5000000666 -20 -47.9999999563 -11 --12.3522616552 -21 -47.9999999563 -0 -ENDBLK -5 -F8 -330 -F6 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -FA -330 -F9 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D26 -70 -1 -10 -0 -20 -0 -3 -*D26 -1 - -0 -LINE -5 -313 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -5 -11 -23 -21 -3.025 -0 -SOLID -5 -314 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -5 -30 -0 -11 -23.0499541589 -21 -4.7 -31 -0 -12 -22.9500458411 -22 -4.7 -32 -0 -13 -22.9500458411 -23 -4.7 -33 -0 -0 -SOLID -5 -315 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 --1 -30 -0 -11 -22.9500458411 -21 --0.7 -31 -0 -12 -23.0499541589 -22 --0.7 -32 -0 -13 -23.0499541589 -23 --0.7 -33 -0 -0 -LINE -5 -316 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -0.975 -11 -23 -21 --1 -0 -MTEXT -5 -317 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -2 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -318 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23.8775 -20 -5 -11 -23.3 -21 -5 -0 -LINE -5 -319 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23.8775 -20 --1 -11 -23.3 -21 --1 -0 -ENDBLK -5 -FB -330 -F9 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -FD -330 -FC -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D82 -70 -1 -10 -0 -20 -0 -3 -*D82 -1 - -0 -LINE -5 -31A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.29478994918 -20 -60.9999999688 -11 --7.29478994918 -21 -53.0249999605 -0 -SOLID -5 -31B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.29478994918 -20 -60.9999999688 -30 -0 -11 --7.24483579025 -21 -60.6999999688 -31 -0 -12 --7.34474410811 -22 -60.6999999688 -32 -0 -13 --7.34474410811 -23 -60.6999999688 -33 -0 -0 -SOLID -5 -31C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.29478994918 -20 -42.9999999522 -30 -0 -11 --7.34474410811 -21 -43.2999999522 -31 -0 -12 --7.24483579025 -22 -43.2999999522 -32 -0 -13 --7.24483579025 -23 -43.2999999522 -33 -0 -0 -LINE -5 -31D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.29478994918 -20 -50.9749999605 -11 --7.29478994918 -21 -42.9999999522 -0 -MTEXT -5 -31E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --7.29478994918 -20 -51.9999999605 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -18 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -31F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -0.50000012071 -20 -60.9999999688 -11 --7.59478994918 -21 -60.9999999688 -0 -LINE -5 -320 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -4.50000004579 -20 -42.9999999522 -11 --7.59478994918 -21 -42.9999999522 -0 -ENDBLK -5 -FE -330 -FC -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -100 -330 -FF -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D24 -70 -1 -10 -0 -20 -0 -3 -*D24 -1 - -0 -LINE -5 -321 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -10.8725 -11 -23 -21 -10.1475 -0 -SOLID -5 -322 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -10.8725 -30 -0 -11 -23.0499541589 -21 -10.5725 -31 -0 -12 -22.9500458411 -22 -10.5725 -32 -0 -13 -22.9500458411 -23 -10.5725 -33 -0 -0 -SOLID -5 -323 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -7.3725 -30 -0 -11 -22.9500458411 -21 -7.6725 -31 -0 -12 -23.0499541589 -22 -7.6725 -32 -0 -13 -23.0499541589 -23 -7.6725 -33 -0 -0 -LINE -5 -324 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -8.0975 -11 -23 -21 -7.3725 -0 -MTEXT -5 -325 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -9.1225 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -3.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -326 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -10.8725 -11 -23.3 -21 -10.8725 -0 -LINE -5 -327 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -7.3725 -11 -23.3 -21 -7.3725 -0 -ENDBLK -5 -101 -330 -FF -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -103 -330 -102 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D70 -70 -1 -10 -0 -20 -0 -3 -*D70 -1 - -0 -LINE -5 -328 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --86.377784531 -11 -185.339708867 -21 --82.5193308592 -0 -SOLID -5 -329 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --86.377784531 -30 -0 -11 -185.289754708 -21 --86.077784531 -31 -0 -12 -185.389663026 -22 --86.077784531 -32 -0 -13 -185.389663026 -23 --86.077784531 -33 -0 -0 -SOLID -5 -32A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --76.6108771873 -30 -0 -11 -185.389663026 -21 --76.9108771873 -31 -0 -12 -185.289754708 -22 --76.9108771873 -32 -0 -13 -185.289754708 -23 --76.9108771873 -33 -0 -0 -LINE -5 -32B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --80.4693308592 -11 -185.339708867 -21 --76.6108771873 -0 -MTEXT -5 -32C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --81.4943308592 -30 -0 -40 -0.8 -41 -3.11111111111 -71 -5 -72 -1 -1 -9.7669 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -32D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --86.377784531 -11 -185.639708867 -21 --86.377784531 -0 -LINE -5 -32E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --76.6108771873 -11 -185.639708867 -21 --76.6108771873 -0 -ENDBLK -5 -104 -330 -102 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -106 -330 -105 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D65 -70 -1 -10 -0 -20 -0 -3 -*D65 -1 - -0 -LINE -5 -32F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -118.466712767 -20 --60.9097634776 -11 -120.163934989 -21 --60.9097634776 -0 -SOLID -5 -330 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -118.466712767 -20 --60.9097634776 -30 -0 -11 -118.766712767 -21 --60.8598093187 -31 -0 -12 -118.766712767 -22 --60.9597176365 -32 -0 -13 -118.766712767 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -331 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -123.466712767 -20 --60.9097634776 -30 -0 -11 -123.166712767 -21 --60.9597176365 -31 -0 -12 -123.166712767 -22 --60.8598093187 -32 -0 -13 -123.166712767 -23 --60.8598093187 -33 -0 -0 -LINE -5 -332 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.769490545 -20 --60.9097634776 -11 -123.466712767 -21 --60.9097634776 -0 -MTEXT -5 -333 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -120.966712767 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -334 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -118.466712767 -20 --65.127784531 -11 -118.466712767 -21 --60.6097634776 -0 -LINE -5 -335 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -123.466712767 -20 --61.877784531 -11 -123.466712767 -21 --60.6097634776 -0 -ENDBLK -5 -107 -330 -105 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -109 -330 -108 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D57 -70 -1 -10 -0 -20 -0 -3 -*D57 -1 - -0 -LINE -5 -336 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.216061105 -20 --125.977784531 -11 -90.216061105 -21 --124.702784531 -0 -SOLID -5 -337 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.216061105 -20 --125.977784531 -30 -0 -11 -90.1661069461 -21 --125.677784531 -31 -0 -12 -90.2660152639 -22 --125.677784531 -32 -0 -13 -90.2660152639 -23 --125.677784531 -33 -0 -0 -SOLID -5 -338 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.216061105 -20 --121.377784531 -30 -0 -11 -90.2660152639 -21 --121.677784531 -31 -0 -12 -90.1661069461 -22 --121.677784531 -32 -0 -13 -90.1661069461 -23 --121.677784531 -33 -0 -0 -LINE -5 -339 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.216061105 -20 --122.652784531 -11 -90.216061105 -21 --121.377784531 -0 -MTEXT -5 -33A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -90.216061105 -20 --123.677784531 -30 -0 -40 -0.8 -41 -1.33333333333 -71 -5 -72 -1 -1 -4.6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -33B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -84.9667127669 -20 --125.977784531 -11 -90.516061105 -21 --125.977784531 -0 -LINE -5 -33C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.4667127669 -20 --121.377784531 -11 -90.516061105 -21 --121.377784531 -0 -ENDBLK -5 -10A -330 -108 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -10C -330 -10B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D41 -70 -1 -10 -0 -20 -0 -3 -*D41 -1 - -0 -LINE -5 -33D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --6.45945945946 -20 --48.4567047713 -11 --12.3900150151 -21 --48.4567047713 -0 -SOLID -5 -33E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --6.45945945946 -20 --48.4567047713 -30 -0 -11 --6.75945945946 -21 --48.5066589302 -31 -0 -12 --6.75945945946 -22 --48.4067506124 -32 -0 -13 --6.75945945946 -23 --48.4067506124 -33 -0 -0 -SOLID -5 -33F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --20.4594594595 -20 --48.4567047713 -30 -0 -11 --20.1594594595 -21 --48.4067506124 -31 -0 -12 --20.1594594595 -22 --48.5066589302 -32 -0 -13 --20.1594594595 -23 --48.5066589302 -33 -0 -0 -LINE -5 -340 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --14.5289039039 -20 --48.4567047713 -11 --20.4594594595 -21 --48.4567047713 -0 -MTEXT -5 -341 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --13.4594594595 -20 --48.4567047713 -30 -0 -40 -0.8 -41 -0.888888888889 -71 -5 -72 -1 -1 -14 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -342 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --6.45945945946 -20 --66.8175675676 -11 --6.45945945946 -21 --48.1567047713 -0 -LINE -5 -343 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --20.4594594595 -20 --66.8175675676 -11 --20.4594594595 -21 --48.1567047713 -0 -ENDBLK -5 -10D -330 -10B -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -10F -330 -10E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D9 -70 -1 -10 -0 -20 -0 -3 -*D9 -1 - -0 -LINE -5 -344 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --25.5 -20 -49.3256232224 -11 -8.9750001549 -21 -49.3256232224 -0 -SOLID -5 -345 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --25.5 -20 -49.3256232224 -30 -0 -11 --25.2 -21 -49.3755773813 -31 -0 -12 --25.2 -22 -49.2756690635 -32 -0 -13 --25.2 -23 -49.2756690635 -33 -0 -0 -SOLID -5 -346 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -45.5000003098 -20 -49.3256232224 -30 -0 -11 -45.2000003098 -21 -49.2756690635 -31 -0 -12 -45.2000003098 -22 -49.3755773813 -32 -0 -13 -45.2000003098 -23 -49.3755773813 -33 -0 -0 -LINE -5 -347 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.0250001549 -20 -49.3256232224 -11 -45.5000003098 -21 -49.3256232224 -0 -MTEXT -5 -348 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10.0000001549 -20 -49.3256232224 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -71 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -349 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --25.5 -20 -43.1 -11 --25.5 -21 -49.6256232224 -0 -LINE -5 -34A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -45.5000003098 -20 -43.0999997047 -11 -45.5000003098 -21 -49.6256232224 -0 -ENDBLK -5 -110 -330 -10E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -112 -330 -111 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D71 -70 -1 -10 -0 -20 -0 -3 -*D71 -1 - -0 -LINE -5 -34B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --76.6108771873 -11 -185.339708867 -21 --73.0193308591 -0 -SOLID -5 -34C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --76.6108771873 -30 -0 -11 -185.289754708 -21 --76.3108771873 -31 -0 -12 -185.389663026 -22 --76.3108771873 -32 -0 -13 -185.389663026 -23 --76.3108771873 -33 -0 -0 -SOLID -5 -34D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --67.377784531 -30 -0 -11 -185.389663026 -21 --67.677784531 -31 -0 -12 -185.289754708 -22 --67.677784531 -32 -0 -13 -185.289754708 -23 --67.677784531 -33 -0 -0 -LINE -5 -34E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --70.9693308591 -11 -185.339708867 -21 --67.377784531 -0 -MTEXT -5 -34F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --71.9943308591 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -9.2331 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -350 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --76.6108771873 -11 -185.639708867 -21 --76.6108771873 -0 -LINE -5 -351 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -170.966712767 -20 --67.377784531 -11 -185.639708867 -21 --67.377784531 -0 -ENDBLK -5 -113 -330 -111 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -115 -330 -114 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D81 -70 -1 -10 -0 -20 -0 -3 -*D81 -1 - -0 -LINE -5 -352 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --77.675 -20 -51.3599999008 -11 --69.1291666667 -21 -51.3599999008 -0 -SOLID -5 -353 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --77.675 -20 -51.3599999008 -30 -0 -11 --77.375 -21 -51.4099540597 -31 -0 -12 --77.375 -22 -51.3100457419 -32 -0 -13 --77.375 -23 -51.3100457419 -33 -0 -0 -SOLID -5 -354 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --56.4 -20 -51.3599999008 -30 -0 -11 --56.7 -21 -51.3100457419 -31 -0 -12 --56.7 -22 -51.4099540597 -32 -0 -13 --56.7 -23 -51.4099540597 -33 -0 -0 -LINE -5 -355 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --64.9458333333 -20 -51.3599999008 -11 --56.4 -21 -51.3599999008 -0 -MTEXT -5 -356 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --67.0375 -20 -51.3599999008 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -21.275 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -357 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --77.675 -20 -26.5549999504 -11 --77.675 -21 -51.6599999008 -0 -LINE -5 -358 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --56.4 -20 -53.3599999008 -11 --56.4 -21 -51.6599999008 -0 -ENDBLK -5 -116 -330 -114 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -118 -330 -117 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D55 -70 -1 -10 -0 -20 -0 -3 -*D55 -1 - -0 -LINE -5 -359 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -34.9999995612 -11 -127.380113994 -21 -34.5249995612 -0 -SOLID -5 -35A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -34.9999995612 -30 -0 -11 -127.430068153 -21 -34.6999995612 -31 -0 -12 -127.330159835 -22 -34.6999995612 -32 -0 -13 -127.330159835 -23 -34.6999995612 -33 -0 -0 -SOLID -5 -35B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -31.9999995612 -30 -0 -11 -127.330159835 -21 -32.2999995612 -31 -0 -12 -127.430068153 -22 -32.2999995612 -32 -0 -13 -127.430068153 -23 -32.2999995612 -33 -0 -0 -LINE -5 -35C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -32.4749995612 -11 -127.380113994 -21 -31.9999995612 -0 -MTEXT -5 -35D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -127.380113994 -20 -33.4999995612 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -35E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -114.500000259 -20 -34.9999995612 -11 -127.680113994 -21 -34.9999995612 -0 -LINE -5 -35F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -114.500000234 -20 -31.9999995612 -11 -127.680113994 -21 -31.9999995612 -0 -ENDBLK -5 -119 -330 -117 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -11B -330 -11A -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D110 -70 -1 -10 -0 -20 -0 -3 -*D110 -1 - -0 -LINE -5 -360 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -115.125 -20 -67.8732630054 -11 -128.380555556 -21 -67.8732630054 -0 -SOLID -5 -361 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -115.125 -20 -67.8732630054 -30 -0 -11 -115.425 -21 -67.9232171643 -31 -0 -12 -115.425 -22 -67.8233088465 -32 -0 -13 -115.425 -23 -67.8233088465 -33 -0 -0 -SOLID -5 -362 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -145.375 -20 -67.8732630054 -30 -0 -11 -145.075 -21 -67.8233088465 -31 -0 -12 -145.075 -22 -67.9232171643 -32 -0 -13 -145.075 -23 -67.9232171643 -33 -0 -0 -LINE -5 -363 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -132.119444444 -20 -67.8732630054 -11 -145.375 -21 -67.8732630054 -0 -MTEXT -5 -364 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -130.25 -20 -67.8732630054 -30 -0 -40 -0.8 -41 -2.48888888889 -71 -5 -72 -1 -1 -30.25 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -365 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -115.125 -20 -27.125 -11 -115.125 -21 -68.1732630054 -0 -LINE -5 -366 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -145.375 -20 -27.125 -11 -145.375 -21 -68.1732630054 -0 -ENDBLK -5 -11C -330 -11A -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -11E -330 -11D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D1 -70 -1 -10 -0 -20 -0 -3 -*D1 -1 - -0 -LINE -5 -367 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --15 -20 -43.9593482668 -11 -8.88611125141 -21 -43.9593482668 -0 -SOLID -5 -368 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --15 -20 -43.9593482668 -30 -0 -11 --14.7 -21 -44.0093024257 -31 -0 -12 --14.7 -22 -43.9093941079 -32 -0 -13 --14.7 -23 -43.9093941079 -33 -0 -0 -SOLID -5 -369 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -35.0000002806 -20 -43.9593482668 -30 -0 -11 -34.7000002806 -21 -43.9093941079 -31 -0 -12 -34.7000002806 -22 -44.0093024257 -32 -0 -13 -34.7000002806 -23 -44.0093024257 -33 -0 -0 -LINE -5 -36A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.1138890292 -20 -43.9593482668 -11 -35.0000002806 -21 -43.9593482668 -0 -MTEXT -5 -36B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10.0000001403 -20 -43.9593482668 -30 -0 -40 -0.8 -41 -0.977777777778 -71 -5 -72 -1 -1 -50 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -36C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --15 -20 -39.6 -11 --15 -21 -44.2593482668 -0 -LINE -5 -36D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -35.0000002806 -20 -39.5999997921 -11 -35.0000002806 -21 -44.2593482668 -0 -ENDBLK -5 -11F -330 -11D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -121 -330 -120 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D10 -70 -1 -10 -0 -20 -0 -3 -*D10 -1 - -0 -LINE -5 -36E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --29.110203869 -20 -41.1 -11 --29.110203869 -21 -14.9295553062 -0 -SOLID -5 -36F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --29.110203869 -20 -41.1 -30 -0 -11 --29.0602497101 -21 -40.8 -31 -0 -12 --29.1601580279 -22 -40.8 -32 -0 -13 --29.1601580279 -23 -40.8 -33 -0 -0 -SOLID -5 -370 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --29.110203869 -20 --13.2908893876 -30 -0 -11 --29.1601580279 -21 --12.9908893876 -31 -0 -12 --29.0602497101 -22 --12.9908893876 -32 -0 -13 --29.0602497101 -23 --12.9908893876 -33 -0 -0 -LINE -5 -371 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --29.110203869 -20 -12.8795553062 -11 --29.110203869 -21 --13.2908893876 -0 -MTEXT -5 -372 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --29.110203869 -20 -13.9045553062 -30 -0 -40 -0.8 -41 -3.82222222222 -71 -5 -72 -1 -1 -54.3909 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -373 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --27.5 -20 -41.1 -11 --29.410203869 -21 -41.1 -0 -LINE -5 -374 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -7.99999992888 -20 --13.2908893876 -11 --29.410203869 -21 --13.2908893876 -0 -ENDBLK -5 -122 -330 -120 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -124 -330 -123 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D61 -70 -1 -10 -0 -20 -0 -3 -*D61 -1 - -0 -LINE -5 -375 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --60.9097634776 -11 -80.4694905447 -21 --60.9097634776 -0 -SOLID -5 -376 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -77.9667127669 -20 --60.9097634776 -30 -0 -11 -78.2667127669 -21 --60.8598093187 -31 -0 -12 -78.2667127669 -22 --60.9597176365 -32 -0 -13 -78.2667127669 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -377 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -85.4667127669 -20 --60.9097634776 -30 -0 -11 -85.1667127669 -21 --60.9597176365 -31 -0 -12 -85.1667127669 -22 --60.8598093187 -32 -0 -13 -85.1667127669 -23 --60.8598093187 -33 -0 -0 -LINE -5 -378 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.9639349891 -20 --60.9097634776 -11 -85.4667127669 -21 --60.9097634776 -0 -MTEXT -5 -379 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -81.7167127669 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -37A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --65.377784531 -11 -77.9667127669 -21 --60.6097634776 -0 -LINE -5 -37B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -85.4667127669 -20 --61.877784531 -11 -85.4667127669 -21 --60.6097634776 -0 -ENDBLK -5 -125 -330 -123 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -127 -330 -126 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D6 -70 -1 -10 -0 -20 -0 -3 -*D6 -1 - -0 -LINE -5 -37C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -46.1646667417 -11 -25.0027780876 -21 -46.1646667417 -0 -SOLID -5 -37D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.0000003098 -20 -46.1646667417 -30 -0 -11 -25.3000003098 -21 -46.2146209006 -31 -0 -12 -25.3000003098 -22 -46.1147125828 -32 -0 -13 -25.3000003098 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -37E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -27.5000003098 -20 -46.1646667417 -30 -0 -11 -27.2000003098 -21 -46.1147125828 -31 -0 -12 -27.2000003098 -22 -46.2146209006 -32 -0 -13 -27.2000003098 -23 -46.2146209006 -33 -0 -0 -LINE -5 -37F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.497222532 -20 -46.1646667417 -11 -27.5000003098 -21 -46.1646667417 -0 -MTEXT -5 -380 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -26.2500003098 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -381 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -43.0999998752 -11 -25.0000003098 -21 -46.4646667417 -0 -LINE -5 -382 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -43.0999998544 -11 -27.5000003098 -21 -46.4646667417 -0 -ENDBLK -5 -128 -330 -126 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -12A -330 -129 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D34 -70 -1 -10 -0 -20 -0 -3 -*D34 -1 - -0 -LINE -5 -383 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -132.54882917 -20 -41.0999994219 -11 -132.54882917 -21 -14.9295549756 -0 -SOLID -5 -384 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -132.54882917 -20 -41.0999994219 -30 -0 -11 -132.598783329 -21 -40.7999994219 -31 -0 -12 -132.498875011 -22 -40.7999994219 -32 -0 -13 -132.498875011 -23 -40.7999994219 -33 -0 -0 -SOLID -5 -385 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -132.54882917 -20 --13.2908894707 -30 -0 -11 -132.498875011 -21 --12.9908894707 -31 -0 -12 -132.598783329 -22 --12.9908894707 -32 -0 -13 -132.598783329 -23 --12.9908894707 -33 -0 -0 -LINE -5 -386 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -132.54882917 -20 -12.8795549756 -11 -132.54882917 -21 --13.2908894707 -0 -MTEXT -5 -387 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -132.54882917 -20 -13.9045549756 -30 -0 -40 -0.8 -41 -3.82222222222 -71 -5 -72 -1 -1 -54.3909 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -388 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.5000003098 -20 -41.0999994219 -11 -132.84882917 -21 -41.0999994219 -0 -LINE -5 -389 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.4999998574 -20 --13.2908894707 -11 -132.84882917 -21 --13.2908894707 -0 -ENDBLK -5 -12B -330 -129 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -12D -330 -12C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D2 -70 -1 -10 -0 -20 -0 -3 -*D2 -1 - -0 -LINE -5 -38A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --25.5 -20 -46.1646667417 -11 --24.8027777778 -21 -46.1646667417 -0 -SOLID -5 -38B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --25.5 -20 -46.1646667417 -30 -0 -11 --25.2 -21 -46.2146209006 -31 -0 -12 --25.2 -22 -46.1147125828 -32 -0 -13 --25.2 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -38C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --22.5 -20 -46.1646667417 -30 -0 -11 --22.8 -21 -46.1147125828 -31 -0 -12 --22.8 -22 -46.2146209006 -32 -0 -13 --22.8 -23 -46.2146209006 -33 -0 -0 -LINE -5 -38D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --23.1972222222 -20 -46.1646667417 -11 --22.5 -21 -46.1646667417 -0 -MTEXT -5 -38E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --24 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -38F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --25.5 -20 -43.1 -11 --25.5 -21 -46.4646667417 -0 -LINE -5 -390 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.5 -20 -43.1 -11 --22.5 -21 -46.4646667417 -0 -ENDBLK -5 -12E -330 -12C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -130 -330 -12F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D59 -70 -1 -10 -0 -20 -0 -3 -*D59 -1 - -0 -LINE -5 -391 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -67.4667127669 -20 --60.9097634776 -11 -68.1639349891 -21 --60.9097634776 -0 -SOLID -5 -392 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -67.4667127669 -20 --60.9097634776 -30 -0 -11 -67.7667127669 -21 --60.8598093187 -31 -0 -12 -67.7667127669 -22 --60.9597176365 -32 -0 -13 -67.7667127669 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -393 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -70.4667127669 -20 --60.9097634776 -30 -0 -11 -70.1667127669 -21 --60.9597176365 -31 -0 -12 -70.1667127669 -22 --60.8598093187 -32 -0 -13 -70.1667127669 -23 --60.8598093187 -33 -0 -0 -LINE -5 -394 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -69.7694905447 -20 --60.9097634776 -11 -70.4667127669 -21 --60.9097634776 -0 -MTEXT -5 -395 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -68.9667127669 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -396 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -67.4667127669 -20 --61.877784531 -11 -67.4667127669 -21 --60.6097634776 -0 -LINE -5 -397 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.4667127669 -20 --61.877784531 -11 -70.4667127669 -21 --60.6097634776 -0 -ENDBLK -5 -131 -330 -12F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -133 -330 -132 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D27 -70 -1 -10 -0 -20 -0 -3 -*D27 -1 - -0 -LINE -5 -398 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -41.0999994219 -11 -121.702603419 -21 -40.3749995633 -0 -SOLID -5 -399 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -41.0999994219 -30 -0 -11 -121.752557578 -21 -40.7999994219 -31 -0 -12 -121.65264926 -22 -40.7999994219 -32 -0 -13 -121.65264926 -23 -40.7999994219 -33 -0 -0 -SOLID -5 -39A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -37.5999997047 -30 -0 -11 -121.65264926 -21 -37.8999997047 -31 -0 -12 -121.752557578 -22 -37.8999997047 -32 -0 -13 -121.752557578 -23 -37.8999997047 -33 -0 -0 -LINE -5 -39B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -38.3249995633 -11 -121.702603419 -21 -37.5999997047 -0 -MTEXT -5 -39C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -121.702603419 -20 -39.3499995633 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -3.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -39D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.5000003098 -20 -41.0999994219 -11 -122.002603419 -21 -41.0999994219 -0 -LINE -5 -39E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000003098 -20 -37.5999997047 -11 -122.002603419 -21 -37.5999997047 -0 -ENDBLK -5 -134 -330 -132 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -136 -330 -135 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D56 -70 -1 -10 -0 -20 -0 -3 -*D56 -1 - -0 -LINE -5 -39F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -31.9999995612 -11 -127.380113994 -21 -28.2749997806 -0 -SOLID -5 -3A0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -31.9999995612 -30 -0 -11 -127.430068153 -21 -31.6999995612 -31 -0 -12 -127.330159835 -22 -31.6999995612 -32 -0 -13 -127.330159835 -23 -31.6999995612 -33 -0 -0 -SOLID -5 -3A1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -22.5 -30 -0 -11 -127.330159835 -21 -22.8 -31 -0 -12 -127.430068153 -22 -22.8 -32 -0 -13 -127.430068153 -23 -22.8 -33 -0 -0 -LINE -5 -3A2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -26.2249997806 -11 -127.380113994 -21 -22.5 -0 -MTEXT -5 -3A3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -127.380113994 -20 -27.2499997806 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -9.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3A4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -114.500000234 -20 -31.9999995612 -11 -127.680113994 -21 -31.9999995612 -0 -LINE -5 -3A5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -108.500000155 -20 -22.5 -11 -127.680113994 -21 -22.5 -0 -ENDBLK -5 -137 -330 -135 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -139 -330 -138 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D64 -70 -1 -10 -0 -20 -0 -3 -*D64 -1 - -0 -LINE -5 -3A6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -113.466712767 -20 --60.9097634776 -11 -115.163934989 -21 --60.9097634776 -0 -SOLID -5 -3A7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -113.466712767 -20 --60.9097634776 -30 -0 -11 -113.766712767 -21 --60.8598093187 -31 -0 -12 -113.766712767 -22 --60.9597176365 -32 -0 -13 -113.766712767 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -3A8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -118.466712767 -20 --60.9097634776 -30 -0 -11 -118.166712767 -21 --60.9597176365 -31 -0 -12 -118.166712767 -22 --60.8598093187 -32 -0 -13 -118.166712767 -23 --60.8598093187 -33 -0 -0 -LINE -5 -3A9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -116.769490545 -20 --60.9097634776 -11 -118.466712767 -21 --60.9097634776 -0 -MTEXT -5 -3AA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -115.966712767 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3AB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -113.466712767 -20 --61.877784531 -11 -113.466712767 -21 --60.6097634776 -0 -LINE -5 -3AC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -118.466712767 -20 --65.127784531 -11 -118.466712767 -21 --60.6097634776 -0 -ENDBLK -5 -13A -330 -138 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -13C -330 -13B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D100 -70 -1 -10 -0 -20 -0 -3 -*D100 -1 - -0 -LINE -5 -3AD -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.95 -20 --7.8656865539 -11 -9.05 -21 --7.8656865539 -0 -SOLID -5 -3AE -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10.95 -20 --7.8656865539 -30 -0 -11 -10.65 -21 --7.91564071283 -31 -0 -12 -10.65 -22 --7.81573239497 -32 -0 -13 -10.65 -23 --7.81573239497 -33 -0 -0 -SOLID -5 -3AF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -9.05 -20 --7.8656865539 -30 -0 -11 -9.35 -21 --7.81573239497 -31 -0 -12 -9.35 -22 --7.91564071283 -32 -0 -13 -9.35 -23 --7.91564071283 -33 -0 -0 -MTEXT -5 -3B0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10 -20 --7.8656865539 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -1.9 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3B1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.95 -20 --2.2 -11 -10.95 -21 --8.1656865539 -0 -LINE -5 -3B2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -9.05 -20 --2.2 -11 -9.05 -21 --8.1656865539 -0 -ENDBLK -5 -13D -330 -13B -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -13F -330 -13E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D15 -70 -1 -10 -0 -20 -0 -3 -*D15 -1 - -0 -LINE -5 -3B3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -16 -20 -13.3725 -11 -17.1527777778 -21 -13.3725 -0 -SOLID -5 -3B4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -16 -20 -13.3725 -30 -0 -11 -16.3 -21 -13.4224541589 -31 -0 -12 -16.3 -22 -13.3225458411 -32 -0 -13 -16.3 -23 -13.3225458411 -33 -0 -0 -SOLID -5 -3B5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -20 -20 -13.3725 -30 -0 -11 -19.7 -21 -13.3225458411 -31 -0 -12 -19.7 -22 -13.4224541589 -32 -0 -13 -19.7 -23 -13.4224541589 -33 -0 -0 -LINE -5 -3B6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18.8472222222 -20 -13.3725 -11 -20 -21 -13.3725 -0 -MTEXT -5 -3B7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18 -20 -13.3725 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3B8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -16 -20 -15.3725 -11 -16 -21 -13.6725 -0 -LINE -5 -3B9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -15.3725 -11 -20 -21 -13.6725 -0 -ENDBLK -5 -140 -330 -13E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -142 -330 -141 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D68 -70 -1 -10 -0 -20 -0 -3 -*D68 -1 - -0 -LINE -5 -3BA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --96.377784531 -11 -185.339708867 -21 --94.902784531 -0 -SOLID -5 -3BB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --96.377784531 -30 -0 -11 -185.289754708 -21 --96.077784531 -31 -0 -12 -185.389663026 -22 --96.077784531 -32 -0 -13 -185.389663026 -23 --96.077784531 -33 -0 -0 -SOLID -5 -3BC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -185.339708867 -20 --91.377784531 -30 -0 -11 -185.389663026 -21 --91.677784531 -31 -0 -12 -185.289754708 -22 --91.677784531 -32 -0 -13 -185.289754708 -23 --91.677784531 -33 -0 -0 -LINE -5 -3BD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -185.339708867 -20 --92.852784531 -11 -185.339708867 -21 --91.377784531 -0 -MTEXT -5 -3BE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -185.339708867 -20 --93.877784531 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3BF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -175.966712767 -20 --96.377784531 -11 -185.639708867 -21 --96.377784531 -0 -LINE -5 -3C0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -170.966712767 -20 --91.377784531 -11 -185.639708867 -21 --91.377784531 -0 -ENDBLK -5 -143 -330 -141 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -145 -330 -144 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D77 -70 -1 -10 -0 -20 -0 -3 -*D77 -1 - -0 -LINE -5 -3C1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.9667127669 -20 --121.377784531 -11 -82.9667127669 -21 --122.977784531 -0 -SOLID -5 -3C2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -82.9667127669 -20 --121.377784531 -30 -0 -11 -83.0166669258 -21 --121.677784531 -31 -0 -12 -82.916758608 -22 --121.677784531 -32 -0 -13 -82.916758608 -23 --121.677784531 -33 -0 -0 -SOLID -5 -3C3 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -82.9667127669 -20 --122.977784531 -30 -0 -11 -82.916758608 -21 --122.677784531 -31 -0 -12 -83.0166669258 -22 --122.677784531 -32 -0 -13 -83.0166669258 -23 --122.677784531 -33 -0 -0 -MTEXT -5 -3C4 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -82.9667127669 -20 --122.177784531 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -1.6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3C5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -84.9667127669 -20 --121.377784531 -11 -83.2667127669 -21 --121.377784531 -0 -LINE -5 -3C6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.9667127669 -20 --122.977784531 -11 -83.2667127669 -21 --122.977784531 -0 -ENDBLK -5 -146 -330 -144 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -148 -330 -147 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D60 -70 -1 -10 -0 -20 -0 -3 -*D60 -1 - -0 -LINE -5 -3C7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.4667127669 -20 --60.9097634776 -11 -72.9694905447 -21 --60.9097634776 -0 -SOLID -5 -3C8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -70.4667127669 -20 --60.9097634776 -30 -0 -11 -70.7667127669 -21 --60.8598093187 -31 -0 -12 -70.7667127669 -22 --60.9597176365 -32 -0 -13 -70.7667127669 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -3C9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -77.9667127669 -20 --60.9097634776 -30 -0 -11 -77.6667127669 -21 --60.9597176365 -31 -0 -12 -77.6667127669 -22 --60.8598093187 -32 -0 -13 -77.6667127669 -23 --60.8598093187 -33 -0 -0 -LINE -5 -3CA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -75.4639349891 -20 --60.9097634776 -11 -77.9667127669 -21 --60.9097634776 -0 -MTEXT -5 -3CB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -74.2167127669 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3CC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.4667127669 -20 --61.877784531 -11 -70.4667127669 -21 --60.6097634776 -0 -LINE -5 -3CD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -77.9667127669 -20 --65.377784531 -11 -77.9667127669 -21 --60.6097634776 -0 -ENDBLK -5 -149 -330 -147 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -14B -330 -14A -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D109 -70 -1 -10 -0 -20 -0 -3 -*D109 -1 - -0 -LINE -5 -3CE -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -137.750000121 -20 -63.7501208602 -11 -139.693055616 -21 -63.7501208602 -0 -SOLID -5 -3CF -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -137.750000121 -20 -63.7501208602 -30 -0 -11 -138.050000121 -21 -63.8000750191 -31 -0 -12 -138.050000121 -22 -63.7001667013 -32 -0 -13 -138.050000121 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -3D0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -145.375 -20 -63.7501208602 -30 -0 -11 -145.075 -21 -63.7001667013 -31 -0 -12 -145.075 -22 -63.8000750191 -32 -0 -13 -145.075 -23 -63.8000750191 -33 -0 -0 -LINE -5 -3D1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -143.431944504 -20 -63.7501208602 -11 -145.375 -21 -63.7501208602 -0 -MTEXT -5 -3D2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -141.56250006 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -2.48888888889 -71 -5 -72 -1 -1 -7.625 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3D3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -137.750000121 -20 -62.9999999064 -11 -137.750000121 -21 -64.0501208602 -0 -LINE -5 -3D4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -145.375 -20 -27.125 -11 -145.375 -21 -64.0501208602 -0 -ENDBLK -5 -14C -330 -14A -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -14E -330 -14D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D32 -70 -1 -10 -0 -20 -0 -3 -*D32 -1 - -0 -LINE -5 -3D5 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -41.0999994219 -11 -127.380113994 -21 -39.0749995165 -0 -SOLID -5 -3D6 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -41.0999994219 -30 -0 -11 -127.430068153 -21 -40.7999994219 -31 -0 -12 -127.330159835 -22 -40.7999994219 -32 -0 -13 -127.330159835 -23 -40.7999994219 -33 -0 -0 -SOLID -5 -3D7 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -127.380113994 -20 -34.999999611 -30 -0 -11 -127.330159835 -21 -35.299999611 -31 -0 -12 -127.430068153 -22 -35.299999611 -32 -0 -13 -127.430068153 -23 -35.299999611 -33 -0 -0 -LINE -5 -3D8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.380113994 -20 -37.0249995165 -11 -127.380113994 -21 -34.999999611 -0 -MTEXT -5 -3D9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -127.380113994 -20 -38.0499995165 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -6.1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3DA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -99.5000003098 -20 -41.0999994219 -11 -127.680113994 -21 -41.0999994219 -0 -LINE -5 -3DB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -108.500000259 -20 -34.999999611 -11 -127.680113994 -21 -34.999999611 -0 -ENDBLK -5 -14F -330 -14D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -151 -330 -150 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D12 -70 -1 -10 -0 -20 -0 -3 -*D12 -1 - -0 -LINE -5 -3DC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -38.0499998752 -11 -27.497222532 -21 -38.0499998752 -0 -SOLID -5 -3DD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -27.5000003098 -20 -38.0499998752 -30 -0 -11 -27.2000003098 -21 -38.0000457163 -31 -0 -12 -27.2000003098 -22 -38.0999540341 -32 -0 -13 -27.2000003098 -23 -38.0999540341 -33 -0 -0 -SOLID -5 -3DE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.0000003098 -20 -38.0499998752 -30 -0 -11 -25.3000003098 -21 -38.0999540341 -31 -0 -12 -25.3000003098 -22 -38.0000457163 -32 -0 -13 -25.3000003098 -23 -38.0000457163 -33 -0 -0 -LINE -5 -3DF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0027780876 -20 -38.0499998752 -11 -25.0000003098 -21 -38.0499998752 -0 -MTEXT -5 -3E0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -26.2500003098 -20 -38.0499998752 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3E1 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.5000003098 -20 -39.0999998544 -11 -27.5000003098 -21 -37.7499998752 -0 -LINE -5 -3E2 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.0000003098 -20 -39.0999998752 -11 -25.0000003098 -21 -37.7499998752 -0 -ENDBLK -5 -152 -330 -150 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -154 -330 -153 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D105 -70 -1 -10 -0 -20 -0 -3 -*D105 -1 - -0 -LINE -5 -3E3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.125 -20 -67.8732630054 -11 -68.9666666667 -21 -67.8732630054 -0 -SOLID -5 -3E4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.125 -20 -67.8732630054 -30 -0 -11 -50.425 -21 -67.9232171643 -31 -0 -12 -50.425 -22 -67.8233088465 -32 -0 -13 -50.425 -23 -67.8233088465 -33 -0 -0 -SOLID -5 -3E5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.125 -20 -67.8732630054 -30 -0 -11 -89.825 -21 -67.8233088465 -31 -0 -12 -89.825 -22 -67.9232171643 -32 -0 -13 -89.825 -23 -67.9232171643 -33 -0 -0 -LINE -5 -3E6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -71.2833333333 -20 -67.8732630054 -11 -90.125 -21 -67.8732630054 -0 -MTEXT -5 -3E7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -70.125 -20 -67.8732630054 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -40 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3E8 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.125 -20 -45.0000003999 -11 -50.125 -21 -68.1732630054 -0 -LINE -5 -3E9 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.125 -20 -56.9999996041 -11 -90.125 -21 -68.1732630054 -0 -ENDBLK -5 -155 -330 -153 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -157 -330 -156 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D29 -70 -1 -10 -0 -20 -0 -3 -*D29 -1 - -0 -LINE -5 -3EA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -25.0637498916 -11 -121.702603419 -21 -20.2431249458 -0 -SOLID -5 -3EB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -25.0637498916 -30 -0 -11 -121.752557578 -21 -24.7637498916 -31 -0 -12 -121.65264926 -22 -24.7637498916 -32 -0 -13 -121.65264926 -23 -24.7637498916 -33 -0 -0 -SOLID -5 -3EC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -121.702603419 -20 -13.3725 -30 -0 -11 -121.65264926 -21 -13.6725 -31 -0 -12 -121.752557578 -22 -13.6725 -32 -0 -13 -121.752557578 -23 -13.6725 -33 -0 -0 -LINE -5 -3ED -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -121.702603419 -20 -18.1931249458 -11 -121.702603419 -21 -13.3725 -0 -MTEXT -5 -3EE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -121.702603419 -20 -19.2181249458 -30 -0 -40 -0.8 -41 -3.2 -71 -5 -72 -1 -1 -11.6912 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3EF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -104.500000241 -20 -25.0637498916 -11 -122.002603419 -21 -25.0637498916 -0 -LINE -5 -3F0 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -94.5000001944 -20 -13.3725 -11 -122.002603419 -21 -13.3725 -0 -ENDBLK -5 -158 -330 -156 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -15A -330 -159 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D97 -70 -1 -10 -0 -20 -0 -3 -*D97 -1 - -0 -LINE -5 -3F1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -17.5000001207 -20 -63.7501208602 -11 -14.9972223429 -21 -63.7501208602 -0 -SOLID -5 -3F2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -17.5000001207 -20 -63.7501208602 -30 -0 -11 -17.2000001207 -21 -63.7001667013 -31 -0 -12 -17.2000001207 -22 -63.8000750191 -32 -0 -13 -17.2000001207 -23 -63.8000750191 -33 -0 -0 -SOLID -5 -3F3 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10.0000001207 -20 -63.7501208602 -30 -0 -11 -10.3000001207 -21 -63.8000750191 -31 -0 -12 -10.3000001207 -22 -63.7001667013 -32 -0 -13 -10.3000001207 -23 -63.7001667013 -33 -0 -0 -LINE -5 -3F4 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -12.5027778985 -20 -63.7501208602 -11 -10.0000001207 -21 -63.7501208602 -0 -MTEXT -5 -3F5 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -13.7500001207 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -7.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3F6 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -17.5000001207 -20 -62.9999999064 -11 -17.5000001207 -21 -64.0501208602 -0 -LINE -5 -3F7 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.0000001207 -20 -62.9999999376 -11 -10.0000001207 -21 -64.0501208602 -0 -ENDBLK -5 -15B -330 -159 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -15D -330 -15C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D48 -70 -1 -10 -0 -20 -0 -3 -*D48 -1 - -0 -LINE -5 -3F8 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.5 -20 -25.5 -11 -19.5 -21 -22.5 -0 -SOLID -5 -3F9 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -25.5 -30 -0 -11 -19.5499541589 -21 -25.2 -31 -0 -12 -19.4500458411 -22 -25.2 -32 -0 -13 -19.4500458411 -23 -25.2 -33 -0 -0 -SOLID -5 -3FA -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -19.5 -20 -22.5 -30 -0 -11 -19.4500458411 -21 -22.8 -31 -0 -12 -19.5499541589 -22 -22.8 -32 -0 -13 -19.5499541589 -23 -22.8 -33 -0 -0 -MTEXT -5 -3FB -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -18.475 -20 -24 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -3 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -3FC -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -25.5 -11 -19.8 -21 -25.5 -0 -LINE -5 -3FD -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -22.5 -11 -19.8 -21 -22.5 -0 -ENDBLK -5 -15E -330 -15C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -160 -330 -15F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D78 -70 -1 -10 -0 -20 -0 -3 -*D78 -1 - -0 -LINE -5 -3FE -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -74.9667127669 -20 --120.477784531 -11 -74.9667127669 -21 --120.702784531 -0 -SOLID -5 -3FF -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -74.9667127669 -20 --120.477784531 -30 -0 -11 -75.0166669258 -21 --120.777784531 -31 -0 -12 -74.916758608 -22 --120.777784531 -32 -0 -13 -74.916758608 -23 --120.777784531 -33 -0 -0 -SOLID -5 -400 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -74.9667127669 -20 --122.977784531 -30 -0 -11 -74.916758608 -21 --122.677784531 -31 -0 -12 -75.0166669258 -22 --122.677784531 -32 -0 -13 -75.0166669258 -23 --122.677784531 -33 -0 -0 -LINE -5 -401 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -74.9667127669 -20 --122.752784531 -11 -74.9667127669 -21 --122.977784531 -0 -MTEXT -5 -402 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -74.9667127669 -20 --121.727784531 -30 -0 -40 -0.8 -41 -1.24444444444 -71 -5 -72 -1 -1 -2.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -403 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --120.477784531 -11 -74.6667127669 -21 --120.477784531 -0 -LINE -5 -404 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --122.977784531 -11 -74.6667127669 -21 --122.977784531 -0 -ENDBLK -5 -161 -330 -15F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -163 -330 -162 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D17 -70 -1 -10 -0 -20 -0 -3 -*D17 -1 - -0 -LINE -5 -405 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15 -20 -6.18625 -11 -13.3775 -21 -6.18625 -0 -SOLID -5 -406 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -15 -20 -6.18625 -30 -0 -11 -14.7 -21 -6.13629584107 -31 -0 -12 -14.7 -22 -6.23620415893 -32 -0 -13 -14.7 -23 -6.23620415893 -33 -0 -0 -SOLID -5 -407 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -13.3775 -20 -6.18625 -30 -0 -11 -13.6775 -21 -6.23620415893 -31 -0 -12 -13.6775 -22 -6.13629584107 -32 -0 -13 -13.6775 -23 -6.13629584107 -33 -0 -0 -MTEXT -5 -408 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -17.0916666667 -20 -6.18625 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -1.6225 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -409 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15 -20 -7.6225 -11 -15 -21 -5.88625 -0 -LINE -5 -40A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -13.3775 -20 -9.6225 -11 -13.3775 -21 -5.88625 -0 -ENDBLK -5 -164 -330 -162 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -166 -330 -165 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D96 -70 -1 -10 -0 -20 -0 -3 -*D96 -1 - -0 -LINE -5 -40B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.125 -20 -63.7501208602 -11 -23.1819445048 -21 -63.7501208602 -0 -SOLID -5 -40C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.125 -20 -63.7501208602 -30 -0 -11 -24.825 -21 -63.7001667013 -31 -0 -12 -24.825 -22 -63.8000750191 -32 -0 -13 -24.825 -23 -63.8000750191 -33 -0 -0 -SOLID -5 -40D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -17.5000001207 -20 -63.7501208602 -30 -0 -11 -17.8000001207 -21 -63.8000750191 -31 -0 -12 -17.8000001207 -22 -63.7001667013 -32 -0 -13 -17.8000001207 -23 -63.7001667013 -33 -0 -0 -LINE -5 -40E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -19.443055616 -20 -63.7501208602 -11 -17.5000001207 -21 -63.7501208602 -0 -MTEXT -5 -40F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -21.3125000604 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -2.48888888889 -71 -5 -72 -1 -1 -7.625 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -410 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.125 -20 -27.125 -11 -25.125 -21 -64.0501208602 -0 -LINE -5 -411 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -17.5000001207 -20 -62.9999999064 -11 -17.5000001207 -21 -64.0501208602 -0 -ENDBLK -5 -167 -330 -165 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -169 -330 -168 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D3 -70 -1 -10 -0 -20 -0 -3 -*D3 -1 - -0 -LINE -5 -412 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.5 -20 -46.1646667417 -11 --16.025 -21 -46.1646667417 -0 -SOLID -5 -413 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --22.5 -20 -46.1646667417 -30 -0 -11 --22.2 -21 -46.2146209006 -31 -0 -12 --22.2 -22 -46.1147125828 -32 -0 -13 --22.2 -23 -46.1147125828 -33 -0 -0 -SOLID -5 -414 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --7.5 -20 -46.1646667417 -30 -0 -11 --7.8 -21 -46.1147125828 -31 -0 -12 --7.8 -22 -46.2146209006 -32 -0 -13 --7.8 -23 -46.2146209006 -33 -0 -0 -LINE -5 -415 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --13.975 -20 -46.1646667417 -11 --7.5 -21 -46.1646667417 -0 -MTEXT -5 -416 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --15 -20 -46.1646667417 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -417 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.5 -20 -43.1 -11 --22.5 -21 -46.4646667417 -0 -LINE -5 -418 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.5 -20 -43.1 -11 --7.5 -21 -46.4646667417 -0 -ENDBLK -5 -16A -330 -168 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -16C -330 -16B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D44 -70 -1 -10 -0 -20 -0 -3 -*D44 -1 - -0 -LINE -5 -419 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2 -20 -41.1 -11 -8.975 -21 -41.1 -0 -SOLID -5 -41A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -2 -20 -41.1 -30 -0 -11 -2.3 -21 -41.1499541589 -31 -0 -12 -2.3 -22 -41.0500458411 -32 -0 -13 -2.3 -23 -41.0500458411 -33 -0 -0 -SOLID -5 -41B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -18 -20 -41.1 -30 -0 -11 -17.7 -21 -41.0500458411 -31 -0 -12 -17.7 -22 -41.1499541589 -32 -0 -13 -17.7 -23 -41.1499541589 -33 -0 -0 -LINE -5 -41C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -11.025 -20 -41.1 -11 -18 -21 -41.1 -0 -MTEXT -5 -41D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -10 -20 -42.125 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -16 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -41E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2 -20 -36.9999999652 -11 -2 -21 -41.4 -0 -LINE -5 -41F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18 -20 -36.9999999147 -11 -18 -21 -41.4 -0 -ENDBLK -5 -16D -330 -16B -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -16F -330 -16E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D38 -70 -1 -10 -0 -20 -0 -3 -*D38 -1 - -0 -LINE -5 -420 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --68.8175675676 -11 --26.2473817511 -21 --71.7925675676 -0 -SOLID -5 -421 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --68.8175675676 -30 -0 -11 --26.1974275922 -21 --69.1175675676 -31 -0 -12 --26.29733591 -22 --69.1175675676 -32 -0 -13 --26.29733591 -23 --69.1175675676 -33 -0 -0 -SOLID -5 -422 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --76.8175675676 -30 -0 -11 --26.29733591 -21 --76.5175675676 -31 -0 -12 --26.1974275922 -22 --76.5175675676 -32 -0 -13 --26.1974275922 -23 --76.5175675676 -33 -0 -0 -LINE -5 -423 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --73.8425675676 -11 --26.2473817511 -21 --76.8175675676 -0 -MTEXT -5 -424 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --26.2473817511 -20 --72.8175675676 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -8 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -425 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.4594594595 -20 --68.8175675676 -11 --26.5473817511 -21 --68.8175675676 -0 -LINE -5 -426 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.4594594595 -20 --76.8175675676 -11 --26.5473817511 -21 --76.8175675676 -0 -ENDBLK -5 -170 -330 -16E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -172 -330 -171 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D53 -70 -1 -10 -0 -20 -0 -3 -*D53 -1 - -0 -LINE -5 -427 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -82.4462495497 -11 -50.0719282636 -21 -86.4212495497 -0 -SOLID -5 -428 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -82.4462495497 -30 -0 -11 -50.0219741047 -21 -82.7462495497 -31 -0 -12 -50.1218824225 -22 -82.7462495497 -32 -0 -13 -50.1218824225 -23 -82.7462495497 -33 -0 -0 -SOLID -5 -429 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -92.4462495497 -30 -0 -11 -50.1218824225 -21 -92.1462495497 -31 -0 -12 -50.0219741047 -22 -92.1462495497 -32 -0 -13 -50.0219741047 -23 -92.1462495497 -33 -0 -0 -LINE -5 -42A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -88.4712495497 -11 -50.0719282636 -21 -92.4462495497 -0 -MTEXT -5 -42B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -49.0469282636 -20 -87.4462495497 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -42C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -47.5000005039 -20 -82.4462495497 -11 -50.3719282636 -21 -82.4462495497 -0 -LINE -5 -42D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -47.5000005039 -20 -92.4462495497 -11 -50.3719282636 -21 -92.4462495497 -0 -ENDBLK -5 -173 -330 -171 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -175 -330 -174 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D58 -70 -1 -10 -0 -20 -0 -3 -*D58 -1 - -0 -LINE -5 -42E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.216061105 -20 --121.377784531 -11 -90.216061105 -21 --117.402784531 -0 -SOLID -5 -42F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.216061105 -20 --121.377784531 -30 -0 -11 -90.1661069461 -21 --121.077784531 -31 -0 -12 -90.2660152639 -22 --121.077784531 -32 -0 -13 -90.2660152639 -23 --121.077784531 -33 -0 -0 -SOLID -5 -430 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -90.216061105 -20 --111.377784531 -30 -0 -11 -90.2660152639 -21 --111.677784531 -31 -0 -12 -90.1661069461 -22 --111.677784531 -32 -0 -13 -90.1661069461 -23 --111.677784531 -33 -0 -0 -LINE -5 -431 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.216061105 -20 --115.352784531 -11 -90.216061105 -21 --111.377784531 -0 -MTEXT -5 -432 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -90.216061105 -20 --116.377784531 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -10 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -433 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.4667127669 -20 --121.377784531 -11 -90.516061105 -21 --121.377784531 -0 -LINE -5 -434 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -90.4667127669 -20 --111.377784531 -11 -90.516061105 -21 --111.377784531 -0 -ENDBLK -5 -176 -330 -174 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -178 -330 -177 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D79 -70 -1 -10 -0 -20 -0 -3 -*D79 -1 - -0 -LINE -5 -435 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -168.966712767 -20 --67.377784531 -11 -168.966712767 -21 --78.352784531 -0 -SOLID -5 -436 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -168.966712767 -20 --67.377784531 -30 -0 -11 -169.016666926 -21 --67.677784531 -31 -0 -12 -168.916758608 -22 --67.677784531 -32 -0 -13 -168.916758608 -23 --67.677784531 -33 -0 -0 -SOLID -5 -437 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -168.966712767 -20 --91.377784531 -30 -0 -11 -168.916758608 -21 --91.077784531 -31 -0 -12 -169.016666926 -22 --91.077784531 -32 -0 -13 -169.016666926 -23 --91.077784531 -33 -0 -0 -LINE -5 -438 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -168.966712767 -20 --80.402784531 -11 -168.966712767 -21 --91.377784531 -0 -MTEXT -5 -439 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -168.966712767 -20 --79.377784531 -30 -0 -40 -0.8 -41 -1.06666666667 -71 -5 -72 -1 -1 -24 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -43A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -166.966712767 -20 --67.377784531 -11 -168.666712767 -21 --67.377784531 -0 -LINE -5 -43B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -166.966712767 -20 --91.377784531 -11 -168.666712767 -21 --91.377784531 -0 -ENDBLK -5 -179 -330 -177 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -17B -330 -17A -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D93 -70 -1 -10 -0 -20 -0 -3 -*D93 -1 - -0 -LINE -5 -43C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -13.3 -11 --12.0522616552 -21 -7.575 -0 -SOLID -5 -43D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -13.3 -30 -0 -11 --12.0023074963 -21 -13 -31 -0 -12 --12.1022158141 -22 -13 -32 -0 -13 --12.1022158141 -23 -13 -33 -0 -0 -SOLID -5 -43E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 --0.2 -30 -0 -11 --12.1022158141 -21 -0.1 -31 -0 -12 --12.0023074963 -22 -0.1 -32 -0 -13 --12.0023074963 -23 -0.1 -33 -0 -0 -LINE -5 -43F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -5.525 -11 --12.0522616552 -21 --0.2 -0 -MTEXT -5 -440 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -6.55 -30 -0 -40 -0.8 -41 -1.68888888889 -71 -5 -72 -1 -1 -13.5 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -441 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.125 -20 -13.3 -11 --12.3522616552 -21 -13.3 -0 -LINE -5 -442 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -7.05 -20 --0.2 -11 --12.3522616552 -21 --0.2 -0 -ENDBLK -5 -17C -330 -17A -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -17E -330 -17D -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D98 -70 -1 -10 -0 -20 -0 -3 -*D98 -1 - -0 -LINE -5 -443 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.125 -20 --7.8656865539 -11 -22.3180555556 -21 --7.8656865539 -0 -SOLID -5 -444 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -25.125 -20 --7.8656865539 -30 -0 -11 -24.825 -21 --7.91564071283 -31 -0 -12 -24.825 -22 --7.81573239497 -32 -0 -13 -24.825 -23 --7.81573239497 -33 -0 -0 -SOLID -5 -445 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -15.95 -20 --7.8656865539 -30 -0 -11 -16.25 -21 --7.81573239497 -31 -0 -12 -16.25 -22 --7.91564071283 -32 -0 -13 -16.25 -23 --7.91564071283 -33 -0 -0 -LINE -5 -446 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -18.7569444444 -20 --7.8656865539 -11 -15.95 -21 --7.8656865539 -0 -MTEXT -5 -447 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -20.5375 -20 --7.8656865539 -30 -0 -40 -0.8 -41 -2.31111111111 -71 -5 -72 -1 -1 -9.175 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -448 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -25.125 -20 -11.3 -11 -25.125 -21 --8.1656865539 -0 -LINE -5 -449 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -15.95 -20 --7.125 -11 -15.95 -21 --8.1656865539 -0 -ENDBLK -5 -17F -330 -17D -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -181 -330 -180 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D50 -70 -1 -10 -0 -20 -0 -3 -*D50 -1 - -0 -LINE -5 -44A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.5000002591 -20 -45.4281607231 -11 -76.3027780099 -21 -45.4281607231 -0 -SOLID -5 -44B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -78.5000002591 -20 -45.4281607231 -30 -0 -11 -78.2000002591 -21 -45.3782065642 -31 -0 -12 -78.2000002591 -22 -45.478114882 -32 -0 -13 -78.2000002591 -23 -45.478114882 -33 -0 -0 -SOLID -5 -44C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.500000205 -20 -45.4281607231 -30 -0 -11 -72.800000205 -21 -45.478114882 -31 -0 -12 -72.800000205 -22 -45.3782065642 -32 -0 -13 -72.800000205 -23 -45.3782065642 -33 -0 -0 -LINE -5 -44D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -74.6972224543 -20 -45.4281607231 -11 -72.500000205 -21 -45.4281607231 -0 -MTEXT -5 -44E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -75.5000002321 -20 -46.4531607231 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -44F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.5000002591 -20 -36.9999997275 -11 -78.5000002591 -21 -45.7281607231 -0 -LINE -5 -450 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.500000205 -20 -30.5 -11 -72.500000205 -21 -45.7281607231 -0 -ENDBLK -5 -182 -330 -180 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -184 -330 -183 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D52 -70 -1 -10 -0 -20 -0 -3 -*D52 -1 - -0 -LINE -5 -451 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -50.0719282636 -20 -73.4462495497 -11 -50.0719282636 -21 -82.4462495497 -0 -SOLID -5 -452 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -73.4462495497 -30 -0 -11 -50.0219741047 -21 -73.7462495497 -31 -0 -12 -50.1218824225 -22 -73.7462495497 -32 -0 -13 -50.1218824225 -23 -73.7462495497 -33 -0 -0 -SOLID -5 -453 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -50.0719282636 -20 -82.4462495497 -30 -0 -11 -50.1218824225 -21 -82.1462495497 -31 -0 -12 -50.0219741047 -22 -82.1462495497 -32 -0 -13 -50.0219741047 -23 -82.1462495497 -33 -0 -0 -MTEXT -5 -454 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -49.0469282636 -20 -77.9462495497 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -9 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -455 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -20 -20 -73.4462495497 -11 -50.3719282636 -21 -73.4462495497 -0 -LINE -5 -456 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -47.5000005039 -20 -82.4462495497 -11 -50.3719282636 -21 -82.4462495497 -0 -ENDBLK -5 -185 -330 -183 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -187 -330 -186 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D66 -70 -1 -10 -0 -20 -0 -3 -*D66 -1 - -0 -LINE -5 -457 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -123.466712767 -20 --60.9097634776 -11 -124.4750461 -21 --60.9097634776 -0 -SOLID -5 -458 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -123.466712767 -20 --60.9097634776 -30 -0 -11 -123.766712767 -21 --60.8598093187 -31 -0 -12 -123.766712767 -22 --60.9597176365 -32 -0 -13 -123.766712767 -23 --60.9597176365 -33 -0 -0 -SOLID -5 -459 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -128.066712767 -20 --60.9097634776 -30 -0 -11 -127.766712767 -21 --60.9597176365 -31 -0 -12 -127.766712767 -22 --60.8598093187 -32 -0 -13 -127.766712767 -23 --60.8598093187 -33 -0 -0 -LINE -5 -45A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -127.058379434 -20 --60.9097634776 -11 -128.066712767 -21 --60.9097634776 -0 -MTEXT -5 -45B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -125.766712767 -20 --60.9097634776 -30 -0 -40 -0.8 -41 -1.33333333333 -71 -5 -72 -1 -1 -4.6 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -45C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -123.466712767 -20 --61.877784531 -11 -123.466712767 -21 --60.6097634776 -0 -LINE -5 -45D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -128.066712767 -20 --84.377784531 -11 -128.066712767 -21 --60.6097634776 -0 -ENDBLK -5 -188 -330 -186 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -18A -330 -189 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D19 -70 -1 -10 -0 -20 -0 -3 -*D19 -1 - -0 -LINE -5 -45E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -31 -11 -23 -21 -31.9749999376 -0 -SOLID -5 -45F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -31 -30 -0 -11 -22.9500458411 -21 -31.3 -31 -0 -12 -23.0499541589 -22 -31.3 -32 -0 -13 -23.0499541589 -23 -31.3 -33 -0 -0 -SOLID -5 -460 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -23 -20 -34.9999998752 -30 -0 -11 -23.0499541589 -21 -34.6999998752 -31 -0 -12 -22.9500458411 -22 -34.6999998752 -32 -0 -13 -22.9500458411 -23 -34.6999998752 -33 -0 -0 -LINE -5 -461 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -34.0249999376 -11 -23 -21 -34.9999998752 -0 -MTEXT -5 -462 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -23 -20 -32.9999999376 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -463 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -23 -20 -31 -11 -23.3 -21 -31 -0 -LINE -5 -464 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -27.000000259 -20 -34.9999998752 -11 -23.3 -21 -34.9999998752 -0 -ENDBLK -5 -18B -330 -189 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -18D -330 -18C -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D18 -70 -1 -10 -0 -20 -0 -3 -*D18 -1 - -0 -LINE -5 -465 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -13.3775 -20 -2 -11 -10.75 -21 -2 -0 -SOLID -5 -466 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -13.3775 -20 -2 -30 -0 -11 -13.0775 -21 -1.95004584107 -31 -0 -12 -13.0775 -22 -2.04995415893 -32 -0 -13 -13.0775 -23 -2.04995415893 -33 -0 -0 -SOLID -5 -467 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -10.75 -20 -2 -30 -0 -11 -11.05 -21 -2.04995415893 -31 -0 -12 -11.05 -22 -1.95004584107 -32 -0 -13 -11.05 -23 -1.95004584107 -33 -0 -0 -MTEXT -5 -468 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -15.5580555556 -20 -2 -30 -0 -40 -0.8 -41 -3.11111111111 -71 -5 -72 -1 -1 -2.6275 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -469 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -13.3775 -20 -4.18625 -11 -13.3775 -21 -1.7 -0 -LINE -5 -46A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -10.75 -20 -7.25 -11 -10.75 -21 -1.7 -0 -ENDBLK -5 -18E -330 -18C -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -190 -330 -18F -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D40 -70 -1 -10 -0 -20 -0 -3 -*D40 -1 - -0 -LINE -5 -46B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --76.8175675676 -11 --26.2473817511 -21 --77.7925675676 -0 -SOLID -5 -46C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --76.8175675676 -30 -0 -11 --26.1974275922 -21 --77.1175675676 -31 -0 -12 --26.29733591 -22 --77.1175675676 -32 -0 -13 --26.29733591 -23 --77.1175675676 -33 -0 -0 -SOLID -5 -46D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --26.2473817511 -20 --80.8175675676 -30 -0 -11 --26.29733591 -21 --80.5175675676 -31 -0 -12 --26.1974275922 -22 --80.5175675676 -32 -0 -13 --26.1974275922 -23 --80.5175675676 -33 -0 -0 -LINE -5 -46E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --26.2473817511 -20 --79.8425675676 -11 --26.2473817511 -21 --80.8175675676 -0 -MTEXT -5 -46F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --26.2473817511 -20 --78.8175675676 -30 -0 -40 -0.8 -41 -0.444444444444 -71 -5 -72 -1 -1 -4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -470 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --22.4594594595 -20 --76.8175675676 -11 --26.5473817511 -21 --76.8175675676 -0 -LINE -5 -471 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --21.204022106 -20 --80.8175675676 -11 --26.5473817511 -21 --80.8175675676 -0 -ENDBLK -5 -191 -330 -18F -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -193 -330 -192 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D75 -70 -1 -10 -0 -20 -0 -3 -*D75 -1 - -0 -LINE -5 -472 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --67.377784531 -11 -72.9667127669 -21 --80.852784531 -0 -SOLID -5 -473 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.9667127669 -20 --67.377784531 -30 -0 -11 -73.0166669258 -21 --67.677784531 -31 -0 -12 -72.916758608 -22 --67.677784531 -32 -0 -13 -72.916758608 -23 --67.677784531 -33 -0 -0 -SOLID -5 -474 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -72.9667127669 -20 --96.377784531 -30 -0 -11 -72.916758608 -21 --96.077784531 -31 -0 -12 -73.0166669258 -22 --96.077784531 -32 -0 -13 -73.0166669258 -23 --96.077784531 -33 -0 -0 -LINE -5 -475 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -72.9667127669 -20 --82.902784531 -11 -72.9667127669 -21 --96.377784531 -0 -MTEXT -5 -476 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -72.9667127669 -20 --81.877784531 -30 -0 -40 -0.8 -41 -0.977777777778 -71 -5 -72 -1 -1 -29 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -477 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -75.9667127669 -20 --67.377784531 -11 -72.6667127669 -21 --67.377784531 -0 -LINE -5 -478 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -70.9667127669 -20 --96.377784531 -11 -72.6667127669 -21 --96.377784531 -0 -ENDBLK -5 -194 -330 -192 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -196 -330 -195 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D37 -70 -1 -10 -0 -20 -0 -3 -*D37 -1 - -0 -LINE -5 -479 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --20.4594594595 -20 --54.2894562715 -11 --17.7622372373 -21 --54.2894562715 -0 -SOLID -5 -47A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --20.4594594595 -20 --54.2894562715 -30 -0 -11 --20.1594594595 -21 --54.2395021126 -31 -0 -12 --20.1594594595 -22 --54.3394104304 -32 -0 -13 --20.1594594595 -23 --54.3394104304 -33 -0 -0 -SOLID -5 -47B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --13.4594594595 -20 --54.2894562715 -30 -0 -11 --13.7594594595 -21 --54.3394104304 -31 -0 -12 --13.7594594595 -22 --54.2395021126 -32 -0 -13 --13.7594594595 -23 --54.2395021126 -33 -0 -0 -LINE -5 -47C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --16.1566816817 -20 --54.2894562715 -11 --13.4594594595 -21 --54.2894562715 -0 -MTEXT -5 -47D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --16.9594594595 -20 --54.2894562715 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -47E -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --20.4594594595 -20 --66.8175675676 -11 --20.4594594595 -21 --53.9894562715 -0 -LINE -5 -47F -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --13.4594594595 -20 --66.8175675676 -11 --13.4594594595 -21 --53.9894562715 -0 -ENDBLK -5 -197 -330 -195 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -199 -330 -198 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D36 -70 -1 -10 -0 -20 -0 -3 -*D36 -1 - -0 -LINE -5 -480 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -87.5000003098 -20 -45.4281607231 -11 -83.8027780622 -21 -45.4281607231 -0 -SOLID -5 -481 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -87.5000003098 -20 -45.4281607231 -30 -0 -11 -87.2000003098 -21 -45.3782065642 -31 -0 -12 -87.2000003098 -22 -45.478114882 -32 -0 -13 -87.2000003098 -23 -45.478114882 -33 -0 -0 -SOLID -5 -482 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -78.5000002591 -20 -45.4281607231 -30 -0 -11 -78.8000002591 -21 -45.478114882 -31 -0 -12 -78.8000002591 -22 -45.3782065642 -32 -0 -13 -78.8000002591 -23 -45.3782065642 -33 -0 -0 -LINE -5 -483 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.1972225066 -20 -45.4281607231 -11 -78.5000002591 -21 -45.4281607231 -0 -MTEXT -5 -484 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -83.0000002844 -20 -45.4281607231 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -9 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -485 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -87.5000003098 -20 -43.0999995051 -11 -87.5000003098 -21 -45.7281607231 -0 -LINE -5 -486 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -78.5000002591 -20 -36.9999997275 -11 -78.5000002591 -21 -45.7281607231 -0 -ENDBLK -5 -19A -330 -198 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -19C -330 -19B -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D43 -70 -1 -10 -0 -20 -0 -3 -*D43 -1 - -0 -LINE -5 -487 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -41.1 -11 --2.30277777778 -21 -41.1 -0 -SOLID -5 -488 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --5 -20 -41.1 -30 -0 -11 --4.7 -21 -41.1499541589 -31 -0 -12 --4.7 -22 -41.0500458411 -32 -0 -13 --4.7 -23 -41.0500458411 -33 -0 -0 -SOLID -5 -489 -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -2 -20 -41.1 -30 -0 -11 -1.7 -21 -41.0500458411 -31 -0 -12 -1.7 -22 -41.1499541589 -32 -0 -13 -1.7 -23 -41.1499541589 -33 -0 -0 -LINE -5 -48A -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --0.697222222222 -20 -41.1 -11 -2 -21 -41.1 -0 -MTEXT -5 -48B -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --1.5 -20 -42.125 -30 -0 -40 -0.8 -41 -0.355555555556 -71 -5 -72 -1 -1 -7 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -48C -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --5 -20 -43.1 -11 --5 -21 -41.4 -0 -LINE -5 -48D -100 -AcDbEntity -8 -cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -2 -20 -36.9999999652 -11 -2 -21 -41.4 -0 -ENDBLK -5 -19D -330 -19B -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -19F -330 -19E -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D42 -70 -1 -10 -0 -20 -0 -3 -*D42 -1 - -0 -LINE -5 -48E -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -97.5000003098 -20 -22.5 -11 -91.0250002765 -21 -22.5 -0 -SOLID -5 -48F -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -97.5000003098 -20 -22.5 -30 -0 -11 -97.2000003098 -21 -22.4500458411 -31 -0 -12 -97.2000003098 -22 -22.5499541589 -32 -0 -13 -97.2000003098 -23 -22.5499541589 -33 -0 -0 -SOLID -5 -490 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -82.5000002431 -20 -22.5 -30 -0 -11 -82.8000002431 -21 -22.5499541589 -31 -0 -12 -82.8000002431 -22 -22.4500458411 -32 -0 -13 -82.8000002431 -23 -22.4500458411 -33 -0 -0 -LINE -5 -491 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -88.9750002765 -20 -22.5 -11 -82.5000002431 -21 -22.5 -0 -MTEXT -5 -492 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -90.0000002765 -20 -22.5 -30 -0 -40 -0.8 -41 -0.8 -71 -5 -72 -1 -1 -15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -493 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -97.5000003098 -20 -39.0999994219 -11 -97.5000003098 -21 -22.2 -0 -LINE -5 -494 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -82.5000002431 -20 -23.06375 -11 -82.5000002431 -21 -22.2 -0 -ENDBLK -5 -1A0 -330 -19E -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1A2 -330 -1A1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D89 -70 -1 -10 -0 -20 -0 -3 -*D89 -1 - -0 -LINE -5 -495 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -37.9999999563 -11 --12.0522616552 -21 -32.5874999782 -0 -SOLID -5 -496 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -37.9999999563 -30 -0 -11 --12.0023074963 -21 -37.6999999563 -31 -0 -12 --12.1022158141 -22 -37.6999999563 -32 -0 -13 --12.1022158141 -23 -37.6999999563 -33 -0 -0 -SOLID -5 -497 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 --12.0522616552 -20 -25.125 -30 -0 -11 --12.1022158141 -21 -25.425 -31 -0 -12 --12.0023074963 -22 -25.425 -32 -0 -13 --12.0023074963 -23 -25.425 -33 -0 -0 -LINE -5 -498 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --12.0522616552 -20 -30.5374999782 -11 --12.0522616552 -21 -25.125 -0 -MTEXT -5 -499 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 --12.0522616552 -20 -31.5624999782 -30 -0 -40 -0.8 -41 -2.93333333333 -71 -5 -72 -1 -1 -12.875 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -49A -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -3.50000002498 -20 -37.9999999563 -11 --12.3522616552 -21 -37.9999999563 -0 -LINE -5 -49B -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 --7.125 -20 -25.125 -11 --12.3522616552 -21 -25.125 -0 -ENDBLK -5 -1A3 -330 -1A1 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1A5 -330 -1A4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -*D106 -70 -1 -10 -0 -20 -0 -3 -*D106 -1 - -0 -LINE -5 -49C -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -115.125 -20 -63.7501208602 -11 -117.068055616 -21 -63.7501208602 -0 -SOLID -5 -49D -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -115.125 -20 -63.7501208602 -30 -0 -11 -115.425 -21 -63.8000750191 -31 -0 -12 -115.425 -22 -63.7001667013 -32 -0 -13 -115.425 -23 -63.7001667013 -33 -0 -0 -SOLID -5 -49E -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbTrace -10 -122.750000121 -20 -63.7501208602 -30 -0 -11 -122.450000121 -21 -63.7001667013 -31 -0 -12 -122.450000121 -22 -63.8000750191 -32 -0 -13 -122.450000121 -23 -63.8000750191 -33 -0 -0 -LINE -5 -49F -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -120.806944504 -20 -63.7501208602 -11 -122.750000121 -21 -63.7501208602 -0 -MTEXT -5 -4A0 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbMText -10 -118.93750006 -20 -63.7501208602 -30 -0 -40 -0.8 -41 -2.48888888889 -71 -5 -72 -1 -1 -7.625 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -1 -0 -LINE -5 -4A1 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -115.125 -20 -27.125 -11 -115.125 -21 -64.0501208602 -0 -LINE -5 -4A2 -100 -AcDbEntity -8 -foot-cotes -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -122.750000121 -20 -62.9999999688 -11 -122.750000121 -21 -64.0501208602 -0 -ENDBLK -5 -1A6 -330 -1A4 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1A8 -330 -1A7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -a3 -70 -0 -10 -0 -20 -0 -3 -a3 -1 - -0 -LINE -5 -4A3 -100 -AcDbEntity -8 -default -6 -DASHDOT -62 -7 -370 -0 -100 -AcDbLine -10 -280.271142 -20 -57.242876 -11 -300.271142 -21 -57.242876 -0 -CIRCLE -5 -4A4 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbCircle -10 -295.471142 -20 -57.242876 -40 -2.8 -0 -CIRCLE -5 -4A5 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbCircle -10 -295.471142 -20 -57.242876 -40 -1.6 -0 -LINE -5 -4A6 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -282.671142 -20 -58.842876 -11 -282.671142 -21 -55.642876 -0 -LINE -5 -4A7 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -282.671142 -20 -55.642876 -11 -289.071142 -21 -54.442876 -0 -LINE -5 -4A8 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -289.071142 -20 -60.042876 -11 -289.071142 -21 -54.442876 -0 -LINE -5 -4A9 -100 -AcDbEntity -8 -default -6 -CONTINUOUS -62 -7 -370 -0 -100 -AcDbLine -10 -282.671142 -20 -58.842876 -11 -289.071142 -21 -60.042876 -0 -LINE -5 -4AA -100 -AcDbEntity -8 -default -6 -DASHDOT -62 -7 -370 -0 -100 -AcDbLine -10 -295.471142 -20 -52.442876 -11 -295.471142 -21 -62.042876 -0 -ENDBLK -5 -1A9 -330 -1A7 -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1AB -330 -1AA -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -a3-0 -70 -0 -10 -0 -20 -0 -3 -a3-0 -1 - -0 -LINE -5 -4AB -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -280.271142 -20 -57.242876 -11 -300.271142 -21 -57.242876 -0 -CIRCLE -5 -4AC -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -295.471142 -20 -57.242876 -40 -2.8 -0 -CIRCLE -5 -4AD -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -295.471142 -20 -57.242876 -40 -1.6 -0 -LINE -5 -4AE -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -282.671142 -20 -58.842876 -11 -282.671142 -21 -55.642876 -0 -LINE -5 -4AF -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -282.671142 -20 -55.642876 -11 -289.071142 -21 -54.442876 -0 -LINE -5 -4B0 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -289.071142 -20 -60.042876 -11 -289.071142 -21 -54.442876 -0 -LINE -5 -4B1 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -282.671142 -20 -58.842876 -11 -289.071142 -21 -60.042876 -0 -LINE -5 -4B2 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -295.471142 -20 -52.442876 -11 -295.471142 -21 -62.042876 -0 -ENDBLK -5 -1AC -330 -1AA -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -BLOCK -5 -1AE -330 -1AD -100 -AcDbEntity -8 -0 -100 -AcDbBlockBegin -2 -foot-cotes -70 -0 -10 -0 -20 -0 -3 -foot-cotes -1 - -0 -ENDBLK -5 -1AF -330 -1AD -100 -AcDbEntity -8 -0 -100 -AcDbBlockEnd -0 -ENDSEC -0 -SECTION -2 -ENTITIES -0 -HATCH -5 -4B3 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B4 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B5 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B6 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B7 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -HATCH -5 -4B8 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbHatch -10 -0 -20 -0 -30 -0 -210 -0 -220 -0 -230 -1 -2 -SOLID -70 -1 -71 -0 -91 -1 -92 -0 -93 -8 -72 -1 -10 -20 -20 -20 -11 -0 -21 -20 -72 -1 -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -72 -1 -10 --3e-16 -20 -18.5 -11 -9.25 -21 -18.5 -72 -1 -10 -9.25 -20 -18.5 -11 -9.25 -21 -1e-16 -72 -1 -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -72 -1 -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -72 -1 -10 -10.75 -20 -18.5 -11 -20 -21 -18.5 -72 -1 -10 -20 -20 -18.5 -11 -20 -21 -20 -97 -0 -75 -0 -76 -1 -98 -0 -0 -LINE -5 -4B9 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -20 -11 -0 -21 -20 -0 -LINE -5 -4BA -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.25 -20 -1e-16 -11 -9.25 -21 -18.5 -0 -LINE -5 -4BB -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.75 -20 --2e-16 -11 -10.75 -21 -18.5 -0 -LINE -5 -4BC -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.25 -20 -18.5 -11 --3e-16 -21 -18.5 -0 -LINE -5 -4BD -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -18.5 -11 -10.75 -21 -18.5 -0 -LINE -5 -4BE -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.25 -20 -1e-16 -11 -10.75 -21 --2e-16 -0 -LINE -5 -4BF -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -0 -20 -20 -11 --3e-16 -21 -18.5 -0 -LINE -5 -4C0 -100 -AcDbEntity -8 -profil T -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -18.5 -11 -20 -21 -20 -0 -LINE -5 -4C1 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --3e-16 -20 -18.3725 -11 --2.1e-15 -21 -8.3725 -0 -LINE -5 -4C2 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -18.3725 -11 -4 -21 -8.3725 -0 -LINE -5 -4C3 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --3e-16 -20 -18.3725 -11 -4 -21 -18.3725 -0 -LINE -5 -4C4 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --2.1e-15 -20 -8.3725 -11 -4 -21 -8.3725 -0 -LINE -5 -4C5 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --9e-16 -20 -14.8725 -11 -4 -21 -14.8725 -0 -LINE -5 -4C6 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.5e-15 -20 -11.8725 -11 -4 -21 -11.8725 -0 -LINE -5 -4C7 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.1225 -20 -1e-16 -11 --0.8775 -21 -1.3e-15 -0 -LINE -5 -4C8 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.1225 -20 -4 -11 --0.8775 -21 -4 -0 -LINE -5 -4C9 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --0.8775 -20 -4 -11 --0.8775 -21 -1.3e-15 -0 -LINE -5 -4CA -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.1225 -20 -4 -11 -9.1225 -21 -1e-16 -0 -LINE -5 -4CB -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.6225 -20 -4 -11 -5.6225 -21 -5e-16 -0 -LINE -5 -4CC -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.6225 -20 -4 -11 -2.6225 -21 -9e-16 -0 -LINE -5 -4CD -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -15.8725 -11 -4 -21 -14.8725 -0 -LINE -5 -4CE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -14.8725 -11 -4 -21 -11.8725 -0 -LINE -5 -4CF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -11.8725 -11 -5 -21 -10.8725 -0 -LINE -5 -4D0 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -15.8725 -11 --9e-16 -21 -14.8725 -0 -LINE -5 -4D1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --9e-16 -20 -14.8725 -11 --1.5e-15 -21 -11.8725 -0 -LINE -5 -4D2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.5e-15 -20 -11.8725 -11 --1 -21 -10.8725 -0 -LINE -5 -4D3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.6225 -20 -5 -11 -2.6225 -21 -4 -0 -LINE -5 -4D4 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.6225 -20 -4 -11 -5.6225 -21 -4 -0 -LINE -5 -4D5 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.6225 -20 -4 -11 -6.6225 -21 -5 -0 -LINE -5 -4D6 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.6225 -20 --1 -11 -2.6225 -21 -9e-16 -0 -LINE -5 -4D7 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.6225 -20 -9e-16 -11 -5.6225 -21 -5e-16 -0 -LINE -5 -4D8 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.6225 -20 -5e-16 -11 -6.6225 -21 --1 -0 -LINE -5 -4D9 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -10.8725 -11 --1 -21 -7.3725 -0 -LINE -5 -4DA -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -5 -11 -6.6225 -21 -7.3725 -0 -LINE -5 -4DB -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.6225 -20 --1 -11 --1.8775 -21 --1 -0 -LINE -5 -4DC -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.8775 -20 -5 -11 --1.8775 -21 --1 -0 -LINE -5 -4DD -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.6225 -20 -5 -11 --1.8775 -21 -5 -0 -LINE -5 -4DE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 --1 -11 -10 -21 --1 -0 -LINE -5 -4DF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -7.3725 -11 -6.6225 -21 -15.8725 -0 -LINE -5 -4E0 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -15.8725 -11 -5 -21 -15.8725 -0 -LINE -5 -4E1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -7.3725 -11 -5 -21 -7.3725 -0 -LINE -5 -4E2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -10.8725 -11 -5 -21 -8.3725 -0 -LINE -5 -4E3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -8.3725 -11 -5 -21 -7.3725 -0 -LINE -5 -4E4 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -18.3725 -11 -20 -21 -8.3725 -0 -LINE -5 -4E5 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -18.3725 -11 -16 -21 -8.3725 -0 -LINE -5 -4E6 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -18.3725 -11 -16 -21 -18.3725 -0 -LINE -5 -4E7 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -8.3725 -11 -16 -21 -8.3725 -0 -LINE -5 -4E8 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -14.8725 -11 -16 -21 -14.8725 -0 -LINE -5 -4E9 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -11.8725 -11 -16 -21 -11.8725 -0 -LINE -5 -4EA -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.8775 -20 --1e-16 -11 -20.8775 -21 --1.3e-15 -0 -LINE -5 -4EB -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.8775 -20 -4 -11 -20.8775 -21 -4 -0 -LINE -5 -4EC -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.8775 -20 -4 -11 -20.8775 -21 --1.3e-15 -0 -LINE -5 -4ED -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.8775 -20 -4 -11 -10.8775 -21 --1e-16 -0 -LINE -5 -4EE -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.3775 -20 -4 -11 -14.3775 -21 --5e-16 -0 -LINE -5 -4EF -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.3775 -20 -4 -11 -17.3775 -21 --9e-16 -0 -LINE -5 -4F0 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -15.8725 -11 -16 -21 -14.8725 -0 -LINE -5 -4F1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -14.8725 -11 -16 -21 -11.8725 -0 -LINE -5 -4F2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -11.8725 -11 -15 -21 -10.8725 -0 -LINE -5 -4F3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -15.8725 -11 -20 -21 -14.8725 -0 -LINE -5 -4F4 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -14.8725 -11 -20 -21 -11.8725 -0 -LINE -5 -4F5 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20 -20 -11.8725 -11 -21 -21 -10.8725 -0 -LINE -5 -4F6 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.3775 -20 -5 -11 -17.3775 -21 -4 -0 -LINE -5 -4F7 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.3775 -20 -4 -11 -14.3775 -21 -4 -0 -LINE -5 -4F8 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.3775 -20 -4 -11 -13.3775 -21 -5 -0 -LINE -5 -4F9 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.3775 -20 --1 -11 -17.3775 -21 --9e-16 -0 -LINE -5 -4FA -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.3775 -20 --9e-16 -11 -14.3775 -21 --5e-16 -0 -LINE -5 -4FB -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.3775 -20 --5e-16 -11 -13.3775 -21 --1 -0 -LINE -5 -4FC -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -10.8725 -11 -21 -21 -7.3725 -0 -LINE -5 -4FD -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -5 -11 -13.3775 -21 -7.3725 -0 -LINE -5 -4FE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.3775 -20 --1 -11 -21.8775 -21 --1 -0 -LINE -5 -4FF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21.8775 -20 -5 -11 -21.8775 -21 --1 -0 -LINE -5 -500 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.3775 -20 -5 -11 -21.8775 -21 -5 -0 -LINE -5 -501 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 --1 -11 -10 -21 --1 -0 -LINE -5 -502 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -7.3725 -11 -13.3775 -21 -15.8725 -0 -LINE -5 -503 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -15.8725 -11 -15 -21 -15.8725 -0 -LINE -5 -504 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -7.3725 -11 -15 -21 -7.3725 -0 -LINE -5 -505 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -10.8725 -11 -15 -21 -8.3725 -0 -LINE -5 -506 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -8.3725 -11 -15 -21 -7.3725 -0 -LINE -5 -507 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -31 -11 --1 -21 -7.3725 -0 -LINE -5 -508 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -7.3725 -11 -5 -21 -7.3725 -0 -LINE -5 -509 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -7.3725 -11 -5 -21 -15.8725 -0 -LINE -5 -50A -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5 -20 -15.8725 -11 -6.6225 -21 -15.8725 -0 -LINE -5 -50B -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -15.8725 -11 -6.6225 -21 -5 -0 -LINE -5 -50C -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.6225 -20 -5 -11 --1.8775 -21 -5 -0 -LINE -5 -50D -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.8775 -20 -5 -11 --1.8775 -21 --1 -0 -LINE -5 -50E -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1.8775 -20 --1 -11 -21.8775 -21 --1 -0 -LINE -5 -50F -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21.8775 -20 --1 -11 -21.8775 -21 -5 -0 -LINE -5 -510 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21.8775 -20 -5 -11 -13.3775 -21 -5 -0 -LINE -5 -511 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -5 -11 -13.3775 -21 -15.8725 -0 -LINE -5 -512 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.3775 -20 -15.8725 -11 -15 -21 -15.8725 -0 -LINE -5 -513 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -15.8725 -11 -15 -21 -7.3725 -0 -LINE -5 -514 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15 -20 -7.3725 -11 -21 -21 -7.3725 -0 -LINE -5 -515 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -7.3725 -11 -21 -21 -31 -0 -LINE -5 -516 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -29.8857142857 -11 --15 -21 -27.1 -0 -ARC -5 -517 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --15 -20 -37.6 -40 -10.5 -100 -AcDbArc -50 -225.842525666 -51 -270 -0 -LINE -5 -518 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -35 -11 --5 -21 -41.1 -0 -ARC -5 -519 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --15 -20 -37.6 -40 -7.5 -100 -AcDbArc -50 -180 -51 -360 -0 -LINE -5 -51A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -41.1 -11 --22.5 -21 -41.1 -0 -LINE -5 -51B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -41.1 -11 --5 -21 -41.1 -0 -LINE -5 -51C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -37.6 -11 --7.5 -21 -41.1 -0 -LINE -5 -51D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --22.5 -20 -37.6 -11 --22.5 -21 -41.1 -0 -LINE -5 -51E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -37.6 -11 --25.5 -21 -41.1 -0 -ARC -5 -51F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -50.5668863981 -100 -AcDbArc -50 -177.052720582 -51 -252.744286114 -0 -LINE -5 -520 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -29.8857142857 -11 --15 -21 -27.1 -0 -ARC -5 -521 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --15 -20 -37.6 -40 -10.5 -100 -AcDbArc -50 -225.842525666 -51 -270 -0 -LINE -5 -522 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -35 -11 --5 -21 -41.1 -0 -LINE -5 -523 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -35 -11 -25 -21 -41.1 -0 -ARC -5 -524 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -35 -20 -37.6 -40 -7.5 -100 -AcDbArc -50 -180 -51 -0 -0 -ARC -5 -525 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --15 -20 -37.6 -40 -7.5 -100 -AcDbArc -50 -180 -51 -360 -0 -LINE -5 -526 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -41.1 -11 --22.5 -21 -41.1 -0 -LINE -5 -527 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -41.1 -11 --5 -21 -41.1 -0 -LINE -5 -528 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -41.1 -11 -27.5 -21 -41.1 -0 -LINE -5 -529 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -42.5 -20 -41.1 -11 -45.5 -21 -41.1 -0 -LINE -5 -52A -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -42.5 -20 -37.5999993257 -11 -42.5 -21 -41.1 -0 -LINE -5 -52B -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -27.5 -20 -37.5999995232 -11 -27.5 -21 -41.1 -0 -LINE -5 -52C -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -37.6 -11 --7.5 -21 -41.1 -0 -LINE -5 -52D -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --22.5 -20 -37.6 -11 --22.5 -21 -41.1 -0 -LINE -5 -52E -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.5 -20 -37.5999993257 -11 -45.5 -21 -41.1 -0 -LINE -5 -52F -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -37.6 -11 --25.5 -21 -41.1 -0 -ARC -5 -530 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --5 -20 -35 -40 -50.5668863557 -100 -AcDbArc -50 -287.255713731 -51 -2.94727848313 -0 -ARC -5 -531 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -50.5668863981 -100 -AcDbArc -50 -177.052720582 -51 -252.744286114 -0 -ARC -5 -532 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -35 -20 -37.6 -40 -10.5 -100 -AcDbArc -50 -270 -51 -314.15747402 -0 -LINE -5 -533 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -29.8857142857 -11 -29.5712800061 -21 -28.612286284 -0 -LINE -5 -534 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -29.5712800061 -20 -28.612286284 -11 -35 -21 -27.1 -0 -ARC -5 -535 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -47.571104675 -100 -AcDbArc -50 -237.229623142 -51 -251.620020171 -0 -ARC -5 -536 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -47.571104675 -100 -AcDbArc -50 -185.952114443 -51 -230.903018345 -0 -LINE -5 -537 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.7489804943 -20 --5 -11 --0.748980562345 -21 --5 -0 -ARC -5 -538 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --5 -20 -35 -40 -47.5711046381 -100 -AcDbArc -50 -288.379979696 -51 -302.770376789 -0 -ARC -5 -539 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --5 -20 -35 -40 -47.5711046381 -100 -AcDbArc -50 -309.096981692 -51 -354.047885503 -0 -LINE -5 -53A -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -29.8857142857 -11 -25 -21 --1.91896526845 -0 -LINE -5 -53B -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -29.8857142857 -11 --5 -21 --1.91896531595 -0 -ARC -5 -53C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -35.0000002806 -20 -37.5999997921 -40 -10.5 -100 -AcDbArc -50 -269.999999523 -51 -314.157473857 -0 -LINE -5 -53D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.000000259 -20 -34.9999998752 -11 -25.0000003098 -21 -41.0999998752 -0 -ARC -5 -53E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -35.0000002806 -20 -37.5999997921 -40 -7.5 -100 -AcDbArc -50 -179.999999523 -51 -359.999999523 -0 -LINE -5 -53F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.5000003098 -20 -41.0999997047 -11 -42.5000003098 -21 -41.0999997297 -0 -LINE -5 -540 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -27.5000003098 -20 -41.0999998544 -11 -25.0000003098 -21 -41.0999998752 -0 -LINE -5 -541 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -27.5000002806 -20 -37.5999998544 -11 -27.5000003098 -21 -41.0999998544 -0 -LINE -5 -542 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -42.5000002806 -20 -37.5999997297 -11 -42.5000003098 -21 -41.0999997297 -0 -LINE -5 -543 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.5000002806 -20 -37.5999997047 -11 -45.5000003098 -21 -41.0999997047 -0 -ARC -5 -544 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -50.5668863981 -100 -AcDbArc -50 -287.255713409 -51 -2.94727894145 -0 -LINE -5 -545 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --0.748980562341 -20 --5 -11 -20.7489806275 -21 --5 -0 -LINE -5 -546 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -29.8857142857 -11 --5 -21 --1.91896531594 -0 -ARC -5 -547 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -47.571104675 -100 -AcDbArc -50 -237.229623142 -51 -251.620020171 -0 -ARC -5 -548 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -47.571104675 -100 -AcDbArc -50 -185.952114443 -51 -230.903018345 -0 -ARC -5 -549 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -47.571104675 -100 -AcDbArc -50 -288.379979352 -51 -302.77037658 -0 -ARC -5 -54A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -47.571104675 -100 -AcDbArc -50 -309.096981254 -51 -354.04788508 -0 -LINE -5 -54B -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 --6.45945945946 -20 --68.8175675676 -11 --6.45945945946 -21 --76.8175675676 -0 -LINE -5 -54C -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 --20.4594594595 -20 --68.8175675676 -11 --20.4594594595 -21 --76.8175675676 -0 -ARC -5 -54D -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --76.8175675676 -40 -7 -100 -AcDbArc -50 -180 -51 -214.849904579 -0 -ARC -5 -54E -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --68.8175675676 -40 -7 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -54F -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --76.8175675676 -40 -7 -100 -AcDbArc -50 -325.150095421 -51 -0 -0 -LINE -5 -550 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 --19.204022106 -20 --80.8175675676 -11 --7.71489681292 -21 --80.8175675676 -0 -CIRCLE -5 -551 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --68.8175675676 -40 -1.8 -0 -LINE -5 -552 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.5405405405 -20 --68.8175675676 -11 -18.5405405405 -21 --76.8175675676 -0 -LINE -5 -553 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -32.5405405405 -20 --68.8175675676 -11 -32.5405405405 -21 --76.8175675676 -0 -LINE -5 -554 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 -32.5405405405 -20 --68.8175675676 -11 -32.5405405405 -21 --76.8175675676 -0 -LINE -5 -555 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 -18.5405405405 -20 --68.8175675676 -11 -18.5405405405 -21 --76.8175675676 -0 -ARC -5 -556 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 -25.5405405405 -20 --76.8175675676 -40 -7 -100 -AcDbArc -50 -180 -51 -214.849904579 -0 -ARC -5 -557 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 -25.5405405405 -20 --68.8175675676 -40 -7 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -558 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbCircle -10 -25.5405405405 -20 --76.8175675676 -40 -7 -100 -AcDbArc -50 -325.150095421 -51 -0 -0 -LINE -5 -559 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbLine -10 -19.795977894 -20 --80.8175675676 -11 -31.2851031871 -21 --80.8175675676 -0 -CIRCLE -5 -55A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25.5405405405 -20 --76.8175675676 -40 -1.8 -0 -CIRCLE -5 -55B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --112.817567568 -40 -5.74456264654 -0 -CIRCLE -5 -55C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --13.4594594595 -20 --112.817567568 -40 -7 -0 -LINE -5 -55D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -113.466712767 -20 --63.877784531 -11 -123.466712767 -21 --63.877784531 -0 -LINE -5 -55E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -113.466712767 -20 --77.6037676937 -11 -123.466712767 -21 --77.6037676937 -0 -CIRCLE -5 -55F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -118.466712767 -20 --67.127784531 -40 -1.5 -0 -LINE -5 -560 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -88.4667127669 -20 --63.877784531 -11 -88.4667127669 -21 --67.377784531 -0 -LINE -5 -561 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -85.4667127669 -20 --63.877784531 -11 -85.4667127669 -21 --67.377784531 -0 -LINE -5 -562 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -70.4667127669 -20 --63.877784531 -11 -70.4667127669 -21 --67.377784531 -0 -LINE -5 -563 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --63.877784531 -11 -67.4667127669 -21 --67.377784531 -0 -LINE -5 -564 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --63.877784531 -11 -70.4667127669 -21 --63.877784531 -0 -LINE -5 -565 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -85.4667127669 -20 --63.877784531 -11 -88.4667127669 -21 --63.877784531 -0 -ARC -5 -566 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -77.9667127669 -20 --67.377784531 -40 -7.5 -100 -AcDbArc -50 -180 -51 -0 -0 -ARC -5 -567 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -77.9667127669 -20 --67.377784531 -40 -10.5 -100 -AcDbArc -50 -180 -51 -241.563109851 -0 -ARC -5 -568 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -77.9667127669 -20 --67.377784531 -40 -10.5 -100 -AcDbArc -50 -298.436890149 -51 -0 -0 -LINE -5 -569 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -88.4667127669 -20 --111.377784531 -11 -88.4667127669 -21 --121.377784531 -0 -LINE -5 -56A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --111.377784531 -11 -67.4667127669 -21 --121.377784531 -0 -LINE -5 -56B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --111.377784531 -11 -88.4667127669 -21 --111.377784531 -0 -LINE -5 -56C -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.1250001461 -20 -25.125 -11 --5.125 -21 -25.125 -0 -LINE -5 -56D -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --5.125 -11 -15.875 -21 --5.125 -0 -LINE -5 -56E -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 --5.125 -21 -13.375 -0 -LINE -5 -56F -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.375 -11 -4.125 -21 --5.125 -0 -LINE -5 -570 -100 -AcDbEntity -8 -Top-fix -6 -DOT -62 -256 -370 --1 -100 -AcDbLine -10 -20.125 -20 -18.375 -11 -20.125 -21 -20.125 -0 -LINE -5 -571 -100 -AcDbEntity -8 -Top-fix -6 -DOT -62 -256 -370 --1 -100 -AcDbLine -10 --0.125 -20 -20.125 -11 --0.125 -21 -18.375 -0 -LINE -5 -572 -100 -AcDbEntity -8 -Top-fix -6 -DOT -62 -256 -370 --1 -100 -AcDbLine -10 -9.125 -20 --0.125 -11 -10.875 -21 --0.125 -0 -CIRCLE -5 -573 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -1.26869176962 -20 -7.29582039325 -40 -2 -0 -CIRCLE -5 -574 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -18.7313082304 -20 -7.29582039325 -40 -2 -0 -LINE -5 -575 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10 -20 -20 -11 -10 -21 -20.1275 -0 -LINE -5 -576 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -30 -11 -12 -21 -30 -0 -LINE -5 -577 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -20.1275 -11 -12 -21 -20.1275 -0 -LINE -5 -578 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -23.5 -11 -12 -21 -23.5 -0 -LINE -5 -579 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -23.5 -11 -13 -21 -22.5 -0 -LINE -5 -57A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -23.5 -11 -7 -21 -22.5 -0 -LINE -5 -57B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -13 -21 -31 -0 -LINE -5 -57C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -31 -11 -21 -21 -15.8725 -0 -LINE -5 -57D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -29.8857142857 -11 -35.0000001933 -21 -27.0999997921 -0 -LINE -5 -57E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25 -20 -29.8857142857 -11 -25 -21 --1.91896540166 -0 -LINE -5 -57F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -31 -11 --1 -21 -15.8725 -0 -LINE -5 -580 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -35 -11 -25.000000259 -21 -34.9999998752 -0 -LINE -5 -581 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -25.5 -11 -8 -21 -20.1275 -0 -LINE -5 -582 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -20.1275 -11 -12 -21 -25.5 -0 -LINE -5 -583 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -28.5 -11 -12 -21 -30 -0 -LINE -5 -584 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -30 -11 -8 -21 -28.5 -0 -LINE -5 -585 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -87.4999998574 -20 --13.2908893876 -11 -87.5000003098 -21 -41.0999995051 -0 -LINE -5 -586 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -97.4999998574 -20 --13.2908894707 -11 -97.5000003098 -21 -41.0999994219 -0 -LINE -5 -587 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -87.5000003098 -20 --13.2908893876 -11 -97.4999998574 -21 --13.2908894707 -0 -LINE -5 -588 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -87.5000003098 -20 -41.0999995051 -11 -97.5000003098 -21 -41.0999994219 -0 -CIRCLE -5 -589 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -92.5000003098 -20 -37.5999997047 -40 -1.5 -0 -ELLIPSE -5 -58A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbEllipse -10 -92.5000001944 -20 -13.3725 -30 -0 -11 --4 -21 -0 -31 -0 -40 -0.920129294467 -41 -0 -42 -6.28318530718 -0 -ELLIPSE -5 -58B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbEllipse -10 -92.5000001003 -20 --11.0264554944 -30 -0 -11 --4.00000000737 -21 -0 -31 -0 -40 -0.442808951933 -41 -0 -42 -6.28318530718 -0 -LINE -5 -58C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -78.5000001551 -20 -22.5 -11 -78.5000002591 -21 -34.9999997275 -0 -LINE -5 -58D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -106.500000155 -20 -22.5 -11 -106.500000259 -21 -34.999999611 -0 -LINE -5 -58E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -78.5000002591 -20 -34.9999997275 -11 -87.5000002575 -21 -34.9999997275 -0 -LINE -5 -58F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -106.500000259 -20 -34.999999611 -11 -97.500000265 -21 -34.999999611 -0 -LINE -5 -590 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -78.5000001551 -20 -22.5 -11 -87.5000001489 -21 -22.5 -0 -LINE -5 -591 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -106.500000155 -20 -22.5 -11 -97.5000001527 -21 -22.5 -0 -CIRCLE -5 -592 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -82.5000002431 -20 -25.06375 -40 -1.5 -0 -CIRCLE -5 -593 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -102.500000241 -20 -25.0637498916 -40 -1.5 -0 -ARC -5 -594 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -82.5000002431 -20 -25.06375 -40 -5 -100 -AcDbArc -50 -174.994578806 -51 -329.152819905 -0 -ARC -5 -595 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -102.500000241 -20 -25.0637498916 -40 -5 -100 -AcDbArc -50 -210.847179474 -51 -5.00542100834 -0 -LINE -5 -596 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --25.5 -20 -92.4462495497 -11 --25.5 -21 -82.4462495497 -0 -LINE -5 -597 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.5000005039 -20 -92.4462495497 -11 -45.5000005039 -21 -82.4462495497 -0 -LINE -5 -598 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --22.5 -20 -82.4462495497 -11 --22.5 -21 -92.4462495497 -0 -LINE -5 -599 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --7.5 -20 -82.4462495497 -11 --7.5 -21 -92.4462495497 -0 -LINE -5 -59A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.0000003098 -20 -82.4462495497 -11 -25.0000003098 -21 -92.4462495497 -0 -LINE -5 -59B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -27.5000003098 -20 -82.4462495497 -11 -27.5000003098 -21 -92.4462495497 -0 -LINE -5 -59C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -42.5000003098 -20 -82.4462495497 -11 -42.5000003098 -21 -92.4462495497 -0 -LINE -5 -59D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -82.4462495497 -11 --5 -21 -92.4462495497 -0 -MTEXT -5 -59E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --38.2269559862 -20 -118.861733635 -30 -0 -40 -5 -41 -79.166673321 -71 -1 -72 -5 -1 -Système de glissement: -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.84934656 -0 -LINE -5 -59F -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -72.4462495497 -11 -12 -21 -72.4462495497 -0 -LINE -5 -5A0 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -72.4462495497 -11 -8 -21 -73.4462495497 -0 -LINE -5 -5A1 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -72.4462495497 -11 -12 -21 -73.4462495497 -0 -LINE -5 -5A2 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -102.44624955 -11 -12 -21 -102.44624955 -0 -LINE -5 -5A3 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -102.44624955 -11 -8 -21 -101.44624955 -0 -LINE -5 -5A4 -100 -AcDbEntity -8 -Roulements -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -102.44624955 -11 -12 -21 -101.44624955 -0 -LINE -5 -5A5 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5 -20 -35 -11 -25 -21 -35 -0 -LINE -5 -5A6 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -13 -21 -31 -0 -LINE -5 -5A7 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -31 -11 --1 -21 -31 -0 -LINE -5 -5A8 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -22.5 -11 -4 -21 -31 -0 -LINE -5 -5A9 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -21 -20 -31 -11 -16 -21 -31 -0 -LINE -5 -5AA -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -31 -11 -16 -21 -22.5 -0 -POINT -5 -5AB -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.110203869 -20 -43.9593482668 -0 -POINT -5 -5AC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.110203869 -20 -46.1646667417 -0 -POINT -5 -5AD -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.110203869 -20 -47.5613684425 -0 -POINT -5 -5AE -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.1837144848 -20 -49.3256232224 -0 -DIMENSION -5 -5AF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D1 -10 -35.0000002806 -20 -43.9593482668 -30 -0 -11 -10.0000001403 -21 -43.9593482668 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --15 -23 -37.6 -33 -0 -14 -35.0000002806 -24 -37.5999997921 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B0 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D2 -10 --22.5 -20 -46.1646667417 -30 -0 -11 --24 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --25.5 -23 -41.1 -33 -0 -14 --22.5 -24 -41.1 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B1 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D3 -10 --7.5 -20 -46.1646667417 -30 -0 -11 --15 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --22.5 -23 -41.1 -33 -0 -14 --7.5 -24 -41.1 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B2 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D4 -10 --5 -20 -46.1646667417 -30 -0 -11 --6.25 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --7.5 -23 -41.1 -33 -0 -14 --5 -24 -41.1 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B3 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D5 -10 -25.0000003098 -20 -46.1646667417 -30 -0 -11 -10.0000001549 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5 -23 -41.1 -33 -0 -14 -25.0000003098 -24 -41.0999998752 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B4 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D6 -10 -27.5000003098 -20 -46.1646667417 -30 -0 -11 -26.2500003098 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -25.0000003098 -23 -41.0999998752 -33 -0 -14 -27.5000003098 -24 -41.0999998544 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B5 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D7 -10 -42.5000003098 -20 -46.1646667417 -30 -0 -11 -35.0000003098 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -27.5000003098 -23 -41.0999998544 -33 -0 -14 -42.5000003098 -24 -41.0999997297 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B6 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D8 -10 -45.5000003098 -20 -46.1646667417 -30 -0 -11 -44.0000003098 -21 -46.1646667417 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -42.5000003098 -23 -41.0999997297 -33 -0 -14 -45.5000003098 -24 -41.0999997047 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B7 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D9 -10 -45.5000003098 -20 -49.3256232224 -30 -0 -11 -10.0000001549 -21 -49.3256232224 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --25.5 -23 -41.1 -33 -0 -14 -45.5000003098 -24 -41.0999997047 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B8 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D10 -10 --29.110203869 -20 --13.2908893876 -30 -0 -11 --29.110203869 -21 -13.9045553062 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --25.5 -23 -41.1 -33 -0 -14 -9.99999992888 -24 --13.2908893876 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5B9 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D11 -10 --1 -20 -35 -30 -0 -11 --1 -21 -38.05 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5 -23 -41.1 -33 -0 -14 --5 -24 -35 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BA -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D12 -10 -25.0000003098 -20 -38.0499998752 -30 -0 -11 -26.2500003098 -21 -38.0499998752 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -27.5000003098 -23 -41.0999998544 -33 -0 -14 -25.0000003098 -24 -41.0999998752 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BB -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D13 -10 --7.5 -20 -38.05 -30 -0 -11 --6.25 -21 -38.05 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5 -23 -41.1 -33 -0 -14 --7.5 -24 -41.1 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D14 -10 -4 -20 -13.3725 -30 -0 -11 -2 -21 -13.3725 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --1.2e-15 -23 -13.3725 -33 -0 -14 -4 -24 -13.3725 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BD -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D15 -10 -20 -20 -13.3725 -30 -0 -11 -18 -21 -13.3725 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -16 -23 -13.3725 -33 -0 -14 -20 -24 -13.3725 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BE -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D16 -10 -21 -20 -9.6225 -30 -0 -11 -18 -21 -9.6225 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -15 -23 -9.6225 -33 -0 -14 -21 -24 -10.8725 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5BF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D17 -10 -13.3775 -20 -6.18625 -30 -0 -11 -14.18875 -21 -6.18625 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -15 -23 -9.6225 -33 -0 -14 -13.3775 -24 -11.6225 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C0 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D18 -10 -10.75 -20 -2 -30 -0 -11 -12.06375 -21 -2 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -13.3775 -23 -6.18625 -33 -0 -14 -10.75 -24 -9.25 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C1 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D19 -10 -23 -20 -34.9999998752 -30 -0 -11 -23 -21 -32.9999999376 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -31 -33 -0 -14 -25.000000259 -24 -34.9999998752 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C2 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D20 -10 -23 -20 -15.8725 -30 -0 -11 -23 -21 -23.43625 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -31 -33 -0 -14 -21 -24 -15.8725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C3 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D21 -10 -23 -20 -14.8725 -30 -0 -11 -23 -21 -15.3725 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -15.8725 -33 -0 -14 -20 -24 -14.8725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C4 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D22 -10 -23 -20 -11.8725 -30 -0 -11 -23 -21 -13.3725 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -20 -23 -14.8725 -33 -0 -14 -20 -24 -11.8725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C5 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D23 -10 -23 -20 -10.8725 -30 -0 -11 -23 -21 -11.3725 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -20 -23 -11.8725 -33 -0 -14 -21 -24 -10.8725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C6 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D24 -10 -23 -20 -7.3725 -30 -0 -11 -23 -21 -9.1225 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -10.8725 -33 -0 -14 -21 -24 -7.3725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C7 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D25 -10 -23 -20 -5 -30 -0 -11 -23 -21 -6.18625 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21 -23 -7.3725 -33 -0 -14 -21.8775 -24 -5 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5C8 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D26 -10 -23 -20 --1 -30 -0 -11 -23 -21 -2 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -21.8775 -23 -5 -33 -0 -14 -21.8775 -24 --1 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -POINT -5 -5C9 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --29.7245989916 -20 -61.1317224545 -0 -POINT -5 -5CA -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -50.0719282636 -20 -61.1990234333 -0 -POINT -5 -5CB -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -55.592403222 -20 -61.1056994093 -0 -POINT -5 -5CC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -121.702603419 -20 -45.4281607231 -0 -DIMENSION -5 -5CD -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D27 -10 -121.702603419 -20 -37.5999997047 -30 -0 -11 -121.702603419 -21 -39.3499995633 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -92.5000003098 -24 -37.5999997047 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5CE -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D28 -10 -121.702603419 -20 -25.0637498916 -30 -0 -11 -121.702603419 -21 -31.3318747981 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -92.5000003098 -23 -37.5999997047 -33 -0 -14 -102.500000241 -24 -25.0637498916 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5CF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D29 -10 -121.702603419 -20 -13.3725 -30 -0 -11 -121.702603419 -21 -19.2181249458 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -102.500000241 -23 -25.0637498916 -33 -0 -14 -92.5000001944 -24 -13.3725 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D0 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D30 -10 -121.702603419 -20 --11.0264554944 -30 -0 -11 -121.702603419 -21 -1.1730222528 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -92.5000001944 -23 -13.3725 -33 -0 -14 -92.5000001003 -24 --11.0264554944 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D1 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D31 -10 -121.702603419 -20 --13.2908894707 -30 -0 -11 -121.702603419 -21 --12.1586724825 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -92.5000001003 -23 --11.0264554944 -33 -0 -14 -97.4999998574 -24 --13.2908894707 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -POINT -5 -5D2 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -127.380113994 -20 -45.5995538825 -0 -DIMENSION -5 -5D3 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D32 -10 -127.380113994 -20 -34.999999611 -30 -0 -11 -127.380113994 -21 -38.0499995165 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -106.500000259 -24 -34.999999611 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D4 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D33 -10 -127.380113994 -20 --13.2908894707 -30 -0 -11 -127.380113994 -21 -4.60455526465 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -106.500000155 -23 -22.5 -33 -0 -14 -97.4999998574 -24 --13.2908894707 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -POINT -5 -5D5 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -132.54882917 -20 -45.5995538825 -0 -DIMENSION -5 -5D6 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D34 -10 -132.54882917 -20 --13.2908894707 -30 -0 -11 -132.54882917 -21 -13.9045549756 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -97.4999998574 -24 --13.2908894707 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D7 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D35 -10 -87.5000003098 -20 -45.4281607231 -30 -0 -11 -92.5000003098 -21 -45.4281607231 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -87.5000003098 -24 -41.0999995051 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5D8 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D36 -10 -78.5000002591 -20 -45.4281607231 -30 -0 -11 -83.0000002844 -21 -45.4281607231 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -87.5000003098 -23 -41.0999995051 -33 -0 -14 -78.5000002591 -24 -34.9999997275 -34 -0 -100 -AcDbRotatedDimension -0 -POINT -5 -5D9 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --26.2473817511 -20 --54.2894562715 -0 -POINT -5 -5DA -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --32.5288064437 -20 --48.4567047713 -0 -DIMENSION -5 -5DB -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D37 -10 --13.4594594595 -20 --54.2894562715 -30 -0 -11 --16.9594594595 -21 --54.2894562715 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --20.4594594595 -23 --68.8175675676 -33 -0 -14 --13.4594594595 -24 --68.8175675676 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5DC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D38 -10 --26.2473817511 -20 --76.8175675676 -30 -0 -11 --26.2473817511 -21 --72.8175675676 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --20.4594594595 -23 --68.8175675676 -33 -0 -14 --20.4594594595 -24 --76.8175675676 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5DD -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D39 -10 --26.2473817511 -20 --61.8175675676 -30 -0 -11 --26.2473817511 -21 --65.3175675676 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --13.4594594595 -23 --68.8175675676 -33 -0 -14 --13.4594594595 -24 --61.8175675676 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5DE -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D40 -10 --26.2473817511 -20 --80.8175675676 -30 -0 -11 --26.2473817511 -21 --78.8175675676 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --20.4594594595 -23 --76.8175675676 -33 -0 -14 --19.204022106 -24 --80.8175675676 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -5DF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D41 -10 --20.4594594595 -20 --48.4567047713 -30 -0 -11 --13.4594594595 -21 --48.4567047713 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --6.45945945946 -23 --68.8175675676 -33 -0 -14 --20.4594594595 -24 --68.8175675676 -34 -0 -100 -AcDbRotatedDimension -0 -MTEXT -5 -5E0 -100 -AcDbEntity -8 -Glissement -6 -CONTINUOUS -62 -256 -370 --1 -100 -AcDbMText -10 --29.4441782464 -20 --42.0631117806 -30 -0 -40 -5 -41 -21.6666666667 -71 -1 -72 -5 -1 -Rotule: -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.84934656 -0 -MTEXT -5 -5E1 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -195.028471374 -20 --4.1951629069 -30 -0 -40 -4 -41 -38.5555555556 -71 -1 -72 -5 -1 -Reprap Jeanne -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E2 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -195.095934904 -20 --9.4910499659 -30 -0 -40 -1.5 -41 -36.8750021476 -71 -1 -72 -5 -1 -Système de glissement\Pet de fixation des biellettes\Ple long des trois axes (profil en T) -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E3 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -194.820683704 -20 --17.2250689769 -30 -0 -40 -1.5 -41 -41.2916674381 -71 -1 -72 -5 -1 -@Gnieark https://blog-du-grouik.tinad.fr\P@trankilloman\PHackerspace @jeannedhack -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E4 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -194.069224316 -20 -6.2827665051 -30 -0 -40 -1.5 -41 -14.1672381247 -71 -1 -72 -5 -1 -scale 1:1 A4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E5 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -227.53745961 -20 -6.5462959171 -30 -0 -40 -1.5 -41 -9.58333333333 -71 -1 -72 -5 -1 -env 100 g -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E6 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -194.069224316 -20 -1.8027665051 -30 -0 -40 -1.5 -41 -18.7083333333 -71 -1 -72 -5 -1 -Impression en PLA\P2.5 mm par couche -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E7 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -131.931289528 -20 --24.9802877289 -30 -0 -40 -1 -41 -3.33333333333 -71 -1 -72 -5 -1 -Indice\P -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E8 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -137.050314198 -20 --25.0616325539 -30 -0 -40 -1 -41 -7.1111116254 -71 -1 -72 -5 -1 -Description -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5E9 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -131.761173492 -20 --22.1472080829 -30 -0 -40 -1.5 -41 -1 -71 -1 -72 -5 -1 -A -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EA -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -136.726489257 -20 --22.1472080829 -30 -0 -40 -1.5 -41 -14.9583341048 -71 -1 -72 -5 -1 -Version initiale -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EB -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -153.025677963 -20 --22.1472080829 -30 -0 -40 -1.5 -41 -7 -71 -1 -72 -5 -1 -Gnieark -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EC -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -161.768951375 -20 --22.4440476129 -30 -0 -40 -0.5 -41 -2.72222222222 -71 -1 -72 -5 -1 -20/01/15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5ED -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -131.680217257 -20 --19.2057982009 -30 -0 -40 -1.5 -41 -0.833333333333 -71 -1 -72 -5 -1 -B -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EE -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -136.537591375 -20 --18.8010170249 -30 -0 -40 -1 -41 -9.41666718095 -71 -1 -72 -5 -1 -Encoches pour \Pcourroies GT2 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5EF -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -152.863765492 -20 --19.3407252599 -30 -0 -40 -1.5 -41 -7 -71 -1 -72 -5 -1 -Gnieark -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F0 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -161.634024316 -20 --19.8804334949 -30 -0 -40 -0.5 -41 -2.72222222222 -71 -1 -72 -5 -1 -25/01/15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F1 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -161.661009727 -20 --24.8457492599 -30 -0 -40 -1 -41 -2.66666666667 -71 -1 -72 -5 -1 -date -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F2 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -153.13361961 -20 --25.0616325539 -30 -0 -40 -1 -41 -4.33333333333 -71 -1 -72 -5 -1 -Auteur -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F3 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -241.578306669 -20 --17.5192099659 -30 -0 -40 -1.5 -41 -4.16666666667 -71 -1 -72 -5 -1 -page \P1/1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F4 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -101.627482353 -20 -26.6797176468 -30 -0 -40 -4 -41 -38.5555555556 -71 -1 -72 -5 -1 -Reprap Jeanne -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F5 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -101.694945882 -20 -21.3838305878 -30 -0 -40 -1.5 -41 -36.8750021476 -71 -1 -72 -5 -1 -Système de glissement\Pet de fixation des biellettes\Ple long des trois axes (profil en T) -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F6 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -101.419694682 -20 -13.6498115768 -30 -0 -40 -1.5 -41 -41.2916674381 -71 -1 -72 -5 -1 -@Gnieark https://blog-du-grouik.tinad.fr\P@trankilloman\PHackerspace @jeannedhack -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F7 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -100.668235294 -20 -37.1576470588 -30 -0 -40 -1.5 -41 -14.1672381247 -71 -1 -72 -5 -1 -scale 1:1 A4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F8 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -134.136470588 -20 -37.4211764708 -30 -0 -40 -1.5 -41 -9.58333333333 -71 -1 -72 -5 -1 -env 100 g -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5F9 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -100.668235294 -20 -32.6776470588 -30 -0 -40 -1.5 -41 -18.7083333333 -71 -1 -72 -5 -1 -Impression en PLA\P2.5 mm par couche -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FA -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -38.5303005063 -20 -5.8945928248 -30 -0 -40 -1 -41 -3.33333333333 -71 -1 -72 -5 -1 -Indice\P -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FB -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -43.6493251764 -20 -5.8132479998 -30 -0 -40 -1 -41 -7.1111116254 -71 -1 -72 -5 -1 -Description -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FC -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -38.3601844705 -20 -8.7276724708 -30 -0 -40 -1.5 -41 -1 -71 -1 -72 -5 -1 -A -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FD -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -43.3255002352 -20 -8.7276724708 -30 -0 -40 -1.5 -41 -14.9583341048 -71 -1 -72 -5 -1 -Version initiale -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FE -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -59.6246889411 -20 -8.7276724708 -30 -0 -40 -1.5 -41 -7 -71 -1 -72 -5 -1 -Gnieark -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -5FF -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -68.3679623529 -20 -8.4308329408 -30 -0 -40 -0.5 -41 -2.72222222222 -71 -1 -72 -5 -1 -20/01/15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -600 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -38.2792282352 -20 -11.6690823528 -30 -0 -40 -1.5 -41 -0.833333333333 -71 -1 -72 -5 -1 -B -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -601 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -43.1366023528 -20 -12.0738635288 -30 -0 -40 -1 -41 -9.41666718095 -71 -1 -72 -5 -1 -Encoches pour \Pcourroies GT2 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -602 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -59.4627764705 -20 -11.5341552938 -30 -0 -40 -1.5 -41 -7 -71 -1 -72 -5 -1 -Gnieark -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -603 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -68.233035294 -20 -10.9944470588 -30 -0 -40 -0.5 -41 -2.72222222222 -71 -1 -72 -5 -1 -25/01/15 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -604 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -68.2600207058 -20 -6.0291312938 -30 -0 -40 -1 -41 -2.66666666667 -71 -1 -72 -5 -1 -date -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -605 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -59.7326305881 -20 -5.8132479998 -30 -0 -40 -1 -41 -4.33333333333 -71 -1 -72 -5 -1 -Auteur -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -606 -100 -AcDbEntity -8 -default -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -148.177317647 -20 -13.3556705878 -30 -0 -40 -1.5 -41 -4.16666666667 -71 -1 -72 -5 -1 -page \P1/1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -LINE -5 -607 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -7 -21 -22.5 -0 -LINE -5 -608 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -31 -11 -13 -21 -22.5 -0 -LINE -5 -609 -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -22.5 -11 -7 -21 -22.5 -0 -LINE -5 -60A -100 -AcDbEntity -8 -profil-pour-3d -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -22.5 -11 -16 -21 -22.5 -0 -DIMENSION -5 -60B -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D42 -10 -82.5000002431 -20 -22.5 -30 -0 -11 -90.0000002765 -21 -22.5 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -97.5000003098 -23 -41.0999994219 -33 -0 -14 -82.5000002431 -24 -25.06375 -34 -0 -100 -AcDbRotatedDimension -0 -LINE -5 -60C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -22.5 -11 -2 -21 -34.9999999652 -0 -LINE -5 -60D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -22.5 -11 -18 -21 -34.9999999147 -0 -LINE -5 -60E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -31 -11 -21 -21 -31 -0 -LINE -5 -60F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -22.5 -11 -18 -21 -22.5 -0 -LINE -5 -610 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -22.5 -11 -7 -21 -22.5 -0 -LINE -5 -611 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --1 -20 -31 -11 -2 -21 -31 -0 -LINE -5 -612 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -34.9999999652 -11 -18 -21 -34.9999999147 -0 -LINE -5 -613 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -34.9999999147 -11 -18 -21 -22.5 -0 -LINE -5 -614 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -22.5 -11 -13 -21 -22.5 -0 -LINE -5 -615 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -22.5 -11 -13 -21 -31 -0 -LINE -5 -616 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -31 -11 -7 -21 -31 -0 -LINE -5 -617 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -31 -11 -7 -21 -22.5 -0 -LINE -5 -618 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -22.5 -11 -2 -21 -22.5 -0 -LINE -5 -619 -100 -AcDbEntity -8 -profil-pour-3d-2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -22.5 -11 -2 -21 -34.9999999652 -0 -LINE -5 -61A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -82.4462495497 -11 --25.5 -21 -82.4462495497 -0 -LINE -5 -61B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -92.4462495497 -11 --25.5 -21 -92.4462495497 -0 -LINE -5 -61C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -107.44624955 -11 -18 -21 -107.44624955 -0 -LINE -5 -61D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -67.4462495497 -11 -18 -21 -67.4462495497 -0 -LINE -5 -61E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -92.4462495497 -11 -45.5000005039 -21 -92.4462495497 -0 -LINE -5 -61F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -82.4462495497 -11 -45.5000005039 -21 -82.4462495497 -0 -LINE -5 -620 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -107.44624955 -11 -2 -21 -92.4462495497 -0 -LINE -5 -621 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -82.4462495497 -11 -2 -21 -67.4462495497 -0 -LINE -5 -622 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -107.44624955 -11 -18 -21 -92.4462495497 -0 -LINE -5 -623 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18 -20 -82.4462495497 -11 -18 -21 -67.4462495497 -0 -LINE -5 -624 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -104.44624955 -11 -16 -21 -104.44624955 -0 -LINE -5 -625 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -70.4462495497 -11 -16 -21 -70.4462495497 -0 -DIMENSION -5 -626 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D43 -10 -2 -20 -41.1 -30 -0 -11 --1.5 -21 -42.125 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5 -23 -41.1 -33 -0 -14 -2 -24 -34.9999999652 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -627 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D44 -10 -18 -20 -41.1 -30 -0 -11 -10 -21 -42.125 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2 -23 -34.9999999652 -33 -0 -14 -18 -24 -34.9999999147 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -628 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D45 -10 -25.0000003098 -20 -41.1 -30 -0 -11 -21.5000001549 -21 -42.125 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -34.9999999147 -33 -0 -14 -25.0000003098 -24 -41.0999998752 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -629 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D46 -10 -19.5 -20 -31 -30 -0 -11 -18.475 -21 -32.9999999573 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -34.9999999147 -33 -0 -14 -18 -24 -31 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -62A -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D47 -10 -19.5 -20 -25.5 -30 -0 -11 -18.475 -21 -27 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -28.5 -33 -0 -14 -18 -24 -25.5 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -62B -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D48 -10 -19.5 -20 -22.5 -30 -0 -11 -18.475 -21 -24 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -25.5 -33 -0 -14 -18 -24 -22.5 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -62C -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D49 -10 -19.5 -20 -31 -30 -0 -11 -18.475 -21 -29.75 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -28.5 -33 -0 -14 -18 -24 -31 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -62D -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D50 -10 -72.500000205 -20 -45.4281607231 -30 -0 -11 -75.5000002321 -21 -46.4531607231 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -78.5000002591 -23 -34.9999997275 -33 -0 -14 -72.500000205 -24 -28.5 -34 -0 -100 -AcDbRotatedDimension -0 -LINE -5 -62E -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --42.0675501767 -20 -124.120098541 -11 -144.112597635 -21 -124.120098541 -0 -LINE -5 -62F -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -144.112597635 -20 -124.120098541 -11 -144.112597635 -21 --127.035671326 -0 -LINE -5 -630 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -144.112597635 -20 --127.035671326 -11 --42.0675501767 -21 --127.035671326 -0 -LINE -5 -631 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --42.0675501767 -20 --127.035671326 -11 --42.0675501767 -21 -124.120098541 -0 -LINE -5 -632 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --40.4015085855 -20 --22.4915614806 -11 -142.446556044 -21 --22.4915614806 -0 -LINE -5 -633 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -142.446556044 -20 --22.4915614806 -11 -142.446556044 -21 -121.621036154 -0 -LINE -5 -634 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -142.446556044 -20 -121.621036154 -11 --40.4015085855 -21 -121.621036154 -0 -LINE -5 -635 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --40.4015085855 -20 -121.621036154 -11 --40.4015085855 -21 --22.4915614806 -0 -LINE -5 -636 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --40.4328301674 -20 --24.7373855455 -11 -43.2129537706 -21 --24.7373855455 -0 -LINE -5 -637 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -43.2129537706 -20 --24.7373855455 -11 -43.2129537706 -21 --123.911843342 -0 -LINE -5 -638 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -43.2129537706 -20 --123.911843342 -11 --40.4328301674 -21 --123.911843342 -0 -LINE -5 -639 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --40.4328301674 -20 --123.911843342 -11 --40.4328301674 -21 --24.7373855455 -0 -LINE -5 -63A -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.3163312794 -20 --24.7906988764 -11 -142.524651743 -21 --24.7906988764 -0 -LINE -5 -63B -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -142.524651743 -20 --24.7906988764 -11 -142.524651743 -21 --123.651524344 -0 -LINE -5 -63C -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -142.524651743 -20 --123.651524344 -11 -45.3163312794 -21 --123.651524344 -0 -LINE -5 -63D -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -45.3163312794 -20 --123.651524344 -11 -45.3163312794 -21 --24.7906988764 -0 -DIMENSION -5 -63E -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D51 -10 -50.0719282636 -20 -73.4462495497 -30 -0 -11 -49.0469282636 -21 -71.9462495497 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -16 -23 -70.4462495497 -33 -0 -14 -16 -24 -73.4462495497 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -63F -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D52 -10 -50.0719282636 -20 -82.4462495497 -30 -0 -11 -49.0469282636 -21 -77.9462495497 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -73.4462495497 -33 -0 -14 -45.5000005039 -24 -82.4462495497 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -640 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D53 -10 -50.0719282636 -20 -92.4462495497 -30 -0 -11 -49.0469282636 -21 -87.4462495497 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -45.5000005039 -23 -82.4462495497 -33 -0 -14 -45.5000005039 -24 -92.4462495497 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -641 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D54 -10 -50.0719282636 -20 -67.4462495497 -30 -0 -11 -49.0469282636 -21 -68.9462495497 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -18 -23 -70.4462495497 -33 -0 -14 -18 -24 -67.4462495497 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -LINE -5 -642 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -64.7756970641 -20 -120.221561218 -11 -141.28032693 -21 -120.221561218 -0 -LINE -5 -643 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -141.28032693 -20 -120.221561218 -11 -141.28032693 -21 -47.9819978253 -0 -LINE -5 -644 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -141.28032693 -20 -47.9819978253 -11 -64.7756970641 -21 -47.9819978253 -0 -LINE -5 -645 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -64.7756970641 -20 -47.9819978253 -11 -64.7756970641 -21 -120.221561218 -0 -MTEXT -5 -646 -100 -AcDbEntity -8 -cadre-glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -67.1747969554 -20 -118.62216129 -30 -0 -40 -3 -41 -57.7500046286 -71 -1 -72 -5 -1 -Reprap Jeanne\P\PPièce servant de glissement \Ple long des axes \P"profil T carré 20X20"\P\PBy Gnieark & tranKilloman -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -LINE -5 -647 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -31 -11 -13 -21 -27.5 -0 -LINE -5 -648 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -27.5 -11 -7 -21 -31 -0 -LINE -5 -649 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -7 -20 -27.5 -11 -8 -21 -26.5 -0 -LINE -5 -64A -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13 -20 -27.5 -11 -12 -21 -26.5 -0 -LINE -5 -64B -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -8 -20 -26.5 -11 -8 -21 -23.5 -0 -LINE -5 -64C -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -12 -20 -26.5 -11 -12 -21 -23.5 -0 -LINE -5 -64D -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2 -20 -31.9999999709 -11 -18 -21 -31.9999999043 -0 -LINE -5 -64E -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -73.4462495497 -11 -16 -21 -70.4462495497 -0 -LINE -5 -64F -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -73.4462495497 -11 -16 -21 -73.4462495497 -0 -LINE -5 -650 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -73.4462495497 -11 -4 -21 -70.4462495497 -0 -LINE -5 -651 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -16 -20 -104.44624955 -11 -16 -21 -101.44624955 -0 -LINE -5 -652 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -101.44624955 -11 -16 -21 -101.44624955 -0 -LINE -5 -653 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4 -20 -104.44624955 -11 -4 -21 -101.44624955 -0 -LINE -5 -654 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -112.500000259 -20 -34.9999995612 -11 -106.500000364 -21 -34.9999996111 -0 -LINE -5 -655 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -112.500000234 -20 -31.9999995612 -11 -112.500000259 -21 -34.9999995612 -0 -LINE -5 -656 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -112.500000234 -20 -31.9999995612 -11 -106.500000364 -21 -31.9999996111 -0 -LINE -5 -657 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.5000002591 -20 -34.9999997275 -11 -78.5000002591 -21 -34.9999997275 -0 -LINE -5 -658 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.5000002342 -20 -31.9999997275 -11 -78.5000002341 -21 -31.9999997275 -0 -LINE -5 -659 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.5000002342 -20 -31.9999997275 -11 -72.5000002591 -21 -34.9999997275 -0 -LINE -5 -65A -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.25000000002 -20 -31.9999999376 -11 -13.75 -21 -31.9999999376 -0 -LINE -5 -65B -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.25000000002 -20 -45.7199999304 -11 -13.75 -21 -45.7199998992 -0 -LINE -5 -65C -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.75 -20 -30.1099999376 -11 -13.75 -21 -47.6099998992 -0 -LINE -5 -65D -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.25000000002 -20 -30.1099999376 -11 -5.25000000002 -21 -47.6099999345 -0 -LINE -5 -65E -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.25000000002 -20 -30.1099999376 -11 -6.25000000002 -21 -47.6099999304 -0 -LINE -5 -65F -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.25000000002 -20 -47.6099999345 -11 -6.25000000002 -21 -47.6099999304 -0 -LINE -5 -660 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.25000000002 -20 -30.1099999376 -11 -6.25000000002 -21 -30.1099999376 -0 -MTEXT -5 -661 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -12.2033073817 -20 -40.1964520258 -30 -0 -40 -1 -41 -3.66666666667 -71 -1 -72 -5 -1 -Poulie\PGT2 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -LINE -5 -662 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.25 -20 -60.0099999008 -11 -67.25 -21 -60.0099999008 -0 -LINE -5 -663 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.25 -20 -17.7099999008 -11 -23.25 -21 -60.0099999008 -0 -LINE -5 -664 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.25 -20 -17.7099999008 -11 -67.25 -21 -60.0099999008 -0 -LINE -5 -665 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.25 -20 -17.7099999008 -11 -67.25 -21 -17.7099999008 -0 -LINE -5 -666 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -3.25000000002 -20 -36.3599999008 -11 -3.25000000002 -21 -41.3599999008 -0 -MTEXT -5 -667 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -41.0547874398 -20 -38.8599999008 -30 -0 -40 -1 -41 -10.0555555556 -71 -1 -72 -5 -1 -Motor NEMA 17 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -LINE -5 -668 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -3.25000000002 -20 -41.3599999008 -11 -5.25000000002 -21 -41.3599999008 -0 -LINE -5 -669 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -3.25000000002 -20 -36.3599999008 -11 -5.25000000002 -21 -36.3599999008 -0 -LINE -5 -66A -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.75 -20 -47.6099998992 -11 -18.125 -21 -47.609999881 -0 -LINE -5 -66B -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.75 -20 -30.1099999376 -11 -18.125 -21 -30.1099999376 -0 -LINE -5 -66C -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -22.25 -20 -30.1099999376 -11 -22.25 -21 -47.6099998639 -0 -LINE -5 -66D -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -22.25 -20 -41.3599999008 -11 -23.25 -21 -41.3599999008 -0 -LINE -5 -66E -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -22.25 -20 -36.3599999008 -11 -23.25 -21 -36.3599999008 -0 -LINE -5 -66F -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -18.125 -20 -47.609999881 -11 -22.25 -21 -47.6099998639 -0 -LINE -5 -670 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2 -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 -18.125 -20 -30.1099999376 -11 -22.25 -21 -30.1099999376 -0 -CIRCLE -5 -671 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --56.4 -20 -38.8599999008 -40 -8.75 -0 -CIRCLE -5 -672 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --56.4 -20 -38.8599999008 -40 -2.5 -0 -CIRCLE -5 -673 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -54.3599999008 -40 -1.5 -0 -CIRCLE -5 -674 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbCircle -10 --71.9 -20 -54.3599999008 -40 -1.5 -0 -CIRCLE -5 -675 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbCircle -10 --71.9 -20 -23.3599999008 -40 -1.5 -0 -CIRCLE -5 -676 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -23.3599999008 -40 -1.5 -0 -LINE -5 -677 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --77.55 -20 -23.3599999008 -11 --71.9 -21 -17.7099999008 -0 -LINE -5 -678 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --40.9 -20 -17.7099999008 -11 --35.25 -21 -23.3599999008 -0 -LINE -5 -679 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --35.25 -20 -54.3599999008 -11 --40.9 -21 -60.0099999008 -0 -LINE -5 -67A -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --77.55 -20 -54.3599999008 -11 --77.55 -21 -23.3599999008 -0 -LINE -5 -67B -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --71.9 -20 -17.7099999008 -11 --40.9 -21 -17.7099999008 -0 -LINE -5 -67C -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --71.9 -20 -60.0099999008 -11 --40.9 -21 -60.0099999008 -0 -LINE -5 -67D -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --35.25 -20 -54.3599999008 -11 --35.25 -21 -23.3599999008 -0 -LINE -5 -67E -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --71.9 -20 -60.0099999008 -11 --77.675 -21 -54.2349999008 -0 -LINE -5 -67F -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.375 -11 -15.875 -21 --5.125 -0 -LINE -5 -680 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.375 -11 -25.125 -21 -17.4599999008 -0 -LINE -5 -681 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.1250001461 -20 -17.4599999008 -11 -25.125 -21 -17.4599999008 -0 -LINE -5 -682 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.1250001461 -20 -17.4599999008 -11 -23.1250001461 -21 -60.2599999008 -0 -LINE -5 -683 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.1250001461 -20 -60.2599999008 -11 -18.1250001461 -21 -60.2599999008 -0 -LINE -5 -684 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.1250001461 -20 -60.2599999008 -11 -15.1250001461 -21 -68.2599999008 -0 -LINE -5 -685 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -23.1250001461 -20 -60.2599999008 -11 -23.1250001461 -21 -68.2599999008 -0 -LINE -5 -686 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.1250001461 -20 -68.2599999008 -11 -23.1250001461 -21 -68.2599999008 -0 -CIRCLE -5 -687 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -19.1250001461 -20 -64.2599999008 -40 -2 -0 -LINE -5 -688 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.1250001461 -20 -25.125 -11 -18.1250001461 -21 -60.2599999008 -0 -LINE -5 -689 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --68.9 -20 -26.3599999008 -11 --43.9 -21 -26.3599999008 -0 -LINE -5 -68A -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --68.9 -20 -51.3599999008 -11 --68.9 -21 -26.3599999008 -0 -LINE -5 -68B -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --43.9 -20 -26.3599999008 -11 --43.9 -21 -51.3599999008 -0 -LINE -5 -68C -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --43.9 -20 -51.3599999008 -11 --68.9 -21 -51.3599999008 -0 -CIRCLE -5 -68D -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --71.9 -20 -54.3599999008 -40 -1.5 -0 -CIRCLE -5 -68E -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -54.3599999008 -40 -1.5 -0 -CIRCLE -5 -68F -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -23.3599999008 -40 -1.5 -0 -LINE -5 -690 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --71.9 -20 -60.0099999008 -11 --77.55 -21 -54.3599999008 -0 -LINE -5 -691 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -60.0099999008 -11 --71.9 -21 -60.0099999008 -0 -LINE -5 -692 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -60.0099999008 -11 --30.125 -21 -60.0099999008 -0 -LINE -5 -693 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -68.0099999008 -11 --30.125 -21 -68.0099999008 -0 -LINE -5 -694 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --30.125 -20 -68.0099999008 -11 --30.125 -21 --5.125 -0 -LINE -5 -695 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --77.675 -20 -54.2349999008 -11 --77.675 -21 --5.125 -0 -LINE -5 -696 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --77.675 -20 --5.125 -11 --30.125 -21 --5.125 -0 -ARC -5 -697 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --40.9 -20 -23.3599999008 -40 -4 -100 -AcDbArc -50 -153.816335135 -51 -26.1836648653 -0 -LINE -5 -698 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --44.4895368294 -20 -25.125 -11 --77.675 -21 -25.125 -0 -LINE -5 -699 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --30.125 -20 -13.375 -11 --77.675 -21 -13.375 -0 -LINE -5 -69A -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --30.125 -20 -25.125 -11 --37.3104631706 -21 -25.125 -0 -LINE -5 -69B -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -13.375 -11 --35.125 -21 --5.125 -0 -LINE -5 -69C -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --35.125 -20 -68.0099999008 -11 --35.125 -21 -60.0099999008 -0 -LINE -5 -69D -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.925 -20 --5.125 -11 --123.675 -21 --5.125 -0 -LINE -5 -69E -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --102.675 -20 -25.125 -11 --102.675 -21 -13.375 -0 -LINE -5 -69F -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -25.125 -11 --102.675 -21 -25.125 -0 -LINE -5 -6A0 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --132.925 -20 -13.375 -11 --123.675 -21 --5.125 -0 -LINE -5 -6A1 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --102.675 -20 -13.375 -11 --111.925 -21 --5.125 -0 -LINE -5 -6A2 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --127.925 -20 -20.125 -11 --107.675 -21 -20.125 -0 -LINE -5 -6A3 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --116.925 -20 -18.375 -11 --107.675 -21 -18.375 -0 -LINE -5 -6A4 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --127.925 -20 -18.375 -11 --118.675 -21 -18.375 -0 -LINE -5 -6A5 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --116.925 -20 --0.125 -11 --116.925 -21 -18.375 -0 -LINE -5 -6A6 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --118.675 -20 --0.125 -11 --118.675 -21 -18.375 -0 -LINE -5 -6A7 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --132.925 -20 -13.375 -11 --123.675 -21 -13.375 -0 -LINE -5 -6A8 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --123.675 -20 --5.125 -11 --123.675 -21 -13.375 -0 -LINE -5 -6A9 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.925 -20 -13.375 -11 --102.675 -21 -13.375 -0 -LINE -5 -6AA -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --127.925 -20 -20.125 -11 --127.925 -21 -18.375 -0 -LINE -5 -6AB -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --107.675 -20 -20.125 -11 --107.675 -21 -18.375 -0 -LINE -5 -6AC -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --118.675 -20 --0.125 -11 --116.925 -21 --0.125 -0 -LINE -5 -6AD -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.925 -20 -13.375 -11 --111.925 -21 --5.125 -0 -CIRCLE -5 -6AE -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --126.53130823 -20 -7.29582039325 -40 -2 -0 -CIRCLE -5 -6AF -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --109.06869177 -20 -7.29582039325 -40 -2 -0 -LINE -5 -6B0 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --114.050000146 -20 -31.9999999376 -11 --121.550000146 -21 -31.9999999376 -0 -LINE -5 -6B1 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --114.050000146 -20 -45.7199999304 -11 --121.550000146 -21 -45.7199998992 -0 -LINE -5 -6B2 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --121.550000146 -20 -30.1099999376 -11 --121.550000146 -21 -47.6099998992 -0 -LINE -5 -6B3 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --113.050000146 -20 -30.1099999376 -11 --113.050000146 -21 -47.6099999345 -0 -LINE -5 -6B4 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --114.050000146 -20 -30.1099999376 -11 --114.050000146 -21 -47.6099999304 -0 -LINE -5 -6B5 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --113.050000146 -20 -47.6099999345 -11 --114.050000146 -21 -47.6099999304 -0 -LINE -5 -6B6 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --113.050000146 -20 -30.1099999376 -11 --114.050000146 -21 -30.1099999376 -0 -LINE -5 -6B7 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --131.050000146 -20 -60.0099999008 -11 --175.050000146 -21 -60.0099999008 -0 -LINE -5 -6B8 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --175.050000146 -20 -17.7099999008 -11 --175.050000146 -21 -60.0099999008 -0 -LINE -5 -6B9 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --131.050000146 -20 -17.7099999008 -11 --175.050000146 -21 -17.7099999008 -0 -LINE -5 -6BA -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.050000146 -20 -36.3599999008 -11 --111.050000146 -21 -41.3599999008 -0 -LINE -5 -6BB -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.050000146 -20 -41.3599999008 -11 --113.050000146 -21 -41.3599999008 -0 -LINE -5 -6BC -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --111.050000146 -20 -36.3599999008 -11 --113.050000146 -21 -36.3599999008 -0 -MTEXT -5 -6BD -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --159.77113538 -20 -39.7885723102 -30 -0 -40 -1 -41 -10.0555555556 -71 -1 -72 -5 -1 -Motor NEMA 17 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -LINE -5 -6BE -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --121.550000146 -20 -47.6099998992 -11 --125.925000146 -21 -47.609999881 -0 -LINE -5 -6BF -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --121.550000146 -20 -30.1099999376 -11 --125.925000146 -21 -30.1099999376 -0 -LINE -5 -6C0 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --130.050000146 -20 -30.1099999376 -11 --130.050000146 -21 -47.6099998639 -0 -LINE -5 -6C1 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --130.050000146 -20 -41.3599999008 -11 --131.050000146 -21 -41.3599999008 -0 -LINE -5 -6C2 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -47.609999881 -11 --130.050000146 -21 -47.6099998639 -0 -LINE -5 -6C3 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -30.1099999376 -11 --130.050000146 -21 -30.1099999376 -0 -LINE -5 -6C4 -100 -AcDbEntity -8 -Top-fix-NEMA-et-GT2-vues-ortho -6 -DOT2 -62 -256 -370 --1 -100 -AcDbLine -10 --130.050000146 -20 -36.3599999008 -11 --131.050000146 -21 -36.3599999008 -0 -LINE -5 -6C5 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --132.925 -20 -13.375 -11 --132.925 -21 -17.4599999008 -0 -LINE -5 -6C6 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --130.925000146 -20 -17.4599999008 -11 --132.925 -21 -17.4599999008 -0 -LINE -5 -6C7 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -25.125 -11 --125.925000146 -21 -60.2599999008 -0 -LINE -5 -6C8 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --122.925000146 -20 -60.2599999008 -11 --122.925000146 -21 -68.2599999008 -0 -LINE -5 -6C9 -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --122.925000146 -20 -68.2599999008 -11 --130.925000146 -21 -68.2599999008 -0 -LINE -5 -6CA -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --125.925000146 -20 -60.2599999008 -11 --130.925000146 -21 -60.2599999008 -0 -LINE -5 -6CB -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --122.925000146 -20 -60.2599999008 -11 --125.925000146 -21 -60.2599999008 -0 -CIRCLE -5 -6CC -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --126.925000146 -20 -64.2599999008 -40 -2 -0 -LINE -5 -6CD -100 -AcDbEntity -8 -Top-fix-vues-orthogonales -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --130.925000146 -20 -17.4599999008 -11 --130.925000146 -21 -68.2599999008 -0 -POINT -5 -6CE -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -76.1116938222 -20 --12.2846944415 -0 -POINT -5 -6CF -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -76.378752397 -20 --18.4270416622 -0 -MTEXT -5 -6D0 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --173.124345412 -20 --17.0819034644 -30 -0 -40 -4 -41 -38.5555555556 -71 -1 -72 -5 -1 -Reprap Jeanne -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D1 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --173.332133082 -20 --30.1118095344 -30 -0 -40 -1.5 -41 -41.2916674381 -71 -1 -72 -5 -1 -@Gnieark https://blog-du-grouik.tinad.fr\P@trankilloman\PHackerspace @jeannedhack -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D2 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --140.615357176 -20 --6.3404446404 -30 -0 -40 -1.5 -41 -9.58333333333 -71 -1 -72 -5 -1 -env 100 g -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D3 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --174.08359247 -20 --11.0839740524 -30 -0 -40 -1.5 -41 -18.7083333333 -71 -1 -72 -5 -1 -Impression en PLA\P2.5 mm par couche -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D4 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --126.574510117 -20 --30.4059505234 -30 -0 -40 -1.5 -41 -4.16666666667 -71 -1 -72 -5 -1 -page \P1/1 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.884736 -0 -MTEXT -5 -6D5 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --173.624153887 -20 --23.6262753095 -30 -0 -40 -1.5 -41 -36.0000007714 -71 -1 -72 -5 -1 -Fixation en haut de l'axe entre:\Pplateau supérieur, profil T, moteur -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.9216 -0 -MTEXT -5 -6D6 -100 -AcDbEntity -8 -Top-fix -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 --174.032675598 -20 --6.08839733169 -30 -0 -40 -1.5 -41 -11.9172381247 -71 -1 -72 -5 -1 -scale 1:1 A4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.96 -0 -LINE -5 -6D7 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -82.9667127669 -20 --76.6108771873 -11 -82.9667127669 -21 --96.377784531 -0 -LINE -5 -6D8 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.9667127669 -20 --76.6108771873 -11 -72.9667127669 -21 --96.377784531 -0 -LINE -5 -6D9 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.9667127669 -20 --96.377784531 -11 -82.9667127669 -21 --96.377784531 -0 -LINE -5 -6DA -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -113.466712767 -20 --63.877784531 -11 -113.466712767 -21 --96.377784531 -0 -DIMENSION -5 -6DB -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D55 -10 -127.380113994 -20 -31.9999995612 -30 -0 -11 -127.380113994 -21 -33.4999995612 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -112.500000259 -23 -34.9999995612 -33 -0 -14 -112.500000234 -24 -31.9999995612 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -6DC -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D56 -10 -127.380113994 -20 -22.5 -30 -0 -11 -127.380113994 -21 -27.2499997806 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -112.500000234 -23 -31.9999995612 -33 -0 -14 -106.500000155 -24 -22.5 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -CIRCLE -5 -6DD -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -77.9667127669 -20 --116.377784531 -40 -2.1 -0 -LINE -5 -6DE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -74.9667127669 -20 --120.477784531 -11 -74.9667127669 -21 --122.977784531 -0 -LINE -5 -6DF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -80.9667127669 -20 --122.977784531 -11 -74.9667127669 -21 --122.977784531 -0 -LINE -5 -6E0 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -80.9667127669 -20 --120.477784531 -11 -80.9667127669 -21 --122.977784531 -0 -LINE -5 -6E1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -80.9667127669 -20 --120.477784531 -11 -74.9667127669 -21 --120.477784531 -0 -LINE -5 -6E2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -82.9667127669 -20 --111.377784531 -11 -82.9667127669 -21 --125.977784531 -0 -LINE -5 -6E3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -72.9667127669 -20 --111.377784531 -11 -72.9667127669 -21 --125.977784531 -0 -LINE -5 -6E4 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -82.9667127669 -20 --125.977784531 -11 -72.9667127669 -21 --125.977784531 -0 -LINE -5 -6E5 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -67.4667127669 -20 --121.377784531 -11 -72.9667127669 -21 --121.377784531 -0 -LINE -5 -6E6 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -82.9667127669 -20 --121.377784531 -11 -88.4667127669 -21 --121.377784531 -0 -POINT -5 -6E7 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -90.216061105 -20 --127.806086565 -0 -POINT -5 -6E8 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -95.2280644998 -20 --131.843533745 -0 -DIMENSION -5 -6E9 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D57 -10 -90.216061105 -20 --121.377784531 -30 -0 -11 -90.216061105 -21 --123.677784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -82.9667127669 -23 --125.977784531 -33 -0 -14 -88.4667127669 -24 --121.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -6EA -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D58 -10 -90.216061105 -20 --111.377784531 -30 -0 -11 -90.216061105 -21 --116.377784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -88.4667127669 -23 --121.377784531 -33 -0 -14 -88.4667127669 -24 --111.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -LINE -5 -6EB -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -113.466712767 -20 --96.377784531 -11 -128.066712767 -21 --96.377784531 -0 -LINE -5 -6EC -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -128.066712767 -20 --86.377784531 -11 -128.066712767 -21 --96.377784531 -0 -LINE -5 -6ED -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -123.466712767 -20 --86.377784531 -11 -128.066712767 -21 --86.377784531 -0 -LINE -5 -6EE -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -123.466712767 -20 --63.877784531 -11 -123.466712767 -21 --86.377784531 -0 -LINE -5 -6EF -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -158.466712767 -20 --63.877784531 -11 -158.466712767 -21 --67.377784531 -0 -LINE -5 -6F0 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -161.466712767 -20 --63.877784531 -11 -161.466712767 -21 --67.377784531 -0 -LINE -5 -6F1 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -176.466712767 -20 --63.877784531 -11 -176.466712767 -21 --67.377784531 -0 -LINE -5 -6F2 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -179.466712767 -20 --63.877784531 -11 -179.466712767 -21 --67.377784531 -0 -LINE -5 -6F3 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -179.466712767 -20 --63.877784531 -11 -176.466712767 -21 --63.877784531 -0 -LINE -5 -6F4 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -161.466712767 -20 --63.877784531 -11 -158.466712767 -21 --63.877784531 -0 -ARC -5 -6F5 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -168.966712767 -20 --67.377784531 -40 -7.5 -100 -AcDbArc -50 -180 -51 -0 -0 -ARC -5 -6F6 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -168.966712767 -20 --67.377784531 -40 -10.5 -100 -AcDbArc -50 -298.436890149 -51 -0 -0 -ARC -5 -6F7 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -168.966712767 -20 --67.377784531 -40 -10.5 -100 -AcDbArc -50 -180 -51 -241.563109851 -0 -LINE -5 -6F8 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -163.966712767 -20 --76.6108771873 -11 -163.966712767 -21 --96.377784531 -0 -LINE -5 -6F9 -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -173.966712767 -20 --76.6108771873 -11 -173.966712767 -21 --96.377784531 -0 -LINE -5 -6FA -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -173.966712767 -20 --96.377784531 -11 -163.966712767 -21 --96.377784531 -0 -CIRCLE -5 -6FB -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -168.966712767 -20 --91.377784531 -40 -1.5 -0 -LINE -5 -6FC -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -163.966712767 -20 --86.377784531 -11 -173.966712767 -21 --86.377784531 -0 -MTEXT -5 -6FD -100 -AcDbEntity -8 -Glissement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -64.5806644014 -20 --33.6499251355 -30 -0 -40 -5 -41 -58.0555555556 -71 -1 -72 -5 -1 -Fixation \PRotule / Bielette -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -1 -44 -0.84934656 -0 -POINT -5 -6FE -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -185.339708867 -20 --60.9097634776 -0 -POINT -5 -6FF -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -185.339708867 -20 --55.4713917385 -0 -POINT -5 -700 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -185.557243737 -20 --50.250554869 -0 -DIMENSION -5 -701 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D59 -10 -70.4667127669 -20 --60.9097634776 -30 -0 -11 -68.9667127669 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -67.4667127669 -23 --63.877784531 -33 -0 -14 -70.4667127669 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -702 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D60 -10 -77.9667127669 -20 --60.9097634776 -30 -0 -11 -74.2167127669 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -70.4667127669 -23 --63.877784531 -33 -0 -14 -77.9667127669 -24 --67.377784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -703 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D61 -10 -85.4667127669 -20 --60.9097634776 -30 -0 -11 -81.7167127669 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -77.9667127669 -23 --67.377784531 -33 -0 -14 -85.4667127669 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -704 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D62 -10 -88.4667127669 -20 --60.9097634776 -30 -0 -11 -86.9667127669 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -85.4667127669 -23 --63.877784531 -33 -0 -14 -88.4667127669 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -705 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D63 -10 -88.4667127669 -20 --55.4713917385 -30 -0 -11 -77.9667127669 -21 --55.4713917385 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -67.4667127669 -23 --63.877784531 -33 -0 -14 -88.4667127669 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -706 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D64 -10 -118.466712767 -20 --60.9097634776 -30 -0 -11 -115.966712767 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -113.466712767 -23 --63.877784531 -33 -0 -14 -118.466712767 -24 --67.127784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -707 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D65 -10 -123.466712767 -20 --60.9097634776 -30 -0 -11 -120.966712767 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -118.466712767 -23 --67.127784531 -33 -0 -14 -123.466712767 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -708 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D66 -10 -128.066712767 -20 --60.9097634776 -30 -0 -11 -125.766712767 -21 --60.9097634776 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -123.466712767 -23 --63.877784531 -33 -0 -14 -128.066712767 -24 --86.377784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -709 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D67 -10 -123.466712767 -20 --55.4713917385 -30 -0 -11 -118.466712767 -21 --55.4713917385 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -113.466712767 -23 --63.877784531 -33 -0 -14 -123.466712767 -24 --63.877784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70A -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D68 -10 -185.339708867 -20 --91.377784531 -30 -0 -11 -185.339708867 -21 --93.877784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -173.966712767 -23 --96.377784531 -33 -0 -14 -168.966712767 -24 --91.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70B -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D69 -10 -185.339708867 -20 --86.377784531 -30 -0 -11 -185.339708867 -21 --88.877784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -168.966712767 -23 --91.377784531 -33 -0 -14 -173.966712767 -24 --86.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70C -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D70 -10 -185.339708867 -20 --76.6108771873 -30 -0 -11 -185.339708867 -21 --81.4943308592 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -173.966712767 -23 --86.377784531 -33 -0 -14 -173.966712767 -24 --76.6108771873 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70D -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D71 -10 -185.339708867 -20 --67.377784531 -30 -0 -11 -185.339708867 -21 --71.9943308591 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -173.966712767 -23 --76.6108771873 -33 -0 -14 -168.966712767 -24 --67.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70E -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D72 -10 -185.339708867 -20 --63.877784531 -30 -0 -11 -185.339708867 -21 --65.627784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -168.966712767 -23 --67.377784531 -33 -0 -14 -179.466712767 -24 --63.877784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -70F -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D73 -10 -82.9667127669 -20 --96.377784531 -30 -0 -11 -77.9667127669 -21 --96.377784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -72.9667127669 -23 --96.377784531 -33 -0 -14 -82.9667127669 -24 --96.377784531 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -710 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D74 -10 -88.4667127669 -20 --96.377784531 -30 -0 -11 -88.4667127669 -21 --86.4943308592 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -82.9667127669 -23 --76.6108771873 -33 -0 -14 -82.9667127669 -24 --96.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -711 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D75 -10 -72.9667127669 -20 --96.377784531 -30 -0 -11 -72.9667127669 -21 --81.877784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -77.9667127669 -23 --67.377784531 -33 -0 -14 -72.9667127669 -24 --96.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -712 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D76 -10 -72.9667127669 -20 --67.377784531 -30 -0 -11 -75.4667127669 -21 --67.377784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -77.9667127669 -23 --67.377784531 -33 -0 -14 -72.9667127669 -24 --76.6108771873 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -713 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D77 -10 -82.9667127669 -20 --122.977784531 -30 -0 -11 -82.9667127669 -21 --122.177784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -82.9667127669 -23 --121.377784531 -33 -0 -14 -80.9667127669 -24 --122.977784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -714 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D78 -10 -74.9667127669 -20 --122.977784531 -30 -0 -11 -74.9667127669 -21 --121.727784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -74.9667127669 -23 --120.477784531 -33 -0 -14 -74.9667127669 -24 --122.977784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -715 -100 -AcDbEntity -8 -cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D79 -10 -168.966712767 -20 --91.377784531 -30 -0 -11 -168.966712767 -21 --79.377784531 -31 -0 -70 -32 -71 -5 -72 -0 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -168.966712767 -23 --67.377784531 -33 -0 -14 -168.966712767 -24 --91.377784531 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -716 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D80 -10 -10 -20 --5.125 -30 -0 -11 -10 -21 -16.8674999504 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -23.25 -23 -38.8599999008 -33 -0 -14 -10 -24 --5.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -717 -100 -AcDbEntity -8 -Top-fix-mesures-ortho -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D81 -10 --56.4 -20 -51.3599999008 -30 -0 -11 --67.0375 -21 -51.3599999008 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --77.675 -23 -24.5549999504 -33 -0 -14 --56.4 -24 -51.3599999008 -34 -0 -100 -AcDbRotatedDimension -0 -LINE -5 -718 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.375 -11 -15.875 -21 --5.125 -0 -LINE -5 -719 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.875 -20 --5.125 -11 -4.125 -21 --5.125 -0 -LINE -5 -71A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --5.125 -11 --5.125 -21 -13.375 -0 -LINE -5 -71B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.375 -11 --5.125 -21 -25.125 -0 -LINE -5 -71C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -25.125 -11 -25.125 -21 -13.375 -0 -LINE -5 -71D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --0.2 -20 -20.2 -11 --0.2 -21 -18.3 -0 -LINE -5 -71E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 -18.3 -11 --0.2 -21 -18.3 -0 -LINE -5 -71F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 --0.2 -11 -9.05 -21 -18.3 -0 -LINE -5 -720 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 --0.2 -11 -10.95 -21 --0.2 -0 -LINE -5 -721 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.95 -20 --0.2 -11 -10.95 -21 -18.3 -0 -LINE -5 -722 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -20.2 -11 --0.2 -21 -20.2 -0 -LINE -5 -723 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -18.3 -11 -20.2 -21 -20.2 -0 -LINE -5 -724 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -18.3 -11 -10.95 -21 -18.3 -0 -LINE -5 -725 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000009158 -20 -53.9999999522 -11 -13.5000000916 -21 -53.999999923 -0 -LINE -5 -726 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.5000000916 -20 -53.999999923 -11 -13.5 -21 -31.999999923 -0 -LINE -5 -727 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.5 -20 -31.9999999522 -11 -13.5 -21 -31.999999923 -0 -LINE -5 -728 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000009158 -20 -53.9999999522 -11 -6.5 -21 -31.9999999522 -0 -LINE -5 -729 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.5000000624 -20 -46.999999923 -11 -13.5000000291 -21 -38.999999923 -0 -LINE -5 -72A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000006244 -20 -46.9999999522 -11 -6.50000002914 -21 -38.9999999522 -0 -LINE -5 -72B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000666 -20 -47.9999999189 -11 -13.5000000624 -21 -46.999999923 -0 -LINE -5 -72C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -13.5000000291 -20 -38.999999923 -11 -14.500000025 -21 -37.9999999189 -0 -LINE -5 -72D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000006244 -20 -46.9999999522 -11 -5.5000000666 -21 -47.9999999563 -0 -LINE -5 -72E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -6.50000002914 -20 -38.9999999522 -11 -5.50000002498 -21 -37.9999999563 -0 -LINE -5 -72F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -54.9999999688 -11 -5.50000009574 -21 -54.9999999563 -0 -LINE -5 -730 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -17.5000000957 -21 -54.9999999064 -0 -LINE -5 -731 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -732 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -5.49999997138 -21 -25.125 -0 -LINE -5 -733 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.49999997138 -20 -25.125 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -734 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.4999999714 -20 -25.125 -11 -25.125 -21 -25.125 -0 -LINE -5 -735 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -736 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 --5.125 -11 -4.05 -21 -13.3 -0 -LINE -5 -737 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 -13.3 -11 --5.125 -21 -13.3 -0 -LINE -5 -738 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.3 -11 -15.95 -21 -13.3 -0 -LINE -5 -739 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 --5.125 -11 -15.95 -21 -13.3 -0 -LINE -5 -73A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -50.125 -20 -25.125 -11 -90.125 -21 -25.125 -0 -LINE -5 -73B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -50.125 -20 -13.3 -11 -90.125 -21 -13.3 -0 -LINE -5 -73C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -50.125 -20 --5.125 -11 -90.125 -21 --5.125 -0 -LINE -5 -73D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -86.125 -20 -13.3 -11 -86.125 -21 --5.125 -0 -CIRCLE -5 -73E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -70.125 -20 -42.999999923 -40 -4 -0 -ARC -5 -73F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -70.125 -20 -42.999999923 -40 -20 -100 -AcDbArc -50 -143.13010296 -51 -179.999998634 -0 -LINE -5 -740 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -50.125 -20 -42.9999994462 -11 -50.125 -21 --5.125 -0 -LINE -5 -741 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -54.1249998732 -20 -54.9999997539 -11 -90.125 -21 -54.9999996041 -0 -LINE -5 -742 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -14.5000000957 -21 -54.9999999189 -0 -LINE -5 -743 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000012071 -20 -60.9999999688 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -744 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -2.50000012071 -21 -60.9999999688 -0 -LINE -5 -745 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -17.4999999714 -21 -25.1249999875 -0 -CIRCLE -5 -746 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -10.0000001082 -20 -57.9999999376 -40 -2 -0 -LINE -5 -747 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -86.125 -20 -60.9999996207 -11 -90.125000025 -21 -60.9999996041 -0 -LINE -5 -748 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -90.125 -20 -60.9999996041 -11 -90.125 -21 --5.125 -0 -LINE -5 -749 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -86.125 -20 -60.9999996207 -11 -86.125 -21 -54.9999996207 -0 -LINE -5 -74A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --30.125 -11 -4.125 -21 --70.125 -0 -LINE -5 -74B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.875 -20 --30.125 -11 -15.875 -21 --70.125 -0 -LINE -5 -74C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 --70.125 -11 --5.125 -21 --70.125 -0 -LINE -5 -74D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 --30.125 -11 --5.125 -21 --30.125 -0 -LINE -5 -74E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 --66.125 -11 -15.875 -21 --66.125 -0 -LINE -5 -74F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --66.125 -11 --5.125 -21 --66.125 -0 -LINE -5 -750 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 --30.125 -11 --5.125 -21 --70.125 -0 -LINE -5 -751 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 --30.125 -11 -25.125 -21 --70.125 -0 -LINE -5 -752 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -145.375 -20 -13.375 -11 -136.125 -21 --5.125 -0 -LINE -5 -753 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -136.125 -20 --5.125 -11 -124.375 -21 --5.125 -0 -LINE -5 -754 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -124.375 -20 --5.125 -11 -115.125 -21 -13.375 -0 -LINE -5 -755 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -115.125 -20 -13.375 -11 -115.125 -21 -25.125 -0 -LINE -5 -756 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -145.375 -20 -25.125 -11 -145.375 -21 -13.375 -0 -LINE -5 -757 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000092 -20 -53.9999999522 -11 -133.750000092 -21 -53.999999923 -0 -LINE -5 -758 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -133.750000092 -20 -53.999999923 -11 -133.75 -21 -31.999999923 -0 -LINE -5 -759 -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.75 -20 -31.9999999522 -11 -133.75 -21 -31.999999923 -0 -LINE -5 -75A -100 -AcDbEntity -8 -foot-roulement -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000092 -20 -53.9999999522 -11 -126.75 -21 -31.9999999522 -0 -LINE -5 -75B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -133.750000062 -20 -46.999999923 -11 -133.750000029 -21 -38.999999923 -0 -LINE -5 -75C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000062 -20 -46.9999999522 -11 -126.750000029 -21 -38.9999999522 -0 -LINE -5 -75D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -134.750000067 -20 -47.9999999189 -11 -133.750000062 -21 -46.999999923 -0 -LINE -5 -75E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -133.750000029 -20 -38.999999923 -11 -134.750000025 -21 -37.9999999189 -0 -LINE -5 -75F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000062 -20 -46.9999999522 -11 -125.750000067 -21 -47.9999999563 -0 -LINE -5 -760 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -126.750000029 -20 -38.9999999522 -11 -125.750000025 -21 -37.9999999563 -0 -LINE -5 -761 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -134.750000096 -20 -54.9999999189 -11 -134.749999971 -21 -25.125 -0 -LINE -5 -762 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -125.750000096 -20 -54.9999999563 -11 -125.749999971 -21 -25.125 -0 -LINE -5 -763 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -125.749999971 -20 -25.125 -11 -134.749999971 -21 -25.125 -0 -LINE -5 -764 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -137.749999971 -20 -25.125 -11 -145.375 -21 -25.125 -0 -LINE -5 -765 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -115.125 -20 -25.125 -11 -122.749999971 -21 -25.125 -0 -LINE -5 -766 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -125.750000096 -20 -54.9999999563 -11 -134.750000096 -21 -54.9999999189 -0 -LINE -5 -767 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -122.750000121 -20 -60.9999999688 -11 -122.749999971 -21 -25.125 -0 -LINE -5 -768 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -137.750000121 -20 -60.9999999064 -11 -122.750000121 -21 -60.9999999688 -0 -LINE -5 -769 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -137.750000121 -20 -60.9999999064 -11 -137.749999971 -21 -25.1249999875 -0 -CIRCLE -5 -76A -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -130.250000108 -20 -57.9999999376 -40 -2 -0 -LINE -5 -76B -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000002248 -20 -85.9999999064 -11 -2.50000022478 -21 -85.9999999688 -0 -LINE -5 -76C -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.1250002706 -20 -125.999999896 -11 --5.12499972938 -21 -125.999999979 -0 -LINE -5 -76D -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.1250001602 -20 -85.9999998959 -11 --5.12499983977 -21 -85.9999999793 -0 -LINE -5 -76E -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.12499983977 -20 -85.9999999793 -11 --5.12499972938 -21 -125.999999979 -0 -LINE -5 -76F -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.1250001602 -20 -85.9999998959 -11 -25.1250002706 -21 -125.999999896 -0 -LINE -5 -770 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -85.9999999169 -11 -17.5000001207 -21 -125.999999925 -0 -LINE -5 -771 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -85.9999999583 -11 -2.50000009574 -21 -125.999999967 -0 -LINE -5 -772 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -89.99999995 -11 -5.50000009574 -21 -125.999999967 -0 -LINE -5 -773 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -89.9999999252 -11 -14.5000000957 -21 -125.999999896 -0 -LINE -5 -774 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -89.9999999169 -11 -2.50000009574 -21 -89.9999999583 -0 -POINT -5 -775 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --7.29478994918 -20 -63.7501208602 -0 -POINT -5 -776 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --12.0522616552 -20 -67.8732630054 -0 -POINT -5 -777 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 --16.8097333612 -20 -72.6307347114 -0 -DIMENSION -5 -778 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D82 -10 --7.29478994918 -20 -42.9999999522 -30 -0 -11 --7.29478994918 -21 -51.9999999605 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2.50000012071 -23 -60.9999999688 -33 -0 -14 -6.50000004579 -24 -42.9999999522 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -779 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D83 -10 --7.29478994918 -20 --5.125 -30 -0 -11 --7.29478994918 -21 -18.9374999761 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -6.50000004579 -23 -42.9999999522 -33 -0 -14 -4.05 -24 --5.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77A -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D84 -10 --12.0522616552 -20 -54.9999999688 -30 -0 -11 --12.0522616552 -21 -57.9999999688 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2.50000012071 -23 -60.9999999688 -33 -0 -14 -2.50000009574 -24 -54.9999999688 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77B -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D85 -10 --12.0522616552 -20 -47.9999999563 -30 -0 -11 --12.0522616552 -21 -51.4999999626 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2.50000009574 -23 -54.9999999688 -33 -0 -14 -5.5000000666 -24 -47.9999999563 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77C -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D86 -10 --12.0522616552 -20 -46.9999999522 -30 -0 -11 --12.0522616552 -21 -47.4999999543 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -5.5000000666 -23 -47.9999999563 -33 -0 -14 -6.50000006244 -24 -46.9999999522 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77D -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D87 -10 --12.0522616552 -20 -38.9999999522 -30 -0 -11 --12.0522616552 -21 -42.9999999522 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -6.50000006244 -23 -46.9999999522 -33 -0 -14 -6.50000002914 -24 -38.9999999522 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77E -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D88 -10 --12.0522616552 -20 -37.9999999563 -30 -0 -11 --12.0522616552 -21 -38.4999999543 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -6.50000002914 -23 -38.9999999522 -33 -0 -14 -5.50000002498 -24 -37.9999999563 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -77F -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D89 -10 --12.0522616552 -20 -25.125 -30 -0 -11 --12.0522616552 -21 -31.5624999782 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -5.50000002498 -23 -37.9999999563 -33 -0 -14 --5.125 -24 -25.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -780 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D90 -10 --12.0522616552 -20 -20.2 -30 -0 -11 --12.0522616552 -21 -22.6625 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5.125 -23 -25.125 -33 -0 -14 --0.2 -24 -20.2 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -781 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D91 -10 --12.0522616552 -20 -18.3 -30 -0 -11 --12.0522616552 -21 -19.25 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --0.2 -23 -20.2 -33 -0 -14 --0.2 -24 -18.3 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -782 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D92 -10 --12.0522616552 -20 -13.3 -30 -0 -11 --12.0522616552 -21 -15.8 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --0.2 -23 -18.3 -33 -0 -14 --5.125 -24 -13.3 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -783 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D93 -10 --12.0522616552 -20 --0.2 -30 -0 -11 --12.0522616552 -21 -6.55 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 --5.125 -23 -13.3 -33 -0 -14 -9.05 -24 --0.2 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -784 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D94 -10 --12.0522616552 -20 --5.125 -30 -0 -11 --12.0522616552 -21 --2.6625 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -9.05 -23 --0.2 -33 -0 -14 -4.05 -24 --5.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -785 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D95 -10 --16.8097333612 -20 --5.125 -30 -0 -11 --16.8097333612 -21 -27.9374999844 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -2.50000012071 -23 -60.9999999688 -33 -0 -14 -4.05 -24 --5.125 -34 -0 -50 -90 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -786 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D96 -10 -17.5000001207 -20 -63.7501208602 -30 -0 -11 -21.3125000604 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -25.125 -23 -25.125 -33 -0 -14 -17.5000001207 -24 -60.9999999064 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -787 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D97 -10 -10.0000001207 -20 -63.7501208602 -30 -0 -11 -13.7500001207 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -17.5000001207 -23 -60.9999999064 -33 -0 -14 -10.0000001207 -24 -60.9999999376 -34 -0 -100 -AcDbRotatedDimension -0 -POINT -5 -788 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -28.1642324994 -20 --7.8656865539 -0 -DIMENSION -5 -789 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D98 -10 -15.95 -20 --7.8656865539 -30 -0 -11 -20.5375 -21 --7.8656865539 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -25.125 -23 -13.3 -33 -0 -14 -15.95 -24 --5.125 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78A -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D99 -10 -10.95 -20 --7.8656865539 -30 -0 -11 -13.4125 -21 --7.8656865539 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -15.875 -23 --5.125 -33 -0 -14 -10.95 -24 --0.2 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78B -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D100 -10 -9.05 -20 --7.8656865539 -30 -0 -11 -10 -21 --7.8656865539 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -10.95 -23 --0.2 -33 -0 -14 -9.05 -24 --0.2 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78C -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D101 -10 -54.1249998732 -20 -63.7501208602 -30 -0 -11 -52.1249999366 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -50.125 -23 -43.0000003999 -33 -0 -14 -54.1249998732 -24 -54.9999997539 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78D -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D102 -10 -70.125 -20 -63.7501208602 -30 -0 -11 -62.1249999366 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -54.1249998732 -23 -54.9999997539 -33 -0 -14 -70.125 -24 -42.999999923 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78E -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D103 -10 -86.125 -20 -63.7501208602 -30 -0 -11 -78.125 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -70.125 -23 -42.999999923 -33 -0 -14 -86.125 -24 -60.9999996207 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -78F -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D104 -10 -90.125000025 -20 -63.7501208602 -30 -0 -11 -88.1250000125 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -86.125 -23 -60.9999996207 -33 -0 -14 -90.125000025 -24 -60.9999996041 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -790 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D105 -10 -90.125 -20 -67.8732630054 -30 -0 -11 -70.125 -21 -67.8732630054 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -50.125 -23 -43.0000003999 -33 -0 -14 -90.125 -24 -54.9999996041 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -791 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D106 -10 -122.750000121 -20 -63.7501208602 -30 -0 -11 -118.93750006 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -115.125 -23 -25.125 -33 -0 -14 -122.750000121 -24 -60.9999999688 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -792 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D107 -10 -130.250000108 -20 -63.7501208602 -30 -0 -11 -126.500000114 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -122.750000121 -23 -60.9999999688 -33 -0 -14 -130.250000108 -24 -57.9999999376 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -793 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D108 -10 -137.750000121 -20 -63.7501208602 -30 -0 -11 -134.000000114 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -130.250000108 -23 -57.9999999376 -33 -0 -14 -137.750000121 -24 -60.9999999064 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -794 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D109 -10 -145.375 -20 -63.7501208602 -30 -0 -11 -141.56250006 -21 -63.7501208602 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -137.750000121 -23 -60.9999999064 -33 -0 -14 -145.375 -24 -25.125 -34 -0 -100 -AcDbRotatedDimension -0 -DIMENSION -5 -795 -100 -AcDbEntity -8 -foot-cotes -6 -ByLayer -62 -256 -370 --1 -100 -AcDbDimension -2 -*D110 -10 -145.375 -20 -67.8732630054 -30 -0 -11 -130.25 -21 -67.8732630054 -31 -0 -70 -32 -71 -5 -3 -Standard -53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension -13 -115.125 -23 -25.125 -33 -0 -14 -145.375 -24 -25.125 -34 -0 -100 -AcDbRotatedDimension -0 -LINE -5 -796 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.375 -11 -15.875 -21 --5.125 -0 -LINE -5 -797 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.875 -20 --5.125 -11 -4.125 -21 --5.125 -0 -LINE -5 -798 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --5.125 -11 --5.125 -21 -13.375 -0 -LINE -5 -799 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.375 -11 --5.125 -21 -25.125 -0 -LINE -5 -79A -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -25.125 -11 -25.125 -21 -13.375 -0 -LINE -5 -79B -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -79C -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -5.49999997138 -21 -25.125 -0 -LINE -5 -79D -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.49999997138 -20 -25.125 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -79E -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.4999999714 -20 -25.125 -11 -25.125 -21 -25.125 -0 -LINE -5 -79F -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7A0 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -14.5000000957 -21 -54.9999999189 -0 -LINE -5 -7A1 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000012071 -20 -60.9999999688 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7A2 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -2.50000012071 -21 -60.9999999688 -0 -LINE -5 -7A3 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000001207 -20 -60.9999999064 -11 -17.4999999714 -21 -25.1249999875 -0 -CIRCLE -5 -7A4 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -10.0000001082 -20 -57.9999999376 -40 -2 -0 -CIRCLE -5 -7A5 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -1.26869176962 -20 -7.29582039325 -40 -2 -0 -CIRCLE -5 -7A6 -100 -AcDbEntity -8 -foot-profil-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -18.7313082304 -20 -7.29582039325 -40 -2 -0 -LINE -5 -7A7 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --0.2 -20 -20.2 -11 --0.2 -21 -18.3 -0 -LINE -5 -7A8 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 -18.3 -11 --0.2 -21 -18.3 -0 -LINE -5 -7A9 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 --0.2 -11 -9.05 -21 -18.3 -0 -LINE -5 -7AA -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.05 -20 --0.2 -11 -10.95 -21 --0.2 -0 -LINE -5 -7AB -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.95 -20 --0.2 -11 -10.95 -21 -18.3 -0 -LINE -5 -7AC -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -20.2 -11 --0.2 -21 -20.2 -0 -LINE -5 -7AD -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -18.3 -11 -20.2 -21 -20.2 -0 -LINE -5 -7AE -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -20.2 -20 -18.3 -11 -10.95 -21 -18.3 -0 -LINE -5 -7AF -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -25.125 -11 -25.125 -21 -13.375 -0 -LINE -5 -7B0 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.4999999714 -20 -25.125 -11 -25.125 -21 -25.125 -0 -LINE -5 -7B1 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 --5.125 -11 -4.05 -21 -13.3 -0 -LINE -5 -7B2 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.3 -11 -15.95 -21 -13.3 -0 -LINE -5 -7B3 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 --5.125 -11 -4.125 -21 --5.125 -0 -LINE -5 -7B4 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 --5.125 -11 -15.95 -21 -13.3 -0 -LINE -5 -7B5 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.3 -11 --5.125 -21 -25.125 -0 -LINE -5 -7B6 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 -13.3 -11 --5.125 -21 -13.3 -0 -LINE -5 -7B7 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -54.9999999688 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7B8 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7B9 -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -5.49999997138 -21 -25.125 -0 -LINE -5 -7BA -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -54.9999999688 -11 -5.50000009574 -21 -54.9999999563 -0 -LINE -5 -7BB -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.49999997138 -20 -25.125 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -7BC -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -7BD -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000000957 -20 -54.9999999064 -11 -17.4999999714 -21 -25.1249999875 -0 -LINE -5 -7BE -100 -AcDbEntity -8 -temp -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -17.5000000957 -21 -54.9999999064 -0 -LINE -5 -7BF -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -13.3 -11 -4.05 -21 -13.3 -0 -LINE -5 -7C0 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.05 -20 -13.3 -11 -4.125 -21 --5.125 -0 -LINE -5 -7C1 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -4.125 -20 --5.125 -11 -15.95 -21 --5.125 -0 -LINE -5 -7C2 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 --5.125 -11 -15.95 -21 -13.3 -0 -LINE -5 -7C3 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -15.95 -20 -13.3 -11 -25.125 -21 -13.3 -0 -LINE -5 -7C4 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -13.3 -11 -25.125 -21 -25.125 -0 -LINE -5 -7C5 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -25.125 -20 -25.125 -11 -17.4999999714 -21 -25.1249999875 -0 -LINE -5 -7C6 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.4999999714 -20 -25.1249999875 -11 -17.5000000957 -21 -54.9999999064 -0 -LINE -5 -7C7 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -17.5000000957 -20 -54.9999999064 -11 -14.5000000957 -21 -54.9999999189 -0 -LINE -5 -7C8 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.5000000957 -20 -54.9999999189 -11 -14.4999999714 -21 -25.125 -0 -LINE -5 -7C9 -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -14.4999999714 -20 -25.125 -11 -5.49999997138 -21 -25.125 -0 -LINE -5 -7CA -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.49999997138 -20 -25.125 -11 -5.50000009574 -21 -54.9999999563 -0 -LINE -5 -7CB -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -5.50000009574 -20 -54.9999999563 -11 -2.50000009574 -21 -54.9999999688 -0 -LINE -5 -7CC -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.50000009574 -20 -54.9999999688 -11 -2.49999997138 -21 -25.125 -0 -LINE -5 -7CD -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -2.49999997138 -20 -25.125 -11 --5.125 -21 -25.125 -0 -LINE -5 -7CE -100 -AcDbEntity -8 -foot-profil-4-40 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --5.125 -20 -25.125 -11 --5.125 -21 -13.3 -0 -POINT -5 -7CF -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbPoint -10 -0 -20 -0 -0 -MTEXT -5 -7D0 -100 -AcDbEntity -8 -foot -6 -ByLayer -62 -256 -370 --1 -100 -AcDbMText -10 -58.041154813 -20 --41.2314214519 -30 -0 -40 -3 -41 -84.5000046286 -71 -1 -72 -5 -1 -Reprap Jeanne\Pfixation du bas des axes de l'imprimante\P\PBy gnieark & TranKILLoman\P\Pscale 1:1 A4 -7 -standard -210 -0 -220 -0 -230 -1 -50 -0 -73 -2 -44 -0.96 -0 -CIRCLE -5 -7D1 -100 -AcDbEntity -8 -chausson-0-4 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -10 -20 --5.125 -40 -1 -0 -ARC -5 -7D2 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -46.971104675 -100 -AcDbArc -50 -239.568148281 -51 -251.578300055 -0 -LINE -5 -7D3 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.20851676776 -20 --5.5 -11 -18.9883075193 -21 --5.5 -0 -ARC -5 -7D4 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -47.071104675 -100 -AcDbArc -50 -288.783715182 -51 -300.638423686 -0 -ARC -5 -7D5 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 --4.99999974099 -20 -35.0000001248 -40 -51.0668863981 -100 -AcDbArc -50 -287.081542752 -51 -307.525951231 -0 -ARC -5 -7D6 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbCircle -10 -25 -20 -35 -40 -51.0668863981 -100 -AcDbArc -50 -232.474048539 -51 -252.918456771 -0 -LINE -5 -7D7 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --10.8186851348 -20 --5.5 -11 --6.10589793587 -21 --5.5 -0 -LINE -5 -7D8 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -30.8186852527 -20 --5.5 -11 -26.1058980324 -21 --5.5 -0 -LINE -5 -7D9 -100 -AcDbEntity -8 -bar-for-endstop-5-8 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.20851676776 -20 --5.5 -11 -18.9883075193 -21 --5.5 -0 -LINE -5 -7DA -100 -AcDbEntity -8 -bar-for-endstop-5-8 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.9883075193 -20 --5.5 -11 -18.9883075193 -21 --13.5645638187 -0 -LINE -5 -7DB -100 -AcDbEntity -8 -bar-for-endstop-5-8 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -18.9883075193 -20 --13.5645638187 -11 -1.20851676776 -21 --13.5645638187 -0 -LINE -5 -7DC -100 -AcDbEntity -8 -bar-for-endstop-5-8 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -1.20851676776 -20 --5.5 -11 -1.20851676776 -21 --13.5645638187 -0 -LINE -5 -7DD -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -10.4999999271 -20 --13.6577525636 -11 -10.499999914 -21 --16.797472936 -0 -LINE -5 -7DE -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.49999992709 -20 --13.6577525594 -11 -9.99999992644 -21 --13.8142078107 -0 -LINE -5 -7DF -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.99999992644 -20 --13.8142078107 -11 -10.4999999271 -21 --13.6577525636 -0 -LINE -5 -7E0 -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.49999991403 -20 --16.7974729318 -11 -9.99999991342 -21 --16.9444722967 -0 -LINE -5 -7E1 -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.99999991342 -20 --16.9444722967 -11 -10.499999914 -21 --16.797472936 -0 -LINE -5 -7E2 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.99999991342 -20 --16.9444722967 -11 --6.10589798347 -21 --16.9444722297 -0 -LINE -5 -7E3 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 --10.8186851348 -20 --5.5 -11 --6.10589798347 -21 --16.9444722297 -0 -LINE -5 -7E4 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.99999991342 -20 --16.9444722967 -11 -26.1058980324 -21 --16.9444723637 -0 -LINE -5 -7E5 -100 -AcDbEntity -8 -bar-for-endstop-0-5 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -26.1058980324 -20 --16.9444723637 -11 -30.8186852527 -21 --5.5 -0 -LINE -5 -7E6 -100 -AcDbEntity -8 -bar-for-endstop-8-15 -6 -ByLayer -62 -256 -370 --1 -100 -AcDbLine -10 -9.49999992709 -20 --13.6577525594 -11 -9.49999991403 -21 --16.7974729318 -0 -ENDSEC -0 -SECTION -2 -OBJECTS -0 -DICTIONARY -5 -C -330 -0 -100 -AcDbDictionary -281 -1 -3 -ACAD_GROUP -350 -D -0 -DICTIONARY -5 -D -330 -C -100 -AcDbDictionary -281 -1 -0 -ENDSEC -0 -EOF diff --git a/DXF-SCAD-AND-OTHERS/bas-de-l-axe-plus-petit.scad b/DXF-SCAD-AND-OTHERS/bas-de-l-axe-plus-petit.scad index 3de97ff..1635c52 100644 --- a/DXF-SCAD-AND-OTHERS/bas-de-l-axe-plus-petit.scad +++ b/DXF-SCAD-AND-OTHERS/bas-de-l-axe-plus-petit.scad @@ -11,12 +11,10 @@ By Gnieark https://blog-du-grouik.tinad.fr & TranKILLoman License GNU-GPL V3 - */ linear_extrude (height=4.01) import (file="all.dxf", layer="foot-profil-0-4", $fn=100); - difference(){ union(){ translate([0,0,4]) @@ -30,13 +28,13 @@ difference(){ unCone(); } union(){ - translate([0,43,16]) + translate([-10,43,16]) rotate([90,0,90]) - cylinder(r=4,$fn=50, h=20); + #cylinder(r=4,$fn=50, h=50); difference(){ translate([-10,43,16])rotate([90,0,90]) cylinder(r=20,h=40,$fn=50); union(){ - translate([-11,43,16]) rotate([90,0,90]) #cylinder(r=11.1,h=42,$fn=100); + translate([-11,43,16]) rotate([90,0,90]) cylinder(r=11.1,h=42,$fn=100); translate([-11,13,0]) cube([42,30,30]); translate([-11,40,0]) cube([42,30,16]); } diff --git a/DXF-SCAD-AND-OTHERS/glissement.scad b/DXF-SCAD-AND-OTHERS/glissement.scad index 37ed07f..39e31ab 100644 --- a/DXF-SCAD-AND-OTHERS/glissement.scad +++ b/DXF-SCAD-AND-OTHERS/glissement.scad @@ -11,40 +11,69 @@ By Gnieark https://blog-du-grouik.tinad.fr License GNU-GPL V3 -*/ - -include ; -/* Roulements à billes 623 ZZ (0.80€) Diamètre intérieur : 3mm Diamètre extérieur : 10 mm Largeur : 4 mm -Le système de glissemen,t est divisé en deux pièces +Le système de glissement est divisé en trois pièces afin de faciliter son impression. +*/ +$fn=200; + +/* +glissement(); +part2(); +part3(); +translate([20,0,10]) + rotate([0,180,0]) + part3(); */ +//Décommentez les lignes suivantes et commentez les précédentes +//Pour avoir les 3 pièces disposées à plat de façon à les imprimer +//facilement -$fn=200; glissement(); +translate([0,45,35]) + rotate([270,0,90]) part2(); +translate([30,52,9]) + rotate ([0,0,90]) + part3(); +translate([45,52,9]) + rotate ([0,0,90]) + part3(); + + module glissement(){ + //Pièce principale difference(){ union(){ linear_extrude (height=10) import (file="all.dxf", layer="profil-pour-3d", $fn=100); - cones(); + +/* + translate([0,0,-9]) + linear_extrude (height=28) + import (file="all.dxf", layer="bar-for-endstop-8-15", $fn=100); +*/ + + cones(); + } union(){ screws(); - //trou pour vis fixation des deux pièces ensembles: + //trous pour vis fixations pièces ensembles: translate([10,30,5]) rotate([-90,0,0]) cylinder(r=1.5,h=6); + translate([-10,4,2.5]) rotate([0,90,0]) cylinder(r=1.5,h=40); + translate([-10,4,7.5]) rotate([0,90,0]) cylinder(r=1.5,h=40); } } - - //Piece pour les deux roulements verticaux +} +module part2(){ difference(){ union(){ translate([0,0,-9]) @@ -80,20 +109,54 @@ module glissement(){ //encoche pour emboiter les deux pièces - translate([1.99,32.99,0]) cube([16.02,2.02,10]); + translate([1.99,32.99,-0.5]) cube([16.02,2.02,11]); //trou pour vis fixation des deux pièces ensembles: translate([10,30,5]) rotate([-90,0,0]) cylinder(r=1.5,h=6); - } - } + } + } + +} +module part3(){ +//3eme part + difference(){ + union(){ + translate([0,0,-8.99]) + linear_extrude (height=9) + import (file="all.dxf", layer="profil-pour-3d-3", $fn=100); + + + linear_extrude (height=4.99) + import (file="all.dxf", layer="profil-pour-3d-3-middle", $fn=100); + + translate([4.1225, -0.01, -5]) rotate([90,0,0]) unCone(); + translate([15.8775, -0.01, -5]) rotate([90,0,0]) unCone(); + translate([4.1225, 4.01, -5]) rotate([270,0,0]) unCone(); + translate([15.8775, 4.01, -5]) rotate([270,0,0]) unCone(); + + } + union(){ + translate([4.1225,8.1862,-5]) + rotate([90,0,0]) + cylinder (r=1.5, h=14); + translate([15.8775,8.1862,-5]) + rotate([90,0,0]) + cylinder (r=1.5, h=14); + + translate([4.1225,8.1862,15]) + rotate([90,0,0]) + cylinder (r=1.5, h=14); + translate([15.8775,8.1862,15]) + rotate([90,0,0]) + cylinder (r=1.5, h=14); + + //trou pour vis de fixation + translate([-10,4,2.5]) rotate([0,90,0]) cylinder(r=1.5,h=40); + + } + } } module screws(){ - translate([4.1225,7.1862,5]) - rotate([90,0,0]) - cylinder (r=1.5, h=14); - translate([15.8775,7.1862,5]) - rotate([90,0,0]) - cylinder (r=1.5, h=14); translate([-5.1,13.3725,5]) rotate([90,0,90]) cylinder (r=1.5, h=12); @@ -103,9 +166,19 @@ module screws(){ translate([26,13.3725,5]) rotate([90,0,90]) cylinder (r=4, h=20); + + translate([26,4,5]) + rotate([90,0,90]) + cylinder (r=4, h=20); + translate([-26,13.3725,5]) rotate([90,0,90]) cylinder (r=4, h=20); + + translate([-26,4,5]) + rotate([90,0,90]) + cylinder (r=4, h=20); + translate([4.1225,-6,5]) rotate([90,0,0]) cylinder (r=4, h=10); @@ -121,14 +194,11 @@ module screws(){ } module cones(){ - translate([4.01,13.3725,5]) rotate([90,0,90]) unCone(); - translate([20.01,13.3725,5]) rotate([90,0,90]) unCone(); - translate([-0.01,13.3725,5]) rotate([270,0,90]) unCone(); - translate([15.99,13.3725,5]) rotate([270,0,90]) unCone(); - translate([4.1225,-0.01,5]) rotate([90,0,0]) unCone(); - translate([15.8775,-0.01,5]) rotate([90,0,0]) unCone(); - translate([4.1225,4.01,5]) rotate([270,0,0]) unCone(); - translate([15.8775,4.01,5]) rotate([270,0,0]) unCone(); + translate([4.01, 13.3725, 5]) rotate([90,0,90]) unCone(); + translate([20.01, 13.3725, 5]) rotate([90,0,90]) unCone(); + translate([-0.01, 13.3725, 5]) rotate([270,0,90]) unCone(); + translate([15.99, 13.3725, 5]) rotate([270,0,90]) unCone(); + } module unCone(){ diff --git a/DXF-SCAD-AND-OTHERS/top-axis.scad b/DXF-SCAD-AND-OTHERS/top-axis.scad index b8ea2d1..886d591 100644 --- a/DXF-SCAD-AND-OTHERS/top-axis.scad +++ b/DXF-SCAD-AND-OTHERS/top-axis.scad @@ -23,12 +23,9 @@ module topAxis(){ [0,0],[11.75,0],[11.75,18.5],[21,18.5],[21,30.25],[-2.25,30.25],[-2.25,65.385],[0.75,65.385],[-7.25,65.385],[-7.25,22.585],[-9.25,22.585],[-9.25,18.5],[0,18.5] ]); - translate([0,0,42.55]) - linear_extrude(5) - polygon (points=[ - [0,0],[11.75,0],[21,18.5],[21,30.25],[-2.25,30.25],[-2.25,65.385],[0.75,65.385],[0.75,73.385],[-7.25,73.385],[-7.25,22.585],[-9.25,22.585],[-9.25,18.5] - ]); - + translate([-4.2,5.1,42.55]) + linear_extrude (height=5) + import (file="all.dxf", layer="top-fix-profil2", $fn=100); } union(){ //emplacement du profil T diff --git a/Marlin b/Marlin deleted file mode 160000 index 0908c41..0000000 --- a/Marlin +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0908c41156d36a6acb486653726bf37d627ddf58 diff --git a/Marlin modifié/Configuration.h b/Marlin modifié/Configuration.h new file mode 100644 index 0000000..aedf330 --- /dev/null +++ b/Marlin modifié/Configuration.h @@ -0,0 +1,764 @@ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H + +#include "boards.h" + +// This configuration file contains the basic settings. +// Advanced settings can be found in Configuration_adv.h +// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/delta directory. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/SCARA directory. +// + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time +#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. + +// SERIAL_PORT selects which serial port should be used for communication with the host. +// This allows the connection of wireless adapters (for instance) to non-default port pins. +// Serial port 0 is still used by the Arduino bootloader regardless of this setting. +#define SERIAL_PORT 0 + +// This determines the communication speed of the printer +#define BAUDRATE 250000 + +// This enables the serial port associated to the Bluetooth interface +//#define BTENABLED // Enable BT interface on AT90USB devices + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_ULTIMAKER +#endif + +// Define this to set a custom name for your generic Mendel, +// #define CUSTOM_MENDEL_NAME "This Mendel" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// This defines the number of extruders +#define EXTRUDERS 1 + +//// The following define selects which power supply you have. Please choose the one that matches your setup +// 1 = ATX +// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + +#define POWER_SUPPLY 1 + +// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. +// #define PS_DEFAULT_OFF + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== +// +//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table +// +//// Temperature sensor settings: +// -2 is thermocouple with MAX6675 (only for sensor 0) +// -1 is thermocouple with AD595 +// 0 is not used +// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup) +// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) +// 3 is Mendel-parts thermistor (4.7k pullup) +// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! +// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup) +// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) +// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) +// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) +// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) +// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) +// 10 is 100k RS thermistor 198-961 (4.7k pullup) +// 11 is 100k beta 3950 1% thermistor (4.7k pullup) +// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) +// 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" +// 20 is the PT100 circuit found in the Ultimainboard V2.x +// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 +// +// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k +// (but gives greater accuracy and more stable PID) +// 51 is 100k thermistor - EPCOS (1k pullup) +// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) +// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) +// +// 1047 is Pt1000 with 4k7 pullup +// 1010 is Pt1000 with 1k pullup (non standard) +// 147 is Pt100 with 4k7 pullup +// 110 is Pt100 with 1k pullup (non standard) + +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 1 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_BED 0 + +// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Actual temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define BED_MAXTEMP 150 + +// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the +// average current. The value should be an integer and the heat bed will be turned on for 1 interval of +// HEATER_BED_DUTY_CYCLE_DIVIDER intervals. +//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4 + +// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) EXTRUDER_WATTS +//#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R +//#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R + +// PID settings: +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX 255 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#ifdef PIDTEMP + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + #define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term + #define K1 0.95 //smoothing factor within the PID + #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine + +// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it +// Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + +// MakerGear +// #define DEFAULT_Kp 7.0 +// #define DEFAULT_Ki 0.1 +// #define DEFAULT_Kd 12 + +// Mendel Parts V9 on 12V +// #define DEFAULT_Kp 63.0 +// #define DEFAULT_Ki 2.25 +// #define DEFAULT_Kd 440 +#endif // PIDTEMP + +// Bed Temperature Control +// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis +// +// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. +// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz, +// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. +// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. +// If your configuration is significantly different than this and you don't understand the issues involved, you probably +// shouldn't use bed PID until someone else verifies your hardware works. +// If this is enabled, find your own PID constants below. +//#define PIDTEMPBED +// +//#define BED_LIMIT_SWITCHING + +// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. +// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) +// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, +// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED) +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#ifdef PIDTEMPBED +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from pidautotune +// #define DEFAULT_bedKp 97.1 +// #define DEFAULT_bedKi 1.41 +// #define DEFAULT_bedKd 1675.16 + +// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + + + +//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit +//can be software-disabled for whatever purposes by +#define PREVENT_DANGEROUS_EXTRUDE +//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately. +#define PREVENT_LENGTHY_EXTRUDE + +#define EXTRUDE_MINTEMP 170 +#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. + +/*================== Thermal Runaway Protection ============================== +This is a feature to protect your printer from burn up in flames if it has +a thermistor coming off place (this happened to a friend of mine recently and +motivated me writing this feature). + +The issue: If a thermistor come off, it will read a lower temperature than actual. +The system will turn the heater on forever, burning up the filament and anything +else around. + +After the temperature reaches the target for the first time, this feature will +start measuring for how long the current temperature stays below the target +minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS). + +If it stays longer than _PERIOD, it means the thermistor temperature +cannot catch up with the target, so something *may be* wrong. Then, to be on the +safe side, the system will he halt. + +Bear in mind the count down will just start AFTER the first time the +thermistor temperature is over the target, so you will have no problem if +your extruder heater takes 2 minutes to hit the target on heating. + +*/ +// If you want to enable this feature for all your extruder heaters, +// uncomment the 2 defines below: + +// Parameters for all extruder heaters +//#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius + +// If you want to enable this feature for your bed heater, +// uncomment the 2 defines below: + +// Parameters for the bed heater +//#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius +//=========================================================================== + + +//=========================================================================== +//=============================Mechanical Settings=========================== +//=========================================================================== + +// Uncomment the following line to enable CoreXY kinematics +// #define COREXY + +// coarse Endstop Settings +#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors + +#ifndef ENDSTOPPULLUPS + // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined + // #define ENDSTOPPULLUP_XMAX + // #define ENDSTOPPULLUP_YMAX + // #define ENDSTOPPULLUP_ZMAX + // #define ENDSTOPPULLUP_XMIN + // #define ENDSTOPPULLUP_YMIN + // #define ENDSTOPPULLUP_ZMIN +#endif + +#ifdef ENDSTOPPULLUPS + #define ENDSTOPPULLUP_XMAX + #define ENDSTOPPULLUP_YMAX + #define ENDSTOPPULLUP_ZMAX + #define ENDSTOPPULLUP_XMIN + #define ENDSTOPPULLUP_YMIN + #define ENDSTOPPULLUP_ZMIN +#endif + +// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. +const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +//#define DISABLE_MAX_ENDSTOPS +//#define DISABLE_MIN_ENDSTOPS + +// Disable max endstops for compatibility with endstop checking routine +#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS) + #define DISABLE_MAX_ENDSTOPS +#endif + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis when it's not being used. +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled + +#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true +#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false +#define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true +#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false + +// ENDSTOP SETTINGS: +// Sets direction of endstops when homing; 1=MAX, -1=MIN +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. +#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. + +// Travel limits after homing +#define X_MAX_POS 205 +#define X_MIN_POS 0 +#define Y_MAX_POS 205 +#define Y_MIN_POS 0 +#define Z_MAX_POS 200 +#define Z_MIN_POS 0 + +#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) +#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) +#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) +//============================= Bed Auto Leveling =========================== + +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) +#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. + +#ifdef ENABLE_AUTO_BED_LEVELING + +// There are 2 different ways to pick the X and Y locations to probe: + +// - "grid" mode +// Probe every point in a rectangular grid +// You must specify the rectangle, and the density of sample points +// This mode is preferred because there are more measurements. +// It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive + +// - "3-point" mode +// Probe 3 arbitrary points on the bed (that aren't colinear) +// You must specify the X & Y coordinates of all 3 points + + #define AUTO_BED_LEVELING_GRID + // with AUTO_BED_LEVELING_GRID, the bed is sampled in a + // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid + // and least squares solution is calculated + // Note: this feature occupies 10'206 byte + #ifdef AUTO_BED_LEVELING_GRID + + // set the rectangle in which to probe + #define LEFT_PROBE_BED_POSITION 15 + #define RIGHT_PROBE_BED_POSITION 170 + #define BACK_PROBE_BED_POSITION 180 + #define FRONT_PROBE_BED_POSITION 20 + + // set the number of grid points per dimension + // I wouldn't see a reason to go above 3 (=9 probing points on the bed) + #define AUTO_BED_LEVELING_GRID_POINTS 2 + + + #else // not AUTO_BED_LEVELING_GRID + // with no grid, just probe 3 arbitrary points. A simple cross-product + // is used to esimate the plane of the print bed + + #define ABL_PROBE_PT_1_X 15 + #define ABL_PROBE_PT_1_Y 180 + #define ABL_PROBE_PT_2_X 15 + #define ABL_PROBE_PT_2_Y 20 + #define ABL_PROBE_PT_3_X 170 + #define ABL_PROBE_PT_3_Y 20 + + #endif // AUTO_BED_LEVELING_GRID + + + // these are the offsets to the probe relative to the extruder tip (Hotend - Probe) + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 + + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. + // Be sure you have this distance over your Z_MAX_POS in case + + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + + #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points + + //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell + //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + + //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk + //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. + // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile. + +// #define PROBE_SERVO_DEACTIVATION_DELAY 300 + + +//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, +//it is highly recommended you let this Z_SAFE_HOMING enabled!!! + + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + // When defined, it will: + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled + // - If stepper drivers timeout, it will need X and Y homing again before Z homing + // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) + // - Block Z homing only when the probe is outside bed area. + + #ifdef Z_SAFE_HOMING + + #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28) + + #endif + +#endif // ENABLE_AUTO_BED_LEVELING + + +// The position of the homing switches +//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used +//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0) + +//Manual homing switch locations: +// For deltabots this means top and center of the Cartesian print volume. +#define MANUAL_X_HOME_POS 0 +#define MANUAL_Y_HOME_POS 0 +#define MANUAL_Z_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing. + +//// MOVEMENT SETTINGS +#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E +#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min) + +// default settings + +#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200.0*8/3,760*1.1} // default steps per unit for Ultimaker +#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 25} // (mm/sec) +#define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot. + +#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for retracts + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously) +#define DEFAULT_XYJERK 20.0 // (mm/sec) +#define DEFAULT_ZJERK 0.4 // (mm/sec) +#define DEFAULT_EJERK 5.0 // (mm/sec) + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +// Custom M code points +#define CUSTOM_M_CODES +#ifdef CUSTOM_M_CODES + #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 + #define Z_PROBE_OFFSET_RANGE_MIN -15 + #define Z_PROBE_OFFSET_RANGE_MAX -5 +#endif + + +// EEPROM +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +//define this to enable EEPROM support +//#define EEPROM_SETTINGS +//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: +// please keep turned on if you can. +//#define EEPROM_CHITCHAT + +// Preheat Constants +#define PLA_PREHEAT_HOTEND_TEMP 180 +#define PLA_PREHEAT_HPB_TEMP 70 +#define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +#define ABS_PREHEAT_HOTEND_TEMP 240 +#define ABS_PREHEAT_HPB_TEMP 100 +#define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +//LCD and SD support +//#define ULTRA_LCD //general LCD support, also 16x2 +//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) +//#define SDSUPPORT // Enable SD Card Support in Hardware Console +//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) +//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication +//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder +//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking +//#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. +//#define ULTIPANEL //the UltiPanel as on Thingiverse +//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click + +// The MaKr3d Makr-Panel with graphic controller and SD support +// http://reprap.org/wiki/MaKr3d_MaKrPanel +//#define MAKRPANEL + +// The RepRapDiscount Smart Controller (white PCB) +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// The GADGETS3D G3D LCD/SD Controller (blue PCB) +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +//#define G3D_PANEL + +// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB) +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// The RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click + +// The Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARUDINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C +//#define RA_CONTROL_PANEL + +//automatic expansion +#if defined (MAKRPANEL) + #define DOGLCD + #define SDSUPPORT + #define ULTIPANEL + #define NEWPANEL + #define DEFAULT_LCD_CONTRAST 17 +#endif + +#if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #define DOGLCD + #define U8GLIB_ST7920 + #define REPRAP_DISCOUNT_SMART_CONTROLLER +#endif + +#if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) + #define ULTIPANEL + #define NEWPANEL +#endif + +#if defined(REPRAPWORLD_KEYPAD) + #define NEWPANEL + #define ULTIPANEL +#endif +#if defined(RA_CONTROL_PANEL) + #define ULTIPANEL + #define NEWPANEL + #define LCD_I2C_TYPE_PCA8574 + #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander +#endif + +//I2C PANELS + +//#define LCD_I2C_SAINSMART_YWROBOT +#ifdef LCD_I2C_SAINSMART_YWROBOT + // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home ) + // Make sure it is placed in the Arduino libraries directory. + #define LCD_I2C_TYPE_PCF8575 + #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander + #define NEWPANEL + #define ULTIPANEL +#endif + +// PANELOLU2 LCD with status LEDs, separate encoder and click inputs +//#define LCD_I2C_PANELOLU2 +#ifdef LCD_I2C_PANELOLU2 + // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) + // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. + // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file) + // Note: The PANELOLU2 encoder click input can either be directly connected to a pin + // (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). + #define LCD_I2C_TYPE_MCP23017 + #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander + #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD + #define NEWPANEL + #define ULTIPANEL + + #ifndef ENCODER_PULSES_PER_STEP + #define ENCODER_PULSES_PER_STEP 4 + #endif + + #ifndef ENCODER_STEPS_PER_MENU_ITEM + #define ENCODER_STEPS_PER_MENU_ITEM 1 + #endif + + + #ifdef LCD_USE_I2C_BUZZER + #define LCD_FEEDBACK_FREQUENCY_HZ 1000 + #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 + #endif + +#endif + +// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs +//#define LCD_I2C_VIKI +#ifdef LCD_I2C_VIKI + // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) + // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. + // Note: The pause/stop/resume LCD button pin should be connected to the Arduino + // BTN_ENC pin (or set BTN_ENC to -1 if not used) + #define LCD_I2C_TYPE_MCP23017 + #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander + #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) + #define NEWPANEL + #define ULTIPANEL +#endif + +// Shift register panels +// --------------------- +// 2 wire Non-latching LCD SR from: +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection +//#define SR_LCD +#ifdef SR_LCD + #define SR_LCD_2W_NL // Non latching 2 wire shift register + //#define NEWPANEL +#endif + + +#ifdef ULTIPANEL +// #define NEWPANEL //enable this if you have a click-encoder panel + #define SDSUPPORT + #define ULTRA_LCD + #ifdef DOGLCD // Change number of lines to match the DOG graphic display + #define LCD_WIDTH 20 + #define LCD_HEIGHT 5 + #else + #define LCD_WIDTH 20 + #define LCD_HEIGHT 4 + #endif +#else //no panel but just LCD + #ifdef ULTRA_LCD + #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display + #define LCD_WIDTH 20 + #define LCD_HEIGHT 5 + #else + #define LCD_WIDTH 16 + #define LCD_HEIGHT 2 + #endif + #endif +#endif + +// default LCD contrast for dogm-like LCD displays +#ifdef DOGLCD +# ifndef DEFAULT_LCD_CONTRAST +# define DEFAULT_LCD_CONTRAST 32 +# endif +#endif + +// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Temperature status LEDs that display the hotend and bet temperature. +// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on. +// Otherwise the RED led is on. There is 1C hysteresis. +//#define TEMP_STAT_LEDS + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not ass annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +// #define PHOTOGRAPH_PIN 23 + +// SF send wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder. +//#define BARICUDA + +//define BlinkM/CyzRgb Support +//#define BLINKM + +/*********************************************************************\ +* R/C SERVO support +* Sponsored by TrinityLabs, Reworked by codexmas +**********************************************************************/ + +// Number of servos +// +// If you select a configuration below, this will receive a default value and does not need to be set manually +// set it manually if you have more servos than extruders and wish to manually control some +// leaving it undefined or defining as 0 will disable the servo subsystem +// If unsure, leave commented / disabled +// +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Servo Endstops +// +// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. +// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500. +// +//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1 +//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles + +/**********************************************************************\ + * Support for a filament diameter sensor + * Also allows adjustment of diameter at print time (vs at slicing) + * Single extruder only at this point (extruder 0) + * + * Motherboards + * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector + * 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 - Rambo - uses Analog input 3 + * Note may require analog pins to be defined for different motherboards + **********************************************************************/ +// Uncomment below to enable +//#define FILAMENT_SENSOR + +#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2) +#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel + +#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation +#define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm +#define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm +#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM) + +//defines used in the code +#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially + +//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec. +//#define FILAMENT_LCD_DISPLAY + + + + + + +#include "Configuration_adv.h" +#include "thermistortables.h" + +#endif //__CONFIGURATION_H diff --git a/Marlin/BlinkM.cpp b/Marlin/BlinkM.cpp new file mode 100644 index 0000000..b340f96 --- /dev/null +++ b/Marlin/BlinkM.cpp @@ -0,0 +1,22 @@ +/* + BlinkM.cpp - Library for controlling a BlinkM over i2c + Created by Tim Koster, August 21 2013. +*/ +#include "Marlin.h" +#ifdef BLINKM + +#include "BlinkM.h" + +void SendColors(byte red, byte grn, byte blu) { + Wire.begin(); + Wire.beginTransmission(0x09); + Wire.write('o'); //to disable ongoing script, only needs to be used once + Wire.write('n'); + Wire.write(red); + Wire.write(grn); + Wire.write(blu); + Wire.endTransmission(); +} + +#endif //BLINKM + diff --git a/Marlin/BlinkM.h b/Marlin/BlinkM.h new file mode 100644 index 0000000..5b802b7 --- /dev/null +++ b/Marlin/BlinkM.h @@ -0,0 +1,13 @@ +/* + BlinkM.h + Library header file for BlinkM library + */ +#if ARDUINO >= 100 + #include "Arduino.h" +#else + #include "WProgram.h" +#endif + +#include "Wire.h" + +void SendColors(byte red, byte grn, byte blu); diff --git a/Marlin/Conditionals.h b/Marlin/Conditionals.h new file mode 100644 index 0000000..fa57408 --- /dev/null +++ b/Marlin/Conditionals.h @@ -0,0 +1,492 @@ +/** + * Conditionals.h + * Defines that depend on configuration but are not editable. + */ +#ifndef CONDITIONALS_H + +#ifndef M_PI + #define M_PI 3.1415926536 +#endif + +#ifndef CONFIGURATION_LCD // Get the LCD defines which are needed first + + #define PIN_EXISTS(PN) (defined(PN##_PIN) && PN##_PIN >= 0) + + #define CONFIGURATION_LCD + + #if defined(MAKRPANEL) + #define DOGLCD + #define SDSUPPORT + #define DEFAULT_LCD_CONTRAST 17 + #define ULTIPANEL + #define NEWPANEL + #endif + + #if defined(miniVIKI) || defined(VIKI2) + #define ULTRA_LCD //general LCD support, also 16x2 + #define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) + #define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. + + #ifdef miniVIKI + #define DEFAULT_LCD_CONTRAST 95 + #else + #define DEFAULT_LCD_CONTRAST 40 + #endif + + #define ENCODER_PULSES_PER_STEP 4 + #define ENCODER_STEPS_PER_MENU_ITEM 1 + #endif + + #ifdef PANEL_ONE + #define SDSUPPORT + #define ULTIMAKERCONTROLLER + #endif + + #ifdef REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + #define DOGLCD + #define U8GLIB_ST7920 + #define REPRAP_DISCOUNT_SMART_CONTROLLER + #endif + + #if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) + #define ULTIPANEL + #define NEWPANEL + #endif + + #ifdef REPRAPWORLD_KEYPAD + #define ULTIPANEL + #define NEWPANEL + #endif + + #ifdef RA_CONTROL_PANEL + #define LCD_I2C_TYPE_PCA8574 + #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander + #define ULTIPANEL + #define NEWPANEL + #endif + + /** + * I2C PANELS + */ + + #ifdef LCD_I2C_SAINSMART_YWROBOT + // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home ) + // Make sure it is placed in the Arduino libraries directory. + #define LCD_I2C_TYPE_PCF8575 + #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander + #define ULTIPANEL + #define NEWPANEL + #endif + + // PANELOLU2 LCD with status LEDs, separate encoder and click inputs + #ifdef LCD_I2C_PANELOLU2 + // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) + // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. + // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file) + // Note: The PANELOLU2 encoder click input can either be directly connected to a pin + // (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). + #define LCD_I2C_TYPE_MCP23017 + #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander + #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD + + #ifndef ENCODER_PULSES_PER_STEP + #define ENCODER_PULSES_PER_STEP 4 + #endif + + #ifndef ENCODER_STEPS_PER_MENU_ITEM + #define ENCODER_STEPS_PER_MENU_ITEM 1 + #endif + + #ifdef LCD_USE_I2C_BUZZER + #define LCD_FEEDBACK_FREQUENCY_HZ 1000 + #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 + #endif + + #define ULTIPANEL + #define NEWPANEL + #endif + + // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs + #ifdef LCD_I2C_VIKI + // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) + // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. + // Note: The pause/stop/resume LCD button pin should be connected to the Arduino + // BTN_ENC pin (or set BTN_ENC to -1 if not used) + #define LCD_I2C_TYPE_MCP23017 + #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander + #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) + #define ULTIPANEL + #define NEWPANEL + #endif + + // Shift register panels + // --------------------- + // 2 wire Non-latching LCD SR from: + // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection + + #ifdef SAV_3DLCD + #define SR_LCD_2W_NL // Non latching 2 wire shiftregister + #define ULTIPANEL + #define NEWPANEL + #endif + + #ifdef ULTIPANEL + #define NEWPANEL //enable this if you have a click-encoder panel + #define SDSUPPORT + #define ULTRA_LCD + #ifdef DOGLCD // Change number of lines to match the DOG graphic display + #define LCD_WIDTH 22 + #define LCD_HEIGHT 5 + #else + #define LCD_WIDTH 20 + #define LCD_HEIGHT 4 + #endif + #else //no panel but just LCD + #ifdef ULTRA_LCD + #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display + #define LCD_WIDTH 22 + #define LCD_HEIGHT 5 + #else + #define LCD_WIDTH 16 + #define LCD_HEIGHT 2 + #endif + #endif + #endif + + #ifdef DOGLCD + /* Custom characters defined in font font_6x10_marlin_symbols */ + // \x00 intentionally skipped to avoid problems in strings + #define LCD_STR_REFRESH "\x01" + #define LCD_STR_FOLDER "\x02" + #define LCD_STR_ARROW_RIGHT "\x03" + #define LCD_STR_UPLEVEL "\x04" + #define LCD_STR_CLOCK "\x05" + #define LCD_STR_FEEDRATE "\x06" + #define LCD_STR_BEDTEMP "\x07" + #define LCD_STR_THERMOMETER "\x08" + #define LCD_STR_DEGREE "\x09" + + #define LCD_STR_SPECIAL_MAX '\x09' + // Maximum here is 0x1f because 0x20 is ' ' (space) and the normal charsets begin. + // Better stay below 0x10 because DISPLAY_CHARSET_HD44780_WESTERN begins here. + #else + /* Custom characters defined in the first 8 characters of the LCD */ + #define LCD_STR_BEDTEMP "\x00" // this will have 'unexpected' results when used in a string! + #define LCD_STR_DEGREE "\x01" + #define LCD_STR_THERMOMETER "\x02" + #define LCD_STR_UPLEVEL "\x03" + #define LCD_STR_REFRESH "\x04" + #define LCD_STR_FOLDER "\x05" + #define LCD_STR_FEEDRATE "\x06" + #define LCD_STR_CLOCK "\x07" + #define LCD_STR_ARROW_RIGHT ">" /* from the default character set */ + #endif + + /** + * Default LCD contrast for dogm-like LCD displays + */ + #if defined(DOGLCD) && !defined(DEFAULT_LCD_CONTRAST) + #define DEFAULT_LCD_CONTRAST 32 + #endif + + #ifdef DOGLCD + #define HAS_LCD_CONTRAST + #ifdef U8GLIB_ST7920 + #undef HAS_LCD_CONTRAST + #endif + #endif + +#else // CONFIGURATION_LCD + + #define CONDITIONALS_H + + #ifndef AT90USB + #define HardwareSerial_h // trick to disable the standard HWserial + #endif + + #if (ARDUINO >= 100) + #include "Arduino.h" + #else + #include "WProgram.h" + #endif + + #include "pins.h" + + /** + * ENDSTOPPULLUPS + */ + #ifdef ENDSTOPPULLUPS + #ifndef DISABLE_MAX_ENDSTOPS + #define ENDSTOPPULLUP_XMAX + #define ENDSTOPPULLUP_YMAX + #define ENDSTOPPULLUP_ZMAX + #endif + #ifndef DISABLE_MIN_ENDSTOPS + #define ENDSTOPPULLUP_XMIN + #define ENDSTOPPULLUP_YMIN + #define ENDSTOPPULLUP_ZMIN + #endif + #ifndef DISABLE_Z_PROBE_ENDSTOP + #define ENDSTOPPULLUP_ZPROBE + #endif + #endif + + /** + * Axis lengths + */ + #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) + #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) + #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + + /** + * SCARA + */ + #ifdef SCARA + #undef SLOWDOWN + #define QUICK_HOME //SCARA needs Quickhome + #endif + + /** + * AUTOSET LOCATIONS OF LIMIT SWITCHES + * Added by ZetaPhoenix 09-15-2012 + */ + #ifdef MANUAL_HOME_POSITIONS // Use manual limit switch locations + #define X_HOME_POS MANUAL_X_HOME_POS + #define Y_HOME_POS MANUAL_Y_HOME_POS + #define Z_HOME_POS MANUAL_Z_HOME_POS + #else //!MANUAL_HOME_POSITIONS – Use home switch positions based on homing direction and travel limits + #ifdef BED_CENTER_AT_0_0 + #define X_HOME_POS X_MAX_LENGTH * X_HOME_DIR * 0.5 + #define Y_HOME_POS Y_MAX_LENGTH * Y_HOME_DIR * 0.5 + #else + #define X_HOME_POS (X_HOME_DIR < 0 ? X_MIN_POS : X_MAX_POS) + #define Y_HOME_POS (Y_HOME_DIR < 0 ? Y_MIN_POS : Y_MAX_POS) + #endif + #define Z_HOME_POS (Z_HOME_DIR < 0 ? Z_MIN_POS : Z_MAX_POS) + #endif //!MANUAL_HOME_POSITIONS + + /** + * Auto Bed Leveling + */ + #ifdef ENABLE_AUTO_BED_LEVELING + // Boundaries for probing based on set limits + #define MIN_PROBE_X (max(X_MIN_POS, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) + #define MAX_PROBE_X (min(X_MAX_POS, X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) + #define MIN_PROBE_Y (max(Y_MIN_POS, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) + #define MAX_PROBE_Y (min(Y_MAX_POS, Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) + #endif + + /** + * MAX_STEP_FREQUENCY differs for TOSHIBA + */ + #ifdef CONFIG_STEPPERS_TOSHIBA + #define MAX_STEP_FREQUENCY 10000 // Max step frequency for Toshiba Stepper Controllers + #else + #define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step) + #endif + + // MS1 MS2 Stepper Driver Microstepping mode table + #define MICROSTEP1 LOW,LOW + #define MICROSTEP2 HIGH,LOW + #define MICROSTEP4 LOW,HIGH + #define MICROSTEP8 HIGH,HIGH + #define MICROSTEP16 HIGH,HIGH + + /** + * Advance calculated values + */ + #ifdef ADVANCE + #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * M_PI) + #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS] / EXTRUSION_AREA) + #endif + + #ifdef ULTIPANEL + #undef SDCARDDETECTINVERTED + #endif + + // Power Signal Control Definitions + // By default use ATX definition + #ifndef POWER_SUPPLY + #define POWER_SUPPLY 1 + #endif + #if (POWER_SUPPLY == 1) // 1 = ATX + #define PS_ON_AWAKE LOW + #define PS_ON_ASLEEP HIGH + #elif (POWER_SUPPLY == 2) // 2 = X-Box 360 203W + #define PS_ON_AWAKE HIGH + #define PS_ON_ASLEEP LOW + #endif + #define HAS_POWER_SWITCH (POWER_SUPPLY > 0 && PIN_EXISTS(PS_ON)) + + /** + * Temp Sensor defines + */ + #if TEMP_SENSOR_0 == -2 + #define HEATER_0_USES_MAX6675 + #elif TEMP_SENSOR_0 == -1 + #define HEATER_0_USES_AD595 + #elif TEMP_SENSOR_0 == 0 + #undef HEATER_0_MINTEMP + #undef HEATER_0_MAXTEMP + #elif TEMP_SENSOR_0 > 0 + #define THERMISTORHEATER_0 TEMP_SENSOR_0 + #define HEATER_0_USES_THERMISTOR + #endif + + #if TEMP_SENSOR_1 == -1 + #define HEATER_1_USES_AD595 + #elif TEMP_SENSOR_1 == 0 + #undef HEATER_1_MINTEMP + #undef HEATER_1_MAXTEMP + #elif TEMP_SENSOR_1 > 0 + #define THERMISTORHEATER_1 TEMP_SENSOR_1 + #define HEATER_1_USES_THERMISTOR + #endif + + #if TEMP_SENSOR_2 == -1 + #define HEATER_2_USES_AD595 + #elif TEMP_SENSOR_2 == 0 + #undef HEATER_2_MINTEMP + #undef HEATER_2_MAXTEMP + #elif TEMP_SENSOR_2 > 0 + #define THERMISTORHEATER_2 TEMP_SENSOR_2 + #define HEATER_2_USES_THERMISTOR + #endif + + #if TEMP_SENSOR_3 == -1 + #define HEATER_3_USES_AD595 + #elif TEMP_SENSOR_3 == 0 + #undef HEATER_3_MINTEMP + #undef HEATER_3_MAXTEMP + #elif TEMP_SENSOR_3 > 0 + #define THERMISTORHEATER_3 TEMP_SENSOR_3 + #define HEATER_3_USES_THERMISTOR + #endif + + #if TEMP_SENSOR_BED == -1 + #define BED_USES_AD595 + #elif TEMP_SENSOR_BED == 0 + #undef BED_MINTEMP + #undef BED_MAXTEMP + #elif TEMP_SENSOR_BED > 0 + #define THERMISTORBED TEMP_SENSOR_BED + #define BED_USES_THERMISTOR + #endif + + /** + * ARRAY_BY_EXTRUDERS based on EXTRUDERS + */ + #if EXTRUDERS > 3 + #define ARRAY_BY_EXTRUDERS(v1, v2, v3, v4) { v1, v2, v3, v4 } + #elif EXTRUDERS > 2 + #define ARRAY_BY_EXTRUDERS(v1, v2, v3, v4) { v1, v2, v3 } + #elif EXTRUDERS > 1 + #define ARRAY_BY_EXTRUDERS(v1, v2, v3, v4) { v1, v2 } + #else + #define ARRAY_BY_EXTRUDERS(v1, v2, v3, v4) { v1 } + #endif + + /** + * Shorthand for pin tests, used wherever needed + */ + #define HAS_TEMP_0 (PIN_EXISTS(TEMP_0) && TEMP_SENSOR_0 != 0 && TEMP_SENSOR_0 != -2) + #define HAS_TEMP_1 (PIN_EXISTS(TEMP_1) && TEMP_SENSOR_1 != 0) + #define HAS_TEMP_2 (PIN_EXISTS(TEMP_2) && TEMP_SENSOR_2 != 0) + #define HAS_TEMP_3 (PIN_EXISTS(TEMP_3) && TEMP_SENSOR_3 != 0) + #define HAS_TEMP_BED (PIN_EXISTS(TEMP_BED) && TEMP_SENSOR_BED != 0) + #define HAS_HEATER_0 (PIN_EXISTS(HEATER_0)) + #define HAS_HEATER_1 (PIN_EXISTS(HEATER_1)) + #define HAS_HEATER_2 (PIN_EXISTS(HEATER_2)) + #define HAS_HEATER_3 (PIN_EXISTS(HEATER_3)) + #define HAS_HEATER_BED (PIN_EXISTS(HEATER_BED)) + #define HAS_AUTO_FAN_0 (PIN_EXISTS(EXTRUDER_0_AUTO_FAN)) + #define HAS_AUTO_FAN_1 (PIN_EXISTS(EXTRUDER_1_AUTO_FAN)) + #define HAS_AUTO_FAN_2 (PIN_EXISTS(EXTRUDER_2_AUTO_FAN)) + #define HAS_AUTO_FAN_3 (PIN_EXISTS(EXTRUDER_3_AUTO_FAN)) + #define HAS_AUTO_FAN (HAS_AUTO_FAN_0 || HAS_AUTO_FAN_1 || HAS_AUTO_FAN_2 || HAS_AUTO_FAN_3) + #define HAS_FAN (PIN_EXISTS(FAN)) + #define HAS_CONTROLLERFAN (PIN_EXISTS(CONTROLLERFAN)) + #define HAS_SERVO_0 (PIN_EXISTS(SERVO0)) + #define HAS_SERVO_1 (PIN_EXISTS(SERVO1)) + #define HAS_SERVO_2 (PIN_EXISTS(SERVO2)) + #define HAS_SERVO_3 (PIN_EXISTS(SERVO3)) + #define HAS_FILAMENT_SENSOR (defined(FILAMENT_SENSOR) && PIN_EXISTS(FILWIDTH)) + #define HAS_FILRUNOUT (PIN_EXISTS(FILRUNOUT)) + #define HAS_HOME (PIN_EXISTS(HOME)) + #define HAS_KILL (PIN_EXISTS(KILL)) + #define HAS_SUICIDE (PIN_EXISTS(SUICIDE)) + #define HAS_PHOTOGRAPH (PIN_EXISTS(PHOTOGRAPH)) + #define HAS_X_MIN (PIN_EXISTS(X_MIN)) + #define HAS_X_MAX (PIN_EXISTS(X_MAX)) + #define HAS_Y_MIN (PIN_EXISTS(Y_MIN)) + #define HAS_Y_MAX (PIN_EXISTS(Y_MAX)) + #define HAS_Z_MIN (PIN_EXISTS(Z_MIN)) + #define HAS_Z_MAX (PIN_EXISTS(Z_MAX)) + #define HAS_Z2_MIN (PIN_EXISTS(Z2_MIN)) + #define HAS_Z2_MAX (PIN_EXISTS(Z2_MAX)) + #define HAS_Z_PROBE (PIN_EXISTS(Z_PROBE)) + #define HAS_SOLENOID_1 (PIN_EXISTS(SOL1)) + #define HAS_SOLENOID_2 (PIN_EXISTS(SOL2)) + #define HAS_SOLENOID_3 (PIN_EXISTS(SOL3)) + #define HAS_MICROSTEPS (PIN_EXISTS(X_MS1)) + #define HAS_MICROSTEPS_E0 (PIN_EXISTS(E0_MS1)) + #define HAS_MICROSTEPS_E1 (PIN_EXISTS(E1_MS1)) + #define HAS_MICROSTEPS_E2 (PIN_EXISTS(E2_MS1)) + #define HAS_X_ENABLE (PIN_EXISTS(X_ENABLE)) + #define HAS_X2_ENABLE (PIN_EXISTS(X2_ENABLE)) + #define HAS_Y_ENABLE (PIN_EXISTS(Y_ENABLE)) + #define HAS_Y2_ENABLE (PIN_EXISTS(Y2_ENABLE)) + #define HAS_Z_ENABLE (PIN_EXISTS(Z_ENABLE)) + #define HAS_Z2_ENABLE (PIN_EXISTS(Z2_ENABLE)) + #define HAS_E0_ENABLE (PIN_EXISTS(E0_ENABLE)) + #define HAS_E1_ENABLE (PIN_EXISTS(E1_ENABLE)) + #define HAS_E2_ENABLE (PIN_EXISTS(E2_ENABLE)) + #define HAS_E3_ENABLE (PIN_EXISTS(E3_ENABLE)) + #define HAS_X_DIR (PIN_EXISTS(X_DIR)) + #define HAS_X2_DIR (PIN_EXISTS(X2_DIR)) + #define HAS_Y_DIR (PIN_EXISTS(Y_DIR)) + #define HAS_Y2_DIR (PIN_EXISTS(Y2_DIR)) + #define HAS_Z_DIR (PIN_EXISTS(Z_DIR)) + #define HAS_Z2_DIR (PIN_EXISTS(Z2_DIR)) + #define HAS_E0_DIR (PIN_EXISTS(E0_DIR)) + #define HAS_E1_DIR (PIN_EXISTS(E1_DIR)) + #define HAS_E2_DIR (PIN_EXISTS(E2_DIR)) + #define HAS_E3_DIR (PIN_EXISTS(E3_DIR)) + #define HAS_X_STEP (PIN_EXISTS(X_STEP)) + #define HAS_X2_STEP (PIN_EXISTS(X2_STEP)) + #define HAS_Y_STEP (PIN_EXISTS(Y_STEP)) + #define HAS_Y2_STEP (PIN_EXISTS(Y2_STEP)) + #define HAS_Z_STEP (PIN_EXISTS(Z_STEP)) + #define HAS_Z2_STEP (PIN_EXISTS(Z2_STEP)) + #define HAS_E0_STEP (PIN_EXISTS(E0_STEP)) + #define HAS_E1_STEP (PIN_EXISTS(E1_STEP)) + #define HAS_E2_STEP (PIN_EXISTS(E2_STEP)) + #define HAS_E3_STEP (PIN_EXISTS(E3_STEP)) + + /** + * Helper Macros for heaters and extruder fan + */ + #define WRITE_HEATER_0P(v) WRITE(HEATER_0_PIN, v) + #if EXTRUDERS > 1 || defined(HEATERS_PARALLEL) + #define WRITE_HEATER_1(v) WRITE(HEATER_1_PIN, v) + #if EXTRUDERS > 2 + #define WRITE_HEATER_2(v) WRITE(HEATER_2_PIN, v) + #if EXTRUDERS > 3 + #define WRITE_HEATER_3(v) WRITE(HEATER_3_PIN, v) + #endif + #endif + #endif + #ifdef HEATERS_PARALLEL + #define WRITE_HEATER_0(v) { WRITE_HEATER_0P(v); WRITE_HEATER_1(v); } + #else + #define WRITE_HEATER_0(v) WRITE_HEATER_0P(v) + #endif + #if HAS_HEATER_BED + #define WRITE_HEATER_BED(v) WRITE(HEATER_BED_PIN, v) + #endif + #if HAS_FAN + #define WRITE_FAN(v) WRITE(FAN_PIN, v) + #endif + +#endif //CONFIGURATION_LCD +#endif //CONDITIONALS_H diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h new file mode 100644 index 0000000..ed2b066 --- /dev/null +++ b/Marlin/Configuration.h @@ -0,0 +1,821 @@ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H + +#include "boards.h" + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + +// This configuration file contains the basic settings. +// Advanced settings can be found in Configuration_adv.h +// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/delta directory. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/SCARA directory. +// + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.3 dev" +#define STRING_URL "reprap.org" +#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time +#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 + +// SERIAL_PORT selects which serial port should be used for communication with the host. +// This allows the connection of wireless adapters (for instance) to non-default port pins. +// Serial port 0 is still used by the Arduino bootloader regardless of this setting. +#define SERIAL_PORT 0 + +// This determines the communication speed of the printer +#define BAUDRATE 115200 + +// This enables the serial port associated to the Bluetooth interface +//#define BTENABLED // Enable BT interface on AT90USB devices + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_RAMPS_13_EFB +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +#define CUSTOM_MACHINE_NAME "ReprapJeanne" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// This defines the number of extruders +#define EXTRUDERS 1 + +//// The following define selects which power supply you have. Please choose the one that matches your setup +// 1 = ATX +// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + +#define POWER_SUPPLY 1 +// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. +// #define PS_DEFAULT_OFF + +//=========================================================================== +//============================== Delta Settings ============================= +//=========================================================================== +// Enable DELTA kinematics and most of the default configuration for Deltas +#define DELTA + +// Make delta curves from many straight lines (linear interpolation). +// This is a trade-off between visible corners (not enough segments) +// and processor overload (too many expensive sqrt calls). +#define DELTA_SEGMENTS_PER_SECOND 200 + +// NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them + +// Center-to-center distance of the holes in the diagonal push rods. +#define DELTA_DIAGONAL_ROD 615.0 // mm + +// Horizontal offset from middle of printer to smooth rod center. +#define DELTA_SMOOTH_ROD_OFFSET 315.0 // mm + +// Horizontal offset of the universal joints on the end effector. +#define DELTA_EFFECTOR_OFFSET 33.0 // mm + +// Horizontal offset of the universal joints on the carriages. +#define DELTA_CARRIAGE_OFFSET 18.0 // mm + +// Horizontal distance bridged by diagonal push rods when effector is centered. +#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET) + +// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). +#define DELTA_PRINTABLE_RADIUS 300 + + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== +// +//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table +// +//// Temperature sensor settings: +// -2 is thermocouple with MAX6675 (only for sensor 0) +// -1 is thermocouple with AD595 +// 0 is not used +// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup) +// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) +// 3 is Mendel-parts thermistor (4.7k pullup) +// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! +// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup) +// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) +// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) +// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) +// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) +// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) +// 10 is 100k RS thermistor 198-961 (4.7k pullup) +// 11 is 100k beta 3950 1% thermistor (4.7k pullup) +// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) +// 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" +// 20 is the PT100 circuit found in the Ultimainboard V2.x +// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 +// +// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k +// (but gives greater accuracy and more stable PID) +// 51 is 100k thermistor - EPCOS (1k pullup) +// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) +// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) +// +// 1047 is Pt1000 with 4k7 pullup +// 1010 is Pt1000 with 1k pullup (non standard) +// 147 is Pt100 with 4k7 pullup +// 110 is Pt100 with 1k pullup (non standard) +// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. +// Use it for Testing or Development purposes. NEVER for production machine. +// #define DUMMY_THERMISTOR_998_VALUE 25 +// #define DUMMY_THERMISTOR_999_VALUE 100 +// :{ '0': "Not used", '4': "10k !! do not use for a hotend. Bad resolution at high temp. !!", '1': "100k / 4.7k - EPCOS", '51': "100k / 1k - EPCOS", '6': "100k / 4.7k EPCOS - Not as accurate as Table 1", '5': "100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '7': "100k / 4.7k Honeywell 135-104LAG-J01", '71': "100k / 4.7k Honeywell 135-104LAF-J01", '8': "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9': "100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10': "100k / 4.7k RS 198-961", '11': "100k / 4.7k beta 3950 1%", '12': "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13': "100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '60': "100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '55': "100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '2': "200k / 4.7k - ATC Semitec 204GT-2", '52': "200k / 1k - ATC Semitec 204GT-2", '-2': "Thermocouple + MAX6675 (only for sensor 0)", '-1': "Thermocouple + AD595", '3': "Mendel-parts / 4.7k", '1047': "Pt1000 / 4.7k", '1010': "Pt1000 / 1k (non standard)", '20': "PT100 (Ultimainboard V2.x)", '147': "Pt100 / 4.7k", '110': "Pt100 / 1k (non-standard)", '998': "Dummy 1", '999': "Dummy 2" } +#define TEMP_SENSOR_0 -1 +#define TEMP_SENSOR_1 -1 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_BED 0 + +// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Actual temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define BED_MAXTEMP 500 + +// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the +// average current. The value should be an integer and the heat bed will be turned on for 1 interval of +// HEATER_BED_DUTY_CYCLE_DIVIDER intervals. +//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4 + +// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) EXTRUDER_WATTS +//#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R +//#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#ifdef PIDTEMP + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + #define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term + #define K1 0.95 //smoothing factor within the PID + +// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it +// Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + +// MakerGear +// #define DEFAULT_Kp 7.0 +// #define DEFAULT_Ki 0.1 +// #define DEFAULT_Kd 12 + +// Mendel Parts V9 on 12V +// #define DEFAULT_Kp 63.0 +// #define DEFAULT_Ki 2.25 +// #define DEFAULT_Kd 440 +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== +// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis +// +// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. +// If your PID_dT is the default, and correct for your hardware/configuration, that means 7.689Hz, +// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. +// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. +// If your configuration is significantly different than this and you don't understand the issues involved, you probably +// shouldn't use bed PID until someone else verifies your hardware works. +// If this is enabled, find your own PID constants below. +//#define PIDTEMPBED +// +//#define BED_LIMIT_SWITCHING + +// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. +// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) +// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, +// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED) +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +//#define PID_BED_DEBUG // Sends debug data to the serial port. + +#ifdef PIDTEMPBED +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from pidautotune +// #define DEFAULT_bedKp 97.1 +// #define DEFAULT_bedKi 1.41 +// #define DEFAULT_bedKd 1675.16 + +// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + + +//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit +//can be software-disabled for whatever purposes by +#define PREVENT_DANGEROUS_EXTRUDE +//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately. +#define PREVENT_LENGTHY_EXTRUDE + +#define EXTRUDE_MINTEMP 170 +#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. + +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* +This is a feature to protect your printer from burn up in flames if it has +a thermistor coming off place (this happened to a friend of mine recently and +motivated me writing this feature). + +The issue: If a thermistor come off, it will read a lower temperature than actual. +The system will turn the heater on forever, burning up the filament and anything +else around. + +After the temperature reaches the target for the first time, this feature will +start measuring for how long the current temperature stays below the target +minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS). + +If it stays longer than _PERIOD, it means the thermistor temperature +cannot catch up with the target, so something *may be* wrong. Then, to be on the +safe side, the system will he halt. + +Bear in mind the count down will just start AFTER the first time the +thermistor temperature is over the target, so you will have no problem if +your extruder heater takes 2 minutes to hit the target on heating. + +*/ +// If you want to enable this feature for all your extruder heaters, +// uncomment the 2 defines below: + +// Parameters for all extruder heaters +//#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius + +// If you want to enable this feature for your bed heater, +// uncomment the 2 defines below: + +// Parameters for the bed heater +//#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius + + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// Uncomment this option to enable CoreXY kinematics +// #define COREXY + +// Enable this option for Toshiba steppers +// #define CONFIG_STEPPERS_TOSHIBA + +// coarse Endstop Settings +#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors + +#ifndef ENDSTOPPULLUPS + // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined + // #define ENDSTOPPULLUP_XMAX + // #define ENDSTOPPULLUP_YMAX + // #define ENDSTOPPULLUP_ZMAX + // #define ENDSTOPPULLUP_XMIN + // #define ENDSTOPPULLUP_YMIN + // #define ENDSTOPPULLUP_ZMIN +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +//#define DISABLE_MAX_ENDSTOPS +#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis when it's not being used. +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR true // DELTA does not invert +#define INVERT_Y_DIR false +#define INVERT_Z_DIR true +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false + +// ENDSTOP SETTINGS: +// Sets direction of endstops when homing; 1=MAX, -1=MIN +#define X_HOME_DIR 1 // deltas always home to max +#define Y_HOME_DIR 1 +#define Z_HOME_DIR 1 + +#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. +#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. + +// Travel limits after homing (units are in mm) +#define X_MIN_POS -DELTA_PRINTABLE_RADIUS +#define Y_MIN_POS -DELTA_PRINTABLE_RADIUS +#define Z_MIN_POS 0 +#define X_MAX_POS DELTA_PRINTABLE_RADIUS +#define Y_MAX_POS DELTA_PRINTABLE_RADIUS +#define Z_MAX_POS MANUAL_Z_HOME_POS + +//=========================================================================== +//============================= Filament Runout Sensor ====================== +//=========================================================================== +//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament + // In RAMPS uses servo pin 2. Can be changed in pins file. For other boards pin definition should be made. + // It is assumed that when logic high = filament available + // when logic low = filament ran out +//const bool FIL_RUNOUT_INVERTING = true; // Should be uncommented and true or false should assigned +//#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. + +//=========================================================================== +//============================ Manual Bed Leveling ========================== +//=========================================================================== + +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling +// #define MESH_BED_LEVELING // Enable mesh bed leveling + +#ifdef MANUAL_BED_LEVELING + #define MBL_Z_STEP 0.025 +#endif // MANUAL_BED_LEVELING + +#ifdef MESH_BED_LEVELING + #define MESH_MIN_X 10 + #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) + #define MESH_MIN_Y 10 + #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_Y_POINTS 3 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 +#endif // MESH_BED_LEVELING + +//=========================================================================== +//============================= Bed Auto Leveling =========================== +//=========================================================================== + +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) +//#define Z_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet. + +#ifdef ENABLE_AUTO_BED_LEVELING + + // There are 2 different ways to specify probing locations + // + // - "grid" mode + // Probe several points in a rectangular grid. + // You specify the rectangle and the density of sample points. + // This mode is preferred because there are more measurements. + // + // - "3-point" mode + // Probe 3 arbitrary points on the bed (that aren't colinear) + // You specify the XY coordinates of all 3 points. + + // Enable this to sample the bed in a grid (least squares solution) + // Note: this feature generates 10KB extra code size + #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode + + #ifdef AUTO_BED_LEVELING_GRID + + #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10) + + #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS + #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS + #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS + #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS + + #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + + // Non-linear bed leveling will be used. + // Compensate by interpolating between the nearest four Z probe values for each point. + // Useful for deltas where the print surface may appear like a bowl or dome shape. + // Works best with ACCURATE_BED_LEVELING_POINTS 5 or higher. + #define AUTO_BED_LEVELING_GRID_POINTS 9 + + #else // !AUTO_BED_LEVELING_GRID + + // Arbitrary points to probe. A simple cross-product + // is used to estimate the plane of the bed. + #define ABL_PROBE_PT_1_X 15 + #define ABL_PROBE_PT_1_Y 180 + #define ABL_PROBE_PT_2_X 15 + #define ABL_PROBE_PT_2_Y 20 + #define ABL_PROBE_PT_3_X 170 + #define ABL_PROBE_PT_3_Y 20 + + #endif // AUTO_BED_LEVELING_GRID + + // Offsets to the probe relative to the extruder tip (Hotend - Probe) + // X and Y offsets must be integers + #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // Probe on: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Probe on: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // -below (always!) + + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. + // Be sure you have this distance over your Z_MAX_POS in case + + #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min + + #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points + #define Z_RAISE_AFTER_PROBING 50 //How much the extruder will be raised after the last probing point. + +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. + //Useful to retract a deployable probe. + + //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell + //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + + // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe + // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. + //#define Z_PROBE_ALLEN_KEY + #ifdef Z_PROBE_ALLEN_KEY + #define Z_PROBE_ALLEN_KEY_DEPLOY_X 30 + #define Z_PROBE_ALLEN_KEY_DEPLOY_Y DELTA_PRINTABLE_RADIUS + #define Z_PROBE_ALLEN_KEY_DEPLOY_Z 100 + + #define Z_PROBE_ALLEN_KEY_STOW_X -64 + #define Z_PROBE_ALLEN_KEY_STOW_Y 56 + #define Z_PROBE_ALLEN_KEY_STOW_Z 23 + #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20 + #endif + + //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk + //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. + // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile. + +// #define PROBE_SERVO_DEACTIVATION_DELAY 300 + + +//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, +//it is highly recommended you let this Z_SAFE_HOMING enabled!!! + + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + // When defined, it will: + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled + // - If stepper drivers timeout, it will need X and Y homing again before Z homing + // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) + // - Block Z homing only when the probe is outside bed area. + + #ifdef Z_SAFE_HOMING + + #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28) + + #endif + + // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. + // If you would like to use both a Z PROBE and a Z MIN endstop together or just a Z PROBE with a custom pin, uncomment #define Z_PROBE_ENDSTOP and read the instructions below. + // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. + // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. + // To use a separate Z PROBE endstop, you must have a Z_PROBE_PIN defined in the pins.h file for your control board. + // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, SERVO_ENDSTOPS and SERVO_ENDSTOPS_ANGLES in the R/C Servo below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 + // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. + // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. + + //#define Z_PROBE_ENDSTOP + +#endif // ENABLE_AUTO_BED_LEVELING + + +// The position of the homing switches +#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used +//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0) + +// Manual homing switch locations: +// For deltabots this means top and center of the Cartesian print volume. +#ifdef MANUAL_HOME_POSITIONS + #define MANUAL_X_HOME_POS 0 + #define MANUAL_Y_HOME_POS 0 + #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing. +#endif + +/** + * MOVEMENT SETTINGS + */ + + +// delta homing speeds must be the same on xyz +#define HOMING_FEEDRATE {100*60, 100*60, 100*60, 0} // set the homing speeds (mm/min) + +// default settings +// delta speeds must be the same on xyz +#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 80, 760*1.1} // default steps per unit for Kossel (GT2, 20 tooth) +#define DEFAULT_MAX_FEEDRATE {500, 500, 500, 25} // (mm/sec) +#define DEFAULT_MAX_ACCELERATION {9000,9000,9000,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. + +#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration in mm/s^2 for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration in mm/s^2 for retracts +#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously) +#define DEFAULT_XYJERK 20.0 // (mm/sec) +#define DEFAULT_ZJERK 20.0 // (mm/sec) Must be same as XY for delta +#define DEFAULT_EJERK 5.0 // (mm/sec) + + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// Custom M code points +#define CUSTOM_M_CODES +#ifdef CUSTOM_M_CODES + #ifdef ENABLE_AUTO_BED_LEVELING + #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 + #define Z_PROBE_OFFSET_RANGE_MIN -20 + #define Z_PROBE_OFFSET_RANGE_MAX 20 + #endif +#endif + + +// EEPROM +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +//define this to enable EEPROM support +//#define EEPROM_SETTINGS + +#ifdef EEPROM_SETTINGS + // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: + #define EEPROM_CHITCHAT // please keep turned on if you can. +#endif + +// Preheat Constants +#define PLA_PREHEAT_HOTEND_TEMP 180 +#define PLA_PREHEAT_HPB_TEMP 70 +#define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +#define ABS_PREHEAT_HOTEND_TEMP 240 +#define ABS_PREHEAT_HPB_TEMP 100 +#define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +//==============================LCD and SD support============================= + +// Define your display language below. Replace (en) with your language code and uncomment. +// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test +// See also language.h +#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en) + +// Choose ONE of these 3 charsets. This has to match your hardware. Ignored for full graphic display. +// To find out what type you have - compile with (test) - upload - click to get the menu. You'll see two typical lines from the upper half of the charset. +// See also documentation/LCDLanguageFont.md + #define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware + //#define DISPLAY_CHARSET_HD44780_WESTERN + //#define DISPLAY_CHARSET_HD44780_CYRILLIC + +//#define ULTRA_LCD //general LCD support, also 16x2 +//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) +//#define SDSUPPORT // Enable SD Card Support in Hardware Console +//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) +//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication +//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder +//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking +//#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. +//#define ULTIPANEL //the UltiPanel as on Thingiverse +//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click + // 0 to disable buzzer feedback + +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +//#define PANEL_ONE + +// The MaKr3d Makr-Panel with graphic controller and SD support +// http://reprap.org/wiki/MaKr3d_MaKrPanel +//#define MAKRPANEL + +// The Panucatt Devices Viki 2.0 and mini Viki with Graphic LCD +// http://panucatt.com +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define VIKI2 +//#define miniVIKI + +// The RepRapDiscount Smart Controller (white PCB) +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// The GADGETS3D G3D LCD/SD Controller (blue PCB) +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +//#define G3D_PANEL + +// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB) +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// The RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click + +// The Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C +//#define RA_CONTROL_PANEL + +// Delta calibration menu +// uncomment to add three points calibration menu option. +// See http://minow.blogspot.com/index.html#4918805519571907051 +// If needed, adjust the X, Y, Z calibration coordinates +// in ultralcd.cpp@lcd_delta_calibrate_menu() +// #define DELTA_CALIBRATION_MENU + +/** + * I2C Panels + */ + +//#define LCD_I2C_SAINSMART_YWROBOT + +// PANELOLU2 LCD with status LEDs, separate encoder and click inputs +//#define LCD_I2C_PANELOLU2 + +// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs +//#define LCD_I2C_VIKI + +// Shift register panels +// --------------------- +// 2 wire Non-latching LCD SR from: +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection + +//#define SAV_3DLCD + +// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// Temperature status LEDs that display the hotend and bet temperature. +// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on. +// Otherwise the RED led is on. There is 1C hysteresis. +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +// #define PHOTOGRAPH_PIN 23 + +// SF send wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder. +//#define BARICUDA + +//define BlinkM/CyzRgb Support +//#define BLINKM + +/*********************************************************************\ +* R/C SERVO support +* Sponsored by TrinityLabs, Reworked by codexmas +**********************************************************************/ + +// Number of servos +// +// If you select a configuration below, this will receive a default value and does not need to be set manually +// set it manually if you have more servos than extruders and wish to manually control some +// leaving it undefined or defining as 0 will disable the servo subsystem +// If unsure, leave commented / disabled +// +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Servo Endstops +// +// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. +// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// +//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1 +//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles + +/**********************************************************************\ + * Support for a filament diameter sensor + * Also allows adjustment of diameter at print time (vs at slicing) + * Single extruder only at this point (extruder 0) + * + * Motherboards + * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector + * 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 - Rambo - uses Analog input 3 + * Note may require analog pins to be defined for different motherboards + **********************************************************************/ +// Uncomment below to enable +//#define FILAMENT_SENSOR + +#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2) +#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel + +#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation +#define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm +#define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm +#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM) + +//defines used in the code +#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially + +//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec. +//#define FILAMENT_LCD_DISPLAY + + + + + + +#include "Configuration_adv.h" +#include "thermistortables.h" + +#endif //CONFIGURATION_H diff --git a/Marlin/Configuration.h.bak b/Marlin/Configuration.h.bak new file mode 100644 index 0000000..f48646a --- /dev/null +++ b/Marlin/Configuration.h.bak @@ -0,0 +1,817 @@ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H + +#include "boards.h" + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + +// This configuration file contains the basic settings. +// Advanced settings can be found in Configuration_adv.h +// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/delta directory. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a Scara printer replace the configuration files with the files in the +// example_configurations/SCARA directory. +// + +// @section info + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.3 dev" +#define STRING_URL "reprap.org" +#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time +#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 + +// @section machine + +// SERIAL_PORT selects which serial port should be used for communication with the host. +// This allows the connection of wireless adapters (for instance) to non-default port pins. +// Serial port 0 is still used by the Arduino bootloader regardless of this setting. +// :[0,1,2,3,4,5,6,7] +#define SERIAL_PORT 0 + +// This determines the communication speed of the printer +// :[2400,9600,19200,38400,57600,115200,250000] +#define BAUDRATE 250000 + +// This enables the serial port associated to the Bluetooth interface +//#define BTENABLED // Enable BT interface on AT90USB devices + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_RAMPS_13_EFB +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +// #define CUSTOM_MACHINE_NAME "3D Printer" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// This defines the number of extruders +// :[1,2,3,4] +#define EXTRUDERS 1 + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +//#define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +//// The following define selects which power supply you have. Please choose the one that matches your setup +// 1 = ATX +// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) +// :{1:'ATX',2:'X-Box 360'} + +#define POWER_SUPPLY 1 + +// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. +// #define PS_DEFAULT_OFF + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== +// +//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table +// +//// Temperature sensor settings: +// -2 is thermocouple with MAX6675 (only for sensor 0) +// -1 is thermocouple with AD595 +// 0 is not used +// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup) +// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) +// 3 is Mendel-parts thermistor (4.7k pullup) +// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! +// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup) +// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) +// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) +// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) +// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) +// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) +// 10 is 100k RS thermistor 198-961 (4.7k pullup) +// 11 is 100k beta 3950 1% thermistor (4.7k pullup) +// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) +// 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" +// 20 is the PT100 circuit found in the Ultimainboard V2.x +// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 +// +// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k +// (but gives greater accuracy and more stable PID) +// 51 is 100k thermistor - EPCOS (1k pullup) +// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) +// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) +// +// 1047 is Pt1000 with 4k7 pullup +// 1010 is Pt1000 with 1k pullup (non standard) +// 147 is Pt100 with 4k7 pullup +// 110 is Pt100 with 1k pullup (non standard) +// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. +// Use it for Testing or Development purposes. NEVER for production machine. +// #define DUMMY_THERMISTOR_998_VALUE 25 +// #define DUMMY_THERMISTOR_999_VALUE 100 +// :{ '0': "Not used", '4': "10k !! do not use for a hotend. Bad resolution at high temp. !!", '1': "100k / 4.7k - EPCOS", '51': "100k / 1k - EPCOS", '6': "100k / 4.7k EPCOS - Not as accurate as Table 1", '5': "100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '7': "100k / 4.7k Honeywell 135-104LAG-J01", '71': "100k / 4.7k Honeywell 135-104LAF-J01", '8': "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9': "100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10': "100k / 4.7k RS 198-961", '11': "100k / 4.7k beta 3950 1%", '12': "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13': "100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '60': "100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '55': "100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '2': "200k / 4.7k - ATC Semitec 204GT-2", '52': "200k / 1k - ATC Semitec 204GT-2", '-2': "Thermocouple + MAX6675 (only for sensor 0)", '-1': "Thermocouple + AD595", '3': "Mendel-parts / 4.7k", '1047': "Pt1000 / 4.7k", '1010': "Pt1000 / 1k (non standard)", '20': "PT100 (Ultimainboard V2.x)", '147': "Pt100 / 4.7k", '110': "Pt100 / 1k (non-standard)", '998': "Dummy 1", '999': "Dummy 2" } +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_BED 0 + +// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Actual temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define BED_MAXTEMP 150 + +// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the +// average current. The value should be an integer and the heat bed will be turned on for 1 interval of +// HEATER_BED_DUTY_CYCLE_DIVIDER intervals. +//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4 + +// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) EXTRUDER_WATTS +//#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R +//#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#ifdef PIDTEMP + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + #define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term + #define K1 0.95 //smoothing factor within the PID + +// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it +// Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + +// MakerGear +// #define DEFAULT_Kp 7.0 +// #define DEFAULT_Ki 0.1 +// #define DEFAULT_Kd 12 + +// Mendel Parts V9 on 12V +// #define DEFAULT_Kp 63.0 +// #define DEFAULT_Ki 2.25 +// #define DEFAULT_Kd 440 +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== +// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis +// +// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. +// If your PID_dT is the default, and correct for your hardware/configuration, that means 7.689Hz, +// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. +// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. +// If your configuration is significantly different than this and you don't understand the issues involved, you probably +// shouldn't use bed PID until someone else verifies your hardware works. +// If this is enabled, find your own PID constants below. +//#define PIDTEMPBED +// +//#define BED_LIMIT_SWITCHING + +// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. +// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) +// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, +// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED) +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +//#define PID_BED_DEBUG // Sends debug data to the serial port. + +#ifdef PIDTEMPBED +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from pidautotune +// #define DEFAULT_bedKp 97.1 +// #define DEFAULT_bedKi 1.41 +// #define DEFAULT_bedKd 1675.16 + +// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit +//can be software-disabled for whatever purposes by +#define PREVENT_DANGEROUS_EXTRUDE +//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately. +#define PREVENT_LENGTHY_EXTRUDE + +#define EXTRUDE_MINTEMP 170 +#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. + +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* +This is a feature to protect your printer from burn up in flames if it has +a thermistor coming off place (this happened to a friend of mine recently and +motivated me writing this feature). + +The issue: If a thermistor come off, it will read a lower temperature than actual. +The system will turn the heater on forever, burning up the filament and anything +else around. + +After the temperature reaches the target for the first time, this feature will +start measuring for how long the current temperature stays below the target +minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS). + +If it stays longer than _PERIOD, it means the thermistor temperature +cannot catch up with the target, so something *may be* wrong. Then, to be on the +safe side, the system will he halt. + +Bear in mind the count down will just start AFTER the first time the +thermistor temperature is over the target, so you will have no problem if +your extruder heater takes 2 minutes to hit the target on heating. + +*/ +// If you want to enable this feature for all your extruder heaters, +// uncomment the 2 defines below: + +// Parameters for all extruder heaters +//#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius + +// If you want to enable this feature for your bed heater, +// uncomment the 2 defines below: + +// Parameters for the bed heater +//#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius + + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment this option to enable CoreXY kinematics +// #define COREXY + +// Enable this option for Toshiba steppers +// #define CONFIG_STEPPERS_TOSHIBA + +// @section homing + +// coarse Endstop Settings +#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors + +#ifndef ENDSTOPPULLUPS + // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined + // #define ENDSTOPPULLUP_XMAX + // #define ENDSTOPPULLUP_YMAX + // #define ENDSTOPPULLUP_ZMAX + // #define ENDSTOPPULLUP_XMIN + // #define ENDSTOPPULLUP_YMIN + // #define ENDSTOPPULLUP_ZMIN + // #define ENDSTOPPULLUP_ZPROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +//#define DISABLE_MAX_ENDSTOPS +//#define DISABLE_MIN_ENDSTOPS + +// @section machine +// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. +// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have +// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// this has no effect. +//#define DISABLE_Z_PROBE_ENDSTOP + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{0:'Low',1:'High'} +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis when it's not being used. +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR false +#define INVERT_Y_DIR false +#define INVERT_Z_DIR false + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false + +// @section homing + +// ENDSTOP SETTINGS: +// Sets direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. +#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. + +// @section machine + +// Travel limits after homing (units are in mm) +#define X_MIN_POS 0 +#define Y_MIN_POS 0 +#define Z_MIN_POS 0 +#define X_MAX_POS 200 +#define Y_MAX_POS 200 +#define Z_MAX_POS 200 + +//=========================================================================== +//============================= Filament Runout Sensor ====================== +//=========================================================================== +//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament + // In RAMPS uses servo pin 2. Can be changed in pins file. For other boards pin definition should be made. + // It is assumed that when logic high = filament available + // when logic low = filament ran out +//const bool FIL_RUNOUT_INVERTING = true; // Should be uncommented and true or false should assigned +//#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. + +//=========================================================================== +//============================ Mesh Bed Leveling ============================ +//=========================================================================== + +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling +// #define MESH_BED_LEVELING // Enable mesh bed leveling + +#ifdef MANUAL_BED_LEVELING + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis +#endif // MANUAL_BED_LEVELING + +#ifdef MESH_BED_LEVELING + #define MESH_MIN_X 10 + #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) + #define MESH_MIN_Y 10 + #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_Y_POINTS 3 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 +#endif // MESH_BED_LEVELING + +//=========================================================================== +//============================= Bed Auto Leveling =========================== +//=========================================================================== + +// @section bedlevel + +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) +#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. + +#ifdef ENABLE_AUTO_BED_LEVELING + + // There are 2 different ways to specify probing locations + // + // - "grid" mode + // Probe several points in a rectangular grid. + // You specify the rectangle and the density of sample points. + // This mode is preferred because there are more measurements. + // + // - "3-point" mode + // Probe 3 arbitrary points on the bed (that aren't colinear) + // You specify the XY coordinates of all 3 points. + + // Enable this to sample the bed in a grid (least squares solution) + // Note: this feature generates 10KB extra code size + #define AUTO_BED_LEVELING_GRID + + #ifdef AUTO_BED_LEVELING_GRID + + #define LEFT_PROBE_BED_POSITION 15 + #define RIGHT_PROBE_BED_POSITION 170 + #define FRONT_PROBE_BED_POSITION 20 + #define BACK_PROBE_BED_POSITION 170 + + #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + + // Set the number of grid points per dimension + // You probably don't need more than 3 (squared=9) + #define AUTO_BED_LEVELING_GRID_POINTS 2 + + #else // !AUTO_BED_LEVELING_GRID + + // Arbitrary points to probe. A simple cross-product + // is used to estimate the plane of the bed. + #define ABL_PROBE_PT_1_X 15 + #define ABL_PROBE_PT_1_Y 180 + #define ABL_PROBE_PT_2_X 15 + #define ABL_PROBE_PT_2_Y 20 + #define ABL_PROBE_PT_3_X 170 + #define ABL_PROBE_PT_3_Y 20 + + #endif // AUTO_BED_LEVELING_GRID + + // Offsets to the probe relative to the extruder tip (Hotend - Probe) + // X and Y offsets must be integers + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. + // Be sure you have this distance over your Z_MAX_POS in case + + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + + #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points + #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. + //Useful to retract a deployable probe. + + //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell + //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + + //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk + //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. + // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile. + +// #define PROBE_SERVO_DEACTIVATION_DELAY 300 + + +//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, +//it is highly recommended you let this Z_SAFE_HOMING enabled!!! + + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + // When defined, it will: + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled + // - If stepper drivers timeout, it will need X and Y homing again before Z homing + // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) + // - Block Z homing only when the probe is outside bed area. + + #ifdef Z_SAFE_HOMING + + #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28) + + #endif + + // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. + // If you would like to use both a Z PROBE and a Z MIN endstop together or just a Z PROBE with a custom pin, uncomment #define Z_PROBE_ENDSTOP and read the instructions below. + // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. + // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. + // To use a separate Z PROBE endstop, you must have a Z_PROBE_PIN defined in the pins.h file for your control board. + // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, SERVO_ENDSTOPS and SERVO_ENDSTOPS_ANGLES in the R/C Servo below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 + // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. + // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. + + //#define Z_PROBE_ENDSTOP + +#endif // ENABLE_AUTO_BED_LEVELING + + +// @section homing + +// The position of the homing switches +//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used +//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0) + +// Manual homing switch locations: +// For deltabots this means top and center of the Cartesian print volume. +#ifdef MANUAL_HOME_POSITIONS + #define MANUAL_X_HOME_POS 0 + #define MANUAL_Y_HOME_POS 0 + #define MANUAL_Z_HOME_POS 0 + //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing. +#endif + +// @section movement + +/** + * MOVEMENT SETTINGS + */ + +#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min) + +// default settings + +#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,4000,500} // default steps per unit for Ultimaker +#define DEFAULT_MAX_FEEDRATE {300, 300, 5, 25} // (mm/sec) +#define DEFAULT_MAX_ACCELERATION {3000,3000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot. + +#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration in mm/s^2 for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration in mm/s^2 for retracts +#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves + +// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously) +#define DEFAULT_XYJERK 20.0 // (mm/sec) +#define DEFAULT_ZJERK 0.4 // (mm/sec) +#define DEFAULT_EJERK 5.0 // (mm/sec) + + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section more + +// Custom M code points +#define CUSTOM_M_CODES +#ifdef CUSTOM_M_CODES + #ifdef ENABLE_AUTO_BED_LEVELING + #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 + #define Z_PROBE_OFFSET_RANGE_MIN -20 + #define Z_PROBE_OFFSET_RANGE_MAX 20 + #endif +#endif + +// @section extras + +// EEPROM +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +//define this to enable EEPROM support +//#define EEPROM_SETTINGS + +#ifdef EEPROM_SETTINGS + // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: + #define EEPROM_CHITCHAT // please keep turned on if you can. +#endif + + +// @section temperature + +// Preheat Constants +#define PLA_PREHEAT_HOTEND_TEMP 180 +#define PLA_PREHEAT_HPB_TEMP 70 +#define PLA_PREHEAT_FAN_SPEED 0 // Insert Value between 0 and 255 + +#define ABS_PREHEAT_HOTEND_TEMP 240 +#define ABS_PREHEAT_HPB_TEMP 110 +#define ABS_PREHEAT_FAN_SPEED 0 // Insert Value between 0 and 255 + +//==============================LCD and SD support============================= +// @section lcd + +// Define your display language below. Replace (en) with your language code and uncomment. +// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test +// See also language.h +#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en) + +// Choose ONE of these 3 charsets. This has to match your hardware. Ignored for full graphic display. +// To find out what type you have - compile with (test) - upload - click to get the menu. You'll see two typical lines from the upper half of the charset. +// See also documentation/LCDLanguageFont.md + #define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware + //#define DISPLAY_CHARSET_HD44780_WESTERN + //#define DISPLAY_CHARSET_HD44780_CYRILLIC + +//#define ULTRA_LCD //general LCD support, also 16x2 +//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) +//#define SDSUPPORT // Enable SD Card Support in Hardware Console +//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) +//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication +//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder +//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking +//#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. +//#define ULTIPANEL //the UltiPanel as on Thingiverse +//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click + // 0 to disable buzzer feedback + +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +//#define PANEL_ONE + +// The MaKr3d Makr-Panel with graphic controller and SD support +// http://reprap.org/wiki/MaKr3d_MaKrPanel +//#define MAKRPANEL + +// The Panucatt Devices Viki 2.0 and mini Viki with Graphic LCD +// http://panucatt.com +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define VIKI2 +//#define miniVIKI + +// The RepRapDiscount Smart Controller (white PCB) +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// The GADGETS3D G3D LCD/SD Controller (blue PCB) +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +//#define G3D_PANEL + +// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB) +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// The RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click + +// The Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C +//#define RA_CONTROL_PANEL + +/** + * I2C Panels + */ + +//#define LCD_I2C_SAINSMART_YWROBOT + +// PANELOLU2 LCD with status LEDs, separate encoder and click inputs +//#define LCD_I2C_PANELOLU2 + +// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs +//#define LCD_I2C_VIKI + +// Shift register panels +// --------------------- +// 2 wire Non-latching LCD SR from: +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection + +//#define SAV_3DLCD + +// @section extras + +// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// Temperature status LEDs that display the hotend and bet temperature. +// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on. +// Otherwise the RED led is on. There is 1C hysteresis. +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +// #define PHOTOGRAPH_PIN 23 + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder. +//#define BARICUDA + +//define BlinkM/CyzRgb Support +//#define BLINKM + +/*********************************************************************\ +* R/C SERVO support +* Sponsored by TrinityLabs, Reworked by codexmas +**********************************************************************/ + +// Number of servos +// +// If you select a configuration below, this will receive a default value and does not need to be set manually +// set it manually if you have more servos than extruders and wish to manually control some +// leaving it undefined or defining as 0 will disable the servo subsystem +// If unsure, leave commented / disabled +// +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Servo Endstops +// +// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. +// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// +//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1 +//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles + +/**********************************************************************\ + * Support for a filament diameter sensor + * Also allows adjustment of diameter at print time (vs at slicing) + * Single extruder only at this point (extruder 0) + * + * Motherboards + * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector + * 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 - Rambo - uses Analog input 3 + * Note may require analog pins to be defined for different motherboards + **********************************************************************/ +// Uncomment below to enable +//#define FILAMENT_SENSOR + +#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2) +#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel + +#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation +#define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm +#define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm +#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM) + +//defines used in the code +#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially + +//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec. +//#define FILAMENT_LCD_DISPLAY + + + + + + +#include "Configuration_adv.h" +#include "thermistortables.h" + +#endif //CONFIGURATION_H diff --git a/Marlin/Configuration.h~ b/Marlin/Configuration.h~ new file mode 100644 index 0000000..eda4241 --- /dev/null +++ b/Marlin/Configuration.h~ @@ -0,0 +1,821 @@ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H + +#include "boards.h" + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + +// This configuration file contains the basic settings. +// Advanced settings can be found in Configuration_adv.h +// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/delta directory. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/SCARA directory. +// + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.3 dev" +#define STRING_URL "reprap.org" +#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time +#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 + +// SERIAL_PORT selects which serial port should be used for communication with the host. +// This allows the connection of wireless adapters (for instance) to non-default port pins. +// Serial port 0 is still used by the Arduino bootloader regardless of this setting. +#define SERIAL_PORT 0 + +// This determines the communication speed of the printer +#define BAUDRATE 115200 + +// This enables the serial port associated to the Bluetooth interface +//#define BTENABLED // Enable BT interface on AT90USB devices + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_RAMPS_13_EFB +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +#define CUSTOM_MACHINE_NAME "ReprapJeanne" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// This defines the number of extruders +#define EXTRUDERS 1 + +//// The following define selects which power supply you have. Please choose the one that matches your setup +// 1 = ATX +// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + +#define POWER_SUPPLY 1 +// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. +// #define PS_DEFAULT_OFF + +//=========================================================================== +//============================== Delta Settings ============================= +//=========================================================================== +// Enable DELTA kinematics and most of the default configuration for Deltas +#define DELTA + +// Make delta curves from many straight lines (linear interpolation). +// This is a trade-off between visible corners (not enough segments) +// and processor overload (too many expensive sqrt calls). +#define DELTA_SEGMENTS_PER_SECOND 200 + +// NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them + +// Center-to-center distance of the holes in the diagonal push rods. +#define DELTA_DIAGONAL_ROD 615.0 // mm + +// Horizontal offset from middle of printer to smooth rod center. +#define DELTA_SMOOTH_ROD_OFFSET 315.0 // mm + +// Horizontal offset of the universal joints on the end effector. +#define DELTA_EFFECTOR_OFFSET 33.0 // mm + +// Horizontal offset of the universal joints on the carriages. +#define DELTA_CARRIAGE_OFFSET 18.0 // mm + +// Horizontal distance bridged by diagonal push rods when effector is centered. +#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET) + +// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). +#define DELTA_PRINTABLE_RADIUS 300 + + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== +// +//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table +// +//// Temperature sensor settings: +// -2 is thermocouple with MAX6675 (only for sensor 0) +// -1 is thermocouple with AD595 +// 0 is not used +// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup) +// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) +// 3 is Mendel-parts thermistor (4.7k pullup) +// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! +// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup) +// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) +// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) +// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) +// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) +// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) +// 10 is 100k RS thermistor 198-961 (4.7k pullup) +// 11 is 100k beta 3950 1% thermistor (4.7k pullup) +// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) +// 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" +// 20 is the PT100 circuit found in the Ultimainboard V2.x +// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 +// +// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k +// (but gives greater accuracy and more stable PID) +// 51 is 100k thermistor - EPCOS (1k pullup) +// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) +// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) +// +// 1047 is Pt1000 with 4k7 pullup +// 1010 is Pt1000 with 1k pullup (non standard) +// 147 is Pt100 with 4k7 pullup +// 110 is Pt100 with 1k pullup (non standard) +// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. +// Use it for Testing or Development purposes. NEVER for production machine. +// #define DUMMY_THERMISTOR_998_VALUE 25 +// #define DUMMY_THERMISTOR_999_VALUE 100 +// :{ '0': "Not used", '4': "10k !! do not use for a hotend. Bad resolution at high temp. !!", '1': "100k / 4.7k - EPCOS", '51': "100k / 1k - EPCOS", '6': "100k / 4.7k EPCOS - Not as accurate as Table 1", '5': "100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '7': "100k / 4.7k Honeywell 135-104LAG-J01", '71': "100k / 4.7k Honeywell 135-104LAF-J01", '8': "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9': "100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10': "100k / 4.7k RS 198-961", '11': "100k / 4.7k beta 3950 1%", '12': "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13': "100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '60': "100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '55': "100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '2': "200k / 4.7k - ATC Semitec 204GT-2", '52': "200k / 1k - ATC Semitec 204GT-2", '-2': "Thermocouple + MAX6675 (only for sensor 0)", '-1': "Thermocouple + AD595", '3': "Mendel-parts / 4.7k", '1047': "Pt1000 / 4.7k", '1010': "Pt1000 / 1k (non standard)", '20': "PT100 (Ultimainboard V2.x)", '147': "Pt100 / 4.7k", '110': "Pt100 / 1k (non-standard)", '998': "Dummy 1", '999': "Dummy 2" } +#define TEMP_SENSOR_0 -1 +#define TEMP_SENSOR_1 -1 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_BED 0 + +// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Actual temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define BED_MAXTEMP 150 + +// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the +// average current. The value should be an integer and the heat bed will be turned on for 1 interval of +// HEATER_BED_DUTY_CYCLE_DIVIDER intervals. +//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4 + +// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) EXTRUDER_WATTS +//#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R +//#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#ifdef PIDTEMP + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + #define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term + #define K1 0.95 //smoothing factor within the PID + +// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it +// Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + +// MakerGear +// #define DEFAULT_Kp 7.0 +// #define DEFAULT_Ki 0.1 +// #define DEFAULT_Kd 12 + +// Mendel Parts V9 on 12V +// #define DEFAULT_Kp 63.0 +// #define DEFAULT_Ki 2.25 +// #define DEFAULT_Kd 440 +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== +// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis +// +// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. +// If your PID_dT is the default, and correct for your hardware/configuration, that means 7.689Hz, +// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. +// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. +// If your configuration is significantly different than this and you don't understand the issues involved, you probably +// shouldn't use bed PID until someone else verifies your hardware works. +// If this is enabled, find your own PID constants below. +//#define PIDTEMPBED +// +//#define BED_LIMIT_SWITCHING + +// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. +// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) +// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, +// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED) +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +//#define PID_BED_DEBUG // Sends debug data to the serial port. + +#ifdef PIDTEMPBED +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from pidautotune +// #define DEFAULT_bedKp 97.1 +// #define DEFAULT_bedKi 1.41 +// #define DEFAULT_bedKd 1675.16 + +// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + + +//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit +//can be software-disabled for whatever purposes by +#define PREVENT_DANGEROUS_EXTRUDE +//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately. +#define PREVENT_LENGTHY_EXTRUDE + +#define EXTRUDE_MINTEMP 170 +#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. + +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* +This is a feature to protect your printer from burn up in flames if it has +a thermistor coming off place (this happened to a friend of mine recently and +motivated me writing this feature). + +The issue: If a thermistor come off, it will read a lower temperature than actual. +The system will turn the heater on forever, burning up the filament and anything +else around. + +After the temperature reaches the target for the first time, this feature will +start measuring for how long the current temperature stays below the target +minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS). + +If it stays longer than _PERIOD, it means the thermistor temperature +cannot catch up with the target, so something *may be* wrong. Then, to be on the +safe side, the system will he halt. + +Bear in mind the count down will just start AFTER the first time the +thermistor temperature is over the target, so you will have no problem if +your extruder heater takes 2 minutes to hit the target on heating. + +*/ +// If you want to enable this feature for all your extruder heaters, +// uncomment the 2 defines below: + +// Parameters for all extruder heaters +//#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius + +// If you want to enable this feature for your bed heater, +// uncomment the 2 defines below: + +// Parameters for the bed heater +//#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius + + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// Uncomment this option to enable CoreXY kinematics +// #define COREXY + +// Enable this option for Toshiba steppers +// #define CONFIG_STEPPERS_TOSHIBA + +// coarse Endstop Settings +#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors + +#ifndef ENDSTOPPULLUPS + // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined + // #define ENDSTOPPULLUP_XMAX + // #define ENDSTOPPULLUP_YMAX + // #define ENDSTOPPULLUP_ZMAX + // #define ENDSTOPPULLUP_XMIN + // #define ENDSTOPPULLUP_YMIN + // #define ENDSTOPPULLUP_ZMIN +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +//#define DISABLE_MAX_ENDSTOPS +#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis when it's not being used. +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR true // DELTA does not invert +#define INVERT_Y_DIR false +#define INVERT_Z_DIR true +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false + +// ENDSTOP SETTINGS: +// Sets direction of endstops when homing; 1=MAX, -1=MIN +#define X_HOME_DIR 1 // deltas always home to max +#define Y_HOME_DIR 1 +#define Z_HOME_DIR 1 + +#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. +#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. + +// Travel limits after homing (units are in mm) +#define X_MIN_POS -DELTA_PRINTABLE_RADIUS +#define Y_MIN_POS -DELTA_PRINTABLE_RADIUS +#define Z_MIN_POS 0 +#define X_MAX_POS DELTA_PRINTABLE_RADIUS +#define Y_MAX_POS DELTA_PRINTABLE_RADIUS +#define Z_MAX_POS MANUAL_Z_HOME_POS + +//=========================================================================== +//============================= Filament Runout Sensor ====================== +//=========================================================================== +//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament + // In RAMPS uses servo pin 2. Can be changed in pins file. For other boards pin definition should be made. + // It is assumed that when logic high = filament available + // when logic low = filament ran out +//const bool FIL_RUNOUT_INVERTING = true; // Should be uncommented and true or false should assigned +//#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. + +//=========================================================================== +//============================ Manual Bed Leveling ========================== +//=========================================================================== + +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling +// #define MESH_BED_LEVELING // Enable mesh bed leveling + +#ifdef MANUAL_BED_LEVELING + #define MBL_Z_STEP 0.025 +#endif // MANUAL_BED_LEVELING + +#ifdef MESH_BED_LEVELING + #define MESH_MIN_X 10 + #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) + #define MESH_MIN_Y 10 + #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_Y_POINTS 3 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 +#endif // MESH_BED_LEVELING + +//=========================================================================== +//============================= Bed Auto Leveling =========================== +//=========================================================================== + +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) +//#define Z_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet. + +#ifdef ENABLE_AUTO_BED_LEVELING + + // There are 2 different ways to specify probing locations + // + // - "grid" mode + // Probe several points in a rectangular grid. + // You specify the rectangle and the density of sample points. + // This mode is preferred because there are more measurements. + // + // - "3-point" mode + // Probe 3 arbitrary points on the bed (that aren't colinear) + // You specify the XY coordinates of all 3 points. + + // Enable this to sample the bed in a grid (least squares solution) + // Note: this feature generates 10KB extra code size + #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode + + #ifdef AUTO_BED_LEVELING_GRID + + #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10) + + #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS + #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS + #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS + #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS + + #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + + // Non-linear bed leveling will be used. + // Compensate by interpolating between the nearest four Z probe values for each point. + // Useful for deltas where the print surface may appear like a bowl or dome shape. + // Works best with ACCURATE_BED_LEVELING_POINTS 5 or higher. + #define AUTO_BED_LEVELING_GRID_POINTS 9 + + #else // !AUTO_BED_LEVELING_GRID + + // Arbitrary points to probe. A simple cross-product + // is used to estimate the plane of the bed. + #define ABL_PROBE_PT_1_X 15 + #define ABL_PROBE_PT_1_Y 180 + #define ABL_PROBE_PT_2_X 15 + #define ABL_PROBE_PT_2_Y 20 + #define ABL_PROBE_PT_3_X 170 + #define ABL_PROBE_PT_3_Y 20 + + #endif // AUTO_BED_LEVELING_GRID + + // Offsets to the probe relative to the extruder tip (Hotend - Probe) + // X and Y offsets must be integers + #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // Probe on: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Probe on: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // -below (always!) + + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. + // Be sure you have this distance over your Z_MAX_POS in case + + #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min + + #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points + #define Z_RAISE_AFTER_PROBING 50 //How much the extruder will be raised after the last probing point. + +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. + //Useful to retract a deployable probe. + + //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell + //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + + // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe + // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. + //#define Z_PROBE_ALLEN_KEY + #ifdef Z_PROBE_ALLEN_KEY + #define Z_PROBE_ALLEN_KEY_DEPLOY_X 30 + #define Z_PROBE_ALLEN_KEY_DEPLOY_Y DELTA_PRINTABLE_RADIUS + #define Z_PROBE_ALLEN_KEY_DEPLOY_Z 100 + + #define Z_PROBE_ALLEN_KEY_STOW_X -64 + #define Z_PROBE_ALLEN_KEY_STOW_Y 56 + #define Z_PROBE_ALLEN_KEY_STOW_Z 23 + #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20 + #endif + + //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk + //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. + // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile. + +// #define PROBE_SERVO_DEACTIVATION_DELAY 300 + + +//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, +//it is highly recommended you let this Z_SAFE_HOMING enabled!!! + + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + // When defined, it will: + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled + // - If stepper drivers timeout, it will need X and Y homing again before Z homing + // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) + // - Block Z homing only when the probe is outside bed area. + + #ifdef Z_SAFE_HOMING + + #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28) + + #endif + + // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. + // If you would like to use both a Z PROBE and a Z MIN endstop together or just a Z PROBE with a custom pin, uncomment #define Z_PROBE_ENDSTOP and read the instructions below. + // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. + // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. + // To use a separate Z PROBE endstop, you must have a Z_PROBE_PIN defined in the pins.h file for your control board. + // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, SERVO_ENDSTOPS and SERVO_ENDSTOPS_ANGLES in the R/C Servo below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 + // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. + // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. + + //#define Z_PROBE_ENDSTOP + +#endif // ENABLE_AUTO_BED_LEVELING + + +// The position of the homing switches +#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used +//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0) + +// Manual homing switch locations: +// For deltabots this means top and center of the Cartesian print volume. +#ifdef MANUAL_HOME_POSITIONS + #define MANUAL_X_HOME_POS 0 + #define MANUAL_Y_HOME_POS 0 + #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing. +#endif + +/** + * MOVEMENT SETTINGS + */ + + +// delta homing speeds must be the same on xyz +#define HOMING_FEEDRATE {200*60, 200*60, 200*60, 0} // set the homing speeds (mm/min) + +// default settings +// delta speeds must be the same on xyz +#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 80, 760*1.1} // default steps per unit for Kossel (GT2, 20 tooth) +#define DEFAULT_MAX_FEEDRATE {500, 500, 500, 25} // (mm/sec) +#define DEFAULT_MAX_ACCELERATION {9000,9000,9000,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. + +#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration in mm/s^2 for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration in mm/s^2 for retracts +#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously) +#define DEFAULT_XYJERK 20.0 // (mm/sec) +#define DEFAULT_ZJERK 20.0 // (mm/sec) Must be same as XY for delta +#define DEFAULT_EJERK 5.0 // (mm/sec) + + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// Custom M code points +#define CUSTOM_M_CODES +#ifdef CUSTOM_M_CODES + #ifdef ENABLE_AUTO_BED_LEVELING + #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 + #define Z_PROBE_OFFSET_RANGE_MIN -20 + #define Z_PROBE_OFFSET_RANGE_MAX 20 + #endif +#endif + + +// EEPROM +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +//define this to enable EEPROM support +//#define EEPROM_SETTINGS + +#ifdef EEPROM_SETTINGS + // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: + #define EEPROM_CHITCHAT // please keep turned on if you can. +#endif + +// Preheat Constants +#define PLA_PREHEAT_HOTEND_TEMP 180 +#define PLA_PREHEAT_HPB_TEMP 70 +#define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +#define ABS_PREHEAT_HOTEND_TEMP 240 +#define ABS_PREHEAT_HPB_TEMP 100 +#define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +//==============================LCD and SD support============================= + +// Define your display language below. Replace (en) with your language code and uncomment. +// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test +// See also language.h +#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en) + +// Choose ONE of these 3 charsets. This has to match your hardware. Ignored for full graphic display. +// To find out what type you have - compile with (test) - upload - click to get the menu. You'll see two typical lines from the upper half of the charset. +// See also documentation/LCDLanguageFont.md + #define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware + //#define DISPLAY_CHARSET_HD44780_WESTERN + //#define DISPLAY_CHARSET_HD44780_CYRILLIC + +//#define ULTRA_LCD //general LCD support, also 16x2 +//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) +//#define SDSUPPORT // Enable SD Card Support in Hardware Console +//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) +//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication +//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder +//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking +//#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. +//#define ULTIPANEL //the UltiPanel as on Thingiverse +//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click + // 0 to disable buzzer feedback + +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +//#define PANEL_ONE + +// The MaKr3d Makr-Panel with graphic controller and SD support +// http://reprap.org/wiki/MaKr3d_MaKrPanel +//#define MAKRPANEL + +// The Panucatt Devices Viki 2.0 and mini Viki with Graphic LCD +// http://panucatt.com +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define VIKI2 +//#define miniVIKI + +// The RepRapDiscount Smart Controller (white PCB) +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// The GADGETS3D G3D LCD/SD Controller (blue PCB) +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +//#define G3D_PANEL + +// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB) +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// The RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click + +// The Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C +//#define RA_CONTROL_PANEL + +// Delta calibration menu +// uncomment to add three points calibration menu option. +// See http://minow.blogspot.com/index.html#4918805519571907051 +// If needed, adjust the X, Y, Z calibration coordinates +// in ultralcd.cpp@lcd_delta_calibrate_menu() +// #define DELTA_CALIBRATION_MENU + +/** + * I2C Panels + */ + +//#define LCD_I2C_SAINSMART_YWROBOT + +// PANELOLU2 LCD with status LEDs, separate encoder and click inputs +//#define LCD_I2C_PANELOLU2 + +// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs +//#define LCD_I2C_VIKI + +// Shift register panels +// --------------------- +// 2 wire Non-latching LCD SR from: +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection + +//#define SAV_3DLCD + +// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// Temperature status LEDs that display the hotend and bet temperature. +// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on. +// Otherwise the RED led is on. There is 1C hysteresis. +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +// #define PHOTOGRAPH_PIN 23 + +// SF send wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder. +//#define BARICUDA + +//define BlinkM/CyzRgb Support +//#define BLINKM + +/*********************************************************************\ +* R/C SERVO support +* Sponsored by TrinityLabs, Reworked by codexmas +**********************************************************************/ + +// Number of servos +// +// If you select a configuration below, this will receive a default value and does not need to be set manually +// set it manually if you have more servos than extruders and wish to manually control some +// leaving it undefined or defining as 0 will disable the servo subsystem +// If unsure, leave commented / disabled +// +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Servo Endstops +// +// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. +// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// +//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1 +//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles + +/**********************************************************************\ + * Support for a filament diameter sensor + * Also allows adjustment of diameter at print time (vs at slicing) + * Single extruder only at this point (extruder 0) + * + * Motherboards + * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector + * 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 - Rambo - uses Analog input 3 + * Note may require analog pins to be defined for different motherboards + **********************************************************************/ +// Uncomment below to enable +//#define FILAMENT_SENSOR + +#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2) +#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel + +#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation +#define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm +#define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm +#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM) + +//defines used in the code +#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially + +//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec. +//#define FILAMENT_LCD_DISPLAY + + + + + + +#include "Configuration_adv.h" +#include "thermistortables.h" + +#endif //CONFIGURATION_H diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp new file mode 100644 index 0000000..0154691 --- /dev/null +++ b/Marlin/ConfigurationStore.cpp @@ -0,0 +1,810 @@ +/** + * ConfigurationStore.cpp + * + * Configuration and EEPROM storage + * + * IMPORTANT: Whenever there are changes made to the variables stored in EEPROM + * in the functions below, also increment the version number. This makes sure that + * the default values are used whenever there is a change to the data, to prevent + * wrong data being written to the variables. + * + * ALSO: Variables in the Store and Retrieve sections must be in the same order. + * If a feature is disabled, some data must still be written that, when read, + * either sets a Sane Default, or results in No Change to the existing value. + * + */ + +#define EEPROM_VERSION "V19" + +/** + * V19 EEPROM Layout: + * + * ver + * axis_steps_per_unit (x4) + * max_feedrate (x4) + * max_acceleration_units_per_sq_second (x4) + * acceleration + * retract_acceleration + * travel_acceleration + * minimumfeedrate + * mintravelfeedrate + * minsegmenttime + * max_xy_jerk + * max_z_jerk + * max_e_jerk + * home_offset (x3) + * + * Mesh bed leveling: + * active + * mesh_num_x + * mesh_num_y + * z_values[][] + * zprobe_zoffset + * + * DELTA: + * endstop_adj (x3) + * delta_radius + * delta_diagonal_rod + * delta_segments_per_second + * + * ULTIPANEL: + * plaPreheatHotendTemp + * plaPreheatHPBTemp + * plaPreheatFanSpeed + * absPreheatHotendTemp + * absPreheatHPBTemp + * absPreheatFanSpeed + * + * PIDTEMP: + * Kp[0], Ki[0], Kd[0], Kc[0] + * Kp[1], Ki[1], Kd[1], Kc[1] + * Kp[2], Ki[2], Kd[2], Kc[2] + * Kp[3], Ki[3], Kd[3], Kc[3] + * + * PIDTEMPBED: + * bedKp, bedKi, bedKd + * + * DOGLCD: + * lcd_contrast + * + * SCARA: + * axis_scaling (x3) + * + * FWRETRACT: + * autoretract_enabled + * retract_length + * retract_length_swap + * retract_feedrate + * retract_zlift + * retract_recover_length + * retract_recover_length_swap + * retract_recover_feedrate + * + * volumetric_enabled + * + * filament_size (x4) + * + * Z_DUAL_ENDSTOPS + * z_endstop_adj + * + */ +#include "Marlin.h" +#include "language.h" +#include "planner.h" +#include "temperature.h" +#include "ultralcd.h" +#include "ConfigurationStore.h" + +#ifdef MESH_BED_LEVELING + #include "mesh_bed_leveling.h" +#endif // MESH_BED_LEVELING + +void _EEPROM_writeData(int &pos, uint8_t* value, uint8_t size) { + uint8_t c; + while(size--) { + eeprom_write_byte((unsigned char*)pos, *value); + c = eeprom_read_byte((unsigned char*)pos); + if (c != *value) { + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); + } + pos++; + value++; + }; +} +void _EEPROM_readData(int &pos, uint8_t* value, uint8_t size) { + do { + *value = eeprom_read_byte((unsigned char*)pos); + pos++; + value++; + } while (--size); +} +#define EEPROM_WRITE_VAR(pos, value) _EEPROM_writeData(pos, (uint8_t*)&value, sizeof(value)) +#define EEPROM_READ_VAR(pos, value) _EEPROM_readData(pos, (uint8_t*)&value, sizeof(value)) + +//====================================================================================== + +#define DUMMY_PID_VALUE 3000.0f + +#define EEPROM_OFFSET 100 + +#ifdef EEPROM_SETTINGS + +void Config_StoreSettings() { + float dummy = 0.0f; + char ver[4] = "000"; + int i = EEPROM_OFFSET; + EEPROM_WRITE_VAR(i, ver); // invalidate data first + EEPROM_WRITE_VAR(i, axis_steps_per_unit); + EEPROM_WRITE_VAR(i, max_feedrate); + EEPROM_WRITE_VAR(i, max_acceleration_units_per_sq_second); + EEPROM_WRITE_VAR(i, acceleration); + EEPROM_WRITE_VAR(i, retract_acceleration); + EEPROM_WRITE_VAR(i, travel_acceleration); + EEPROM_WRITE_VAR(i, minimumfeedrate); + EEPROM_WRITE_VAR(i, mintravelfeedrate); + EEPROM_WRITE_VAR(i, minsegmenttime); + EEPROM_WRITE_VAR(i, max_xy_jerk); + EEPROM_WRITE_VAR(i, max_z_jerk); + EEPROM_WRITE_VAR(i, max_e_jerk); + EEPROM_WRITE_VAR(i, home_offset); + + uint8_t mesh_num_x = 3; + uint8_t mesh_num_y = 3; + #ifdef MESH_BED_LEVELING + // Compile time test that sizeof(mbl.z_values) is as expected + typedef char c_assert[(sizeof(mbl.z_values) == MESH_NUM_X_POINTS*MESH_NUM_Y_POINTS*sizeof(dummy)) ? 1 : -1]; + mesh_num_x = MESH_NUM_X_POINTS; + mesh_num_y = MESH_NUM_Y_POINTS; + EEPROM_WRITE_VAR(i, mbl.active); + EEPROM_WRITE_VAR(i, mesh_num_x); + EEPROM_WRITE_VAR(i, mesh_num_y); + EEPROM_WRITE_VAR(i, mbl.z_values); + #else + uint8_t dummy_uint8 = 0; + EEPROM_WRITE_VAR(i, dummy_uint8); + EEPROM_WRITE_VAR(i, mesh_num_x); + EEPROM_WRITE_VAR(i, mesh_num_y); + dummy = 0.0f; + for (int q=0; q 1 + EEPROM_WRITE_VAR(i, retract_length_swap); + #else + dummy = 0.0f; + EEPROM_WRITE_VAR(i, dummy); + #endif + EEPROM_WRITE_VAR(i, retract_feedrate); + EEPROM_WRITE_VAR(i, retract_zlift); + EEPROM_WRITE_VAR(i, retract_recover_length); + #if EXTRUDERS > 1 + EEPROM_WRITE_VAR(i, retract_recover_length_swap); + #else + dummy = 0.0f; + EEPROM_WRITE_VAR(i, dummy); + #endif + EEPROM_WRITE_VAR(i, retract_recover_feedrate); + #endif // FWRETRACT + + EEPROM_WRITE_VAR(i, volumetric_enabled); + + // Save filament sizes + for (int q = 0; q < 4; q++) { + if (q < EXTRUDERS) dummy = filament_size[q]; + EEPROM_WRITE_VAR(i, dummy); + } + + char ver2[4] = EEPROM_VERSION; + int j = EEPROM_OFFSET; + EEPROM_WRITE_VAR(j, ver2); // validate data + + // Report storage size + SERIAL_ECHO_START; + SERIAL_ECHOPAIR("Settings Stored (", (unsigned long)i); + SERIAL_ECHOLNPGM(" bytes)"); +} + +void Config_RetrieveSettings() { + + int i = EEPROM_OFFSET; + char stored_ver[4]; + char ver[4] = EEPROM_VERSION; + EEPROM_READ_VAR(i, stored_ver); //read stored version + // SERIAL_ECHOLN("Version: [" << ver << "] Stored version: [" << stored_ver << "]"); + + if (strncmp(ver, stored_ver, 3) != 0) { + Config_ResetDefault(); + } + else { + float dummy = 0; + + // version number match + EEPROM_READ_VAR(i, axis_steps_per_unit); + EEPROM_READ_VAR(i, max_feedrate); + EEPROM_READ_VAR(i, max_acceleration_units_per_sq_second); + + // steps per sq second need to be updated to agree with the units per sq second (as they are what is used in the planner) + reset_acceleration_rates(); + + EEPROM_READ_VAR(i, acceleration); + EEPROM_READ_VAR(i, retract_acceleration); + EEPROM_READ_VAR(i, travel_acceleration); + EEPROM_READ_VAR(i, minimumfeedrate); + EEPROM_READ_VAR(i, mintravelfeedrate); + EEPROM_READ_VAR(i, minsegmenttime); + EEPROM_READ_VAR(i, max_xy_jerk); + EEPROM_READ_VAR(i, max_z_jerk); + EEPROM_READ_VAR(i, max_e_jerk); + EEPROM_READ_VAR(i, home_offset); + + uint8_t mesh_num_x = 0; + uint8_t mesh_num_y = 0; + #ifdef MESH_BED_LEVELING + EEPROM_READ_VAR(i, mbl.active); + EEPROM_READ_VAR(i, mesh_num_x); + EEPROM_READ_VAR(i, mesh_num_y); + if (mesh_num_x != MESH_NUM_X_POINTS || + mesh_num_y != MESH_NUM_Y_POINTS) { + mbl.reset(); + for (int q=0; q 1 + EEPROM_READ_VAR(i, retract_length_swap); + #else + EEPROM_READ_VAR(i, dummy); + #endif + EEPROM_READ_VAR(i, retract_feedrate); + EEPROM_READ_VAR(i, retract_zlift); + EEPROM_READ_VAR(i, retract_recover_length); + #if EXTRUDERS > 1 + EEPROM_READ_VAR(i, retract_recover_length_swap); + #else + EEPROM_READ_VAR(i, dummy); + #endif + EEPROM_READ_VAR(i, retract_recover_feedrate); + #endif // FWRETRACT + + EEPROM_READ_VAR(i, volumetric_enabled); + + for (int q = 0; q < 4; q++) { + EEPROM_READ_VAR(i, dummy); + if (q < EXTRUDERS) filament_size[q] = dummy; + } + + calculate_volumetric_multipliers(); + // Call updatePID (similar to when we have processed M301) + updatePID(); + + // Report settings retrieved and length + SERIAL_ECHO_START; + SERIAL_ECHO(ver); + SERIAL_ECHOPAIR(" stored settings retrieved (", (unsigned long)i); + SERIAL_ECHOLNPGM(" bytes)"); + } + + #ifdef EEPROM_CHITCHAT + Config_PrintSettings(); + #endif +} + +#endif // EEPROM_SETTINGS + +void Config_ResetDefault() { + float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT; + float tmp2[] = DEFAULT_MAX_FEEDRATE; + long tmp3[] = DEFAULT_MAX_ACCELERATION; + for (uint16_t i = 0; i < NUM_AXIS; i++) { + axis_steps_per_unit[i] = tmp1[i]; + max_feedrate[i] = tmp2[i]; + max_acceleration_units_per_sq_second[i] = tmp3[i]; + #ifdef SCARA + if (i < sizeof(axis_scaling) / sizeof(*axis_scaling)) + axis_scaling[i] = 1; + #endif + } + + // steps per sq second need to be updated to agree with the units per sq second + reset_acceleration_rates(); + + acceleration = DEFAULT_ACCELERATION; + retract_acceleration = DEFAULT_RETRACT_ACCELERATION; + travel_acceleration = DEFAULT_TRAVEL_ACCELERATION; + minimumfeedrate = DEFAULT_MINIMUMFEEDRATE; + minsegmenttime = DEFAULT_MINSEGMENTTIME; + mintravelfeedrate = DEFAULT_MINTRAVELFEEDRATE; + max_xy_jerk = DEFAULT_XYJERK; + max_z_jerk = DEFAULT_ZJERK; + max_e_jerk = DEFAULT_EJERK; + home_offset[X_AXIS] = home_offset[Y_AXIS] = home_offset[Z_AXIS] = 0; + + #ifdef MESH_BED_LEVELING + mbl.active = 0; + #endif + + #ifdef ENABLE_AUTO_BED_LEVELING + zprobe_zoffset = -Z_PROBE_OFFSET_FROM_EXTRUDER; + #endif + + #ifdef DELTA + endstop_adj[X_AXIS] = endstop_adj[Y_AXIS] = endstop_adj[Z_AXIS] = 0; + delta_radius = DELTA_RADIUS; + delta_diagonal_rod = DELTA_DIAGONAL_ROD; + delta_segments_per_second = DELTA_SEGMENTS_PER_SECOND; + recalc_delta_settings(delta_radius, delta_diagonal_rod); + #elif defined(Z_DUAL_ENDSTOPS) + z_endstop_adj = 0; + #endif + + #ifdef ULTIPANEL + plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP; + plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP; + plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED; + absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP; + absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP; + absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED; + #endif + + #ifdef DOGLCD + lcd_contrast = DEFAULT_LCD_CONTRAST; + #endif + + #ifdef PIDTEMP + #ifdef PID_PARAMS_PER_EXTRUDER + for (int e = 0; e < EXTRUDERS; e++) + #else + int e = 0; // only need to write once + #endif + { + PID_PARAM(Kp, e) = DEFAULT_Kp; + PID_PARAM(Ki, e) = scalePID_i(DEFAULT_Ki); + PID_PARAM(Kd, e) = scalePID_d(DEFAULT_Kd); + #ifdef PID_ADD_EXTRUSION_RATE + PID_PARAM(Kc, e) = DEFAULT_Kc; + #endif + } + // call updatePID (similar to when we have processed M301) + updatePID(); + #endif // PIDTEMP + + #ifdef PIDTEMPBED + bedKp = DEFAULT_bedKp; + bedKi = scalePID_i(DEFAULT_bedKi); + bedKd = scalePID_d(DEFAULT_bedKd); + #endif + + #ifdef FWRETRACT + autoretract_enabled = false; + retract_length = RETRACT_LENGTH; + #if EXTRUDERS > 1 + retract_length_swap = RETRACT_LENGTH_SWAP; + #endif + retract_feedrate = RETRACT_FEEDRATE; + retract_zlift = RETRACT_ZLIFT; + retract_recover_length = RETRACT_RECOVER_LENGTH; + #if EXTRUDERS > 1 + retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP; + #endif + retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE; + #endif + + volumetric_enabled = false; + filament_size[0] = DEFAULT_NOMINAL_FILAMENT_DIA; + #if EXTRUDERS > 1 + filament_size[1] = DEFAULT_NOMINAL_FILAMENT_DIA; + #if EXTRUDERS > 2 + filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA; + #if EXTRUDERS > 3 + filament_size[3] = DEFAULT_NOMINAL_FILAMENT_DIA; + #endif + #endif + #endif + calculate_volumetric_multipliers(); + + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded"); +} + +#ifndef DISABLE_M503 + +void Config_PrintSettings(bool forReplay) { + // Always have this function, even with EEPROM_SETTINGS disabled, the current values will be shown + + SERIAL_ECHO_START; + + if (!forReplay) { + SERIAL_ECHOLNPGM("Steps per unit:"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M92 X", axis_steps_per_unit[X_AXIS]); + SERIAL_ECHOPAIR(" Y", axis_steps_per_unit[Y_AXIS]); + SERIAL_ECHOPAIR(" Z", axis_steps_per_unit[Z_AXIS]); + SERIAL_ECHOPAIR(" E", axis_steps_per_unit[E_AXIS]); + SERIAL_EOL; + + SERIAL_ECHO_START; + + #ifdef SCARA + if (!forReplay) { + SERIAL_ECHOLNPGM("Scaling factors:"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M365 X", axis_scaling[X_AXIS]); + SERIAL_ECHOPAIR(" Y", axis_scaling[Y_AXIS]); + SERIAL_ECHOPAIR(" Z", axis_scaling[Z_AXIS]); + SERIAL_EOL; + SERIAL_ECHO_START; + #endif // SCARA + + if (!forReplay) { + SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M203 X", max_feedrate[X_AXIS]); + SERIAL_ECHOPAIR(" Y", max_feedrate[Y_AXIS]); + SERIAL_ECHOPAIR(" Z", max_feedrate[Z_AXIS]); + SERIAL_ECHOPAIR(" E", max_feedrate[E_AXIS]); + SERIAL_EOL; + + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M201 X", max_acceleration_units_per_sq_second[X_AXIS] ); + SERIAL_ECHOPAIR(" Y", max_acceleration_units_per_sq_second[Y_AXIS] ); + SERIAL_ECHOPAIR(" Z", max_acceleration_units_per_sq_second[Z_AXIS] ); + SERIAL_ECHOPAIR(" E", max_acceleration_units_per_sq_second[E_AXIS]); + SERIAL_EOL; + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Accelerations: P=printing, R=retract and T=travel"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M204 P", acceleration ); + SERIAL_ECHOPAIR(" R", retract_acceleration); + SERIAL_ECHOPAIR(" T", travel_acceleration); + SERIAL_EOL; + + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M205 S", minimumfeedrate ); + SERIAL_ECHOPAIR(" T", mintravelfeedrate ); + SERIAL_ECHOPAIR(" B", minsegmenttime ); + SERIAL_ECHOPAIR(" X", max_xy_jerk ); + SERIAL_ECHOPAIR(" Z", max_z_jerk); + SERIAL_ECHOPAIR(" E", max_e_jerk); + SERIAL_EOL; + + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Home offset (mm):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M206 X", home_offset[X_AXIS] ); + SERIAL_ECHOPAIR(" Y", home_offset[Y_AXIS] ); + SERIAL_ECHOPAIR(" Z", home_offset[Z_AXIS] ); + SERIAL_EOL; + + #ifdef DELTA + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Endstop adjustment (mm):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M666 X", endstop_adj[X_AXIS] ); + SERIAL_ECHOPAIR(" Y", endstop_adj[Y_AXIS] ); + SERIAL_ECHOPAIR(" Z", endstop_adj[Z_AXIS] ); + SERIAL_EOL; + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM("Delta settings: L=delta_diagonal_rod, R=delta_radius, S=delta_segments_per_second"); + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" M665 L", delta_diagonal_rod ); + SERIAL_ECHOPAIR(" R", delta_radius ); + SERIAL_ECHOPAIR(" S", delta_segments_per_second ); + SERIAL_EOL; + #elif defined(Z_DUAL_ENDSTOPS) + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Z2 Endstop adjustment (mm):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M666 Z", z_endstop_adj ); + SERIAL_EOL; + #endif // DELTA + + #if defined(PIDTEMP) || defined(PIDTEMPBED) + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("PID settings:"); + SERIAL_ECHO_START; + } + #if defined(PIDTEMP) && defined(PIDTEMPBED) + SERIAL_EOL; + #endif + #ifdef PIDTEMP + SERIAL_ECHOPAIR(" M301 P", PID_PARAM(Kp, 0)); // for compatibility with hosts, only echos values for E0 + SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, 0))); + SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, 0))); + SERIAL_EOL; + #endif + #ifdef PIDTEMPBED + SERIAL_ECHOPAIR(" M304 P", bedKp); // for compatibility with hosts, only echos values for E0 + SERIAL_ECHOPAIR(" I", unscalePID_i(bedKi)); + SERIAL_ECHOPAIR(" D", unscalePID_d(bedKd)); + SERIAL_EOL; + #endif + #endif + + #ifdef FWRETRACT + + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M207 S", retract_length); + SERIAL_ECHOPAIR(" F", retract_feedrate*60); + SERIAL_ECHOPAIR(" Z", retract_zlift); + SERIAL_EOL; + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M208 S", retract_recover_length); + SERIAL_ECHOPAIR(" F", retract_recover_feedrate*60); + SERIAL_EOL; + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M209 S", (unsigned long)(autoretract_enabled ? 1 : 0)); + SERIAL_EOL; + + #if EXTRUDERS > 1 + if (!forReplay) { + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM("Multi-extruder settings:"); + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" Swap retract length (mm): ", retract_length_swap); + SERIAL_EOL; + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" Swap rec. addl. length (mm): ", retract_recover_length_swap); + SERIAL_EOL; + } + #endif // EXTRUDERS > 1 + + #endif // FWRETRACT + + SERIAL_ECHO_START; + if (volumetric_enabled) { + if (!forReplay) { + SERIAL_ECHOLNPGM("Filament settings:"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M200 D", filament_size[0]); + SERIAL_EOL; + + #if EXTRUDERS > 1 + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" M200 T1 D", filament_size[1]); + SERIAL_EOL; + #if EXTRUDERS > 2 + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" M200 T2 D", filament_size[2]); + SERIAL_EOL; + #if EXTRUDERS > 3 + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" M200 T3 D", filament_size[3]); + SERIAL_EOL; + #endif + #endif + #endif + + } else { + if (!forReplay) { + SERIAL_ECHOLNPGM("Filament settings: Disabled"); + } + } + + #ifdef ENABLE_AUTO_BED_LEVELING + SERIAL_ECHO_START; + #ifdef CUSTOM_M_CODES + if (!forReplay) { + SERIAL_ECHOLNPGM("Z-Probe Offset (mm):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M", (unsigned long)CUSTOM_M_CODE_SET_Z_PROBE_OFFSET); + SERIAL_ECHOPAIR(" Z", -zprobe_zoffset); + #else + if (!forReplay) { + SERIAL_ECHOPAIR("Z-Probe Offset (mm):", -zprobe_zoffset); + } + #endif + SERIAL_EOL; + #endif +} + +#endif // !DISABLE_M503 diff --git a/Marlin/ConfigurationStore.h b/Marlin/ConfigurationStore.h new file mode 100644 index 0000000..3dc4a92 --- /dev/null +++ b/Marlin/ConfigurationStore.h @@ -0,0 +1,22 @@ +#ifndef CONFIGURATIONSTORE_H +#define CONFIGURATIONSTORE_H + +#include "Configuration.h" + +void Config_ResetDefault(); + +#ifndef DISABLE_M503 + void Config_PrintSettings(bool forReplay=false); +#else + FORCE_INLINE void Config_PrintSettings(bool forReplay=false) {} +#endif + +#ifdef EEPROM_SETTINGS + void Config_StoreSettings(); + void Config_RetrieveSettings(); +#else + FORCE_INLINE void Config_StoreSettings() {} + FORCE_INLINE void Config_RetrieveSettings() { Config_ResetDefault(); Config_PrintSettings(); } +#endif + +#endif //CONFIGURATIONSTORE_H diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h new file mode 100644 index 0000000..88b76c6 --- /dev/null +++ b/Marlin/Configuration_adv.h @@ -0,0 +1,550 @@ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H + +#include "Conditionals.h" + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +#ifdef BED_LIMIT_SWITCHING + #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS +#endif +#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control + +//// Heating sanity check: +// This waits for the watch period in milliseconds whenever an M104 or M109 increases the target temperature +// If the temperature has not increased at the end of that period, the target temperature is set to zero. +// It can be reset with another M104/M109. This check is also only triggered if the target temperature and the current temperature +// differ by at least 2x WATCH_TEMP_INCREASE +//#define WATCH_TEMP_PERIOD 40000 //40 seconds +//#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds + +#ifdef PIDTEMP + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen well, the additional required power due to increased melting should be compensated. + #define PID_ADD_EXTRUSION_RATE + #ifdef PID_ADD_EXTRUSION_RATE + #define DEFAULT_Kc (1) //heating power=Kc*(e_speed) + #endif +#endif + + +//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode. +//The maximum buffered steps/sec of the extruder motor are called "se". +//You enter the autotemp mode by a M109 S B F +// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp +// you exit the value by any M109 without F* +// Also, if the temperature is set to a value Z2 (yes, it is.. think about it) and the Z adjust would be positive. + // Play a little bit with small adjustments (0.5mm) and check the behaviour. + // The M119 (endstops report) will start reporting the Z2 Endstop as well. + + #define Z_DUAL_ENDSTOPS + + #ifdef Z_DUAL_ENDSTOPS + #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. + #define Z2_DIR_PIN E2_DIR_PIN + #define Z2_ENABLE_PIN E2_ENABLE_PIN + #define Z2_MAX_PIN 36 //Endstop used for Z2 axis. In this case I'm using XMAX in a Rumba Board (pin 36) + const bool Z2_MAX_ENDSTOP_INVERTING = false; + #define DISABLE_XMAX_ENDSTOP //Better to disable the XMAX to avoid conflict. Just rename "XMAX_ENDSTOP" by the endstop you are using for Z2 axis. + #endif + +#endif // Z_DUAL_STEPPER_DRIVERS + +// Same again but for Y Axis. +//#define Y_DUAL_STEPPER_DRIVERS + +// Define if the two Y drives need to rotate in opposite directions +#define INVERT_Y2_VS_Y_DIR true + +// Enable this for dual x-carriage printers. +// A dual x-carriage design has the advantage that the inactive extruder can be parked which +// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage +// allowing faster printing speeds. +//#define DUAL_X_CARRIAGE +#ifdef DUAL_X_CARRIAGE + // Configuration for second X-carriage + // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop; + // the second x-carriage always homes to the maximum endstop. + #define X2_MIN_POS 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage + #define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position + // However: In this mode the EXTRUDER_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // Pins for second x-carriage stepper driver (defined here to avoid further complicating pins.h) + #define X2_ENABLE_PIN 29 + #define X2_STEP_PIN 25 + #define X2_DIR_PIN 23 + + // There are a few selectable movement modes for dual x-carriages using M605 S + // Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results + // as long as it supports dual x-carriages. (M605 S0) + // Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so + // that additional slicer support is not required. (M605 S1) + // Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all + // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at + // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE 0 + + // Default settings in "Auto-park Mode" + #define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder + #define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif //DUAL_X_CARRIAGE + +// @section homing + +//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again: +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 5 // deltas need the same for all three axis +#define HOMING_BUMP_DIVISOR {10, 10, 20} // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially. + +// @section machine + +#define AXIS_RELATIVE_MODES {false, false, false, false} + +// @section machine + +//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +#define DEFAULT_STEPPER_DEACTIVE_TIME 60 + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +// @section lcd + +#ifdef ULTIPANEL + #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel + #define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder +#endif + +// @section extras + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +// (don't use SLOWDOWN with DELTA because DELTA generates hundreds of segments per second) +//#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05// (mm/sec) + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] + +// Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards) +#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) + +// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C +// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 +// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS +#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value +//#define ENCODER_RATE_MULTIPLIER_DEBUG // If defined, output the encoder steps per second value + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +// @section lcd + +#ifdef SDSUPPORT + + // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted + // You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT + // in the pins.h file. When using a push button pulling the pin to ground this will need inverted. This setting should + // be commented out otherwise + #define SDCARDDETECTINVERTED + + #define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers? + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + + #define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order. + // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that. + // using: + //#define MENU_ADDAUTOSTART + + // Show a progress bar on HD44780 LCDs for SD printing + //#define LCD_PROGRESS_BAR + + #ifdef LCD_PROGRESS_BAR + // Amount of time (ms) to show the bar + #define PROGRESS_BAR_BAR_TIME 2000 + // Amount of time (ms) to show the status message + #define PROGRESS_BAR_MSG_TIME 3000 + // Amount of time (ms) to retain the status message (0=forever) + #define PROGRESS_MSG_EXPIRE 0 + // Enable this to show messages for MSG_TIME then hide them + //#define PROGRESS_MSG_ONCE + #endif + +#endif // SDSUPPORT + +// @section more + +// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation. +//#define USE_WATCHDOG + +#ifdef USE_WATCHDOG +// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. +// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. +// However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. +//#define WATCHDOG_RESET_MANUAL +#endif + +// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled. +//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + +// @section lcd + +// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process +// it can e.g. be used to change z-positions in the print startup phase in real-time +// does not respect endstops! +//#define BABYSTEPPING +#ifdef BABYSTEPPING + #define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions + #define BABYSTEP_INVERT_Z false //true for inverse movements in Z + #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements +#endif + +// @section extruder + +// extruder advance constant (s2/mm3) +// +// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 +// +// Hooke's law says: force = k * distance +// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant +// so: v ^ 2 is proportional to number of steps we advance the extruder +//#define ADVANCE + +#ifdef ADVANCE + #define EXTRUDER_ADVANCE_K .0 + #define D_FILAMENT 2.85 + #define STEPS_MM_E 836 +#endif + +// @section extras + +// Arc interpretation settings: +#define MM_PER_ARC_SEGMENT 1 +#define N_ARC_CORRECTION 25 + +const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//=============================Buffers ============================ +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering. +#ifdef SDSUPPORT + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section more + +//The ASCII buffer for receiving from the serial: +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// @section fwretract + +// Firmware based and LCD controlled retract +// M207 and M208 can be used to define parameters for the retraction. +// The retraction can be called by the slicer using G10 and G11 +// until then, intended retractions can be detected by moves that only extrude and the direction. +// the moves are than replaced by the firmware controlled ones. + +// #define FWRETRACT //ONLY PARTIALLY TESTED +#ifdef FWRETRACT + #define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt + #define RETRACT_LENGTH 3 //default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 //default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) + #define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) +#endif + +// Add support for experimental filament exchange support M600; requires display +#ifdef ULTIPANEL + //#define FILAMENTCHANGEENABLE + #ifdef FILAMENTCHANGEENABLE + #define FILAMENTCHANGE_XPOS 3 + #define FILAMENTCHANGE_YPOS 3 + #define FILAMENTCHANGE_ZADD 10 + #define FILAMENTCHANGE_FIRSTRETRACT -2 + #define FILAMENTCHANGE_FINALRETRACT -100 + #endif +#endif + +/******************************************************************************\ + * enable this section if you have TMC26X motor drivers. + * you need to import the TMC26XStepper library into the arduino IDE for this + ******************************************************************************/ + +// @section tmc + +//#define HAVE_TMCDRIVER +#ifdef HAVE_TMCDRIVER + +// #define X_IS_TMC + #define X_MAX_CURRENT 1000 //in mA + #define X_SENSE_RESISTOR 91 //in mOhms + #define X_MICROSTEPS 16 //number of microsteps + +// #define X2_IS_TMC + #define X2_MAX_CURRENT 1000 //in mA + #define X2_SENSE_RESISTOR 91 //in mOhms + #define X2_MICROSTEPS 16 //number of microsteps + +// #define Y_IS_TMC + #define Y_MAX_CURRENT 1000 //in mA + #define Y_SENSE_RESISTOR 91 //in mOhms + #define Y_MICROSTEPS 16 //number of microsteps + +// #define Y2_IS_TMC + #define Y2_MAX_CURRENT 1000 //in mA + #define Y2_SENSE_RESISTOR 91 //in mOhms + #define Y2_MICROSTEPS 16 //number of microsteps + +// #define Z_IS_TMC + #define Z_MAX_CURRENT 1000 //in mA + #define Z_SENSE_RESISTOR 91 //in mOhms + #define Z_MICROSTEPS 16 //number of microsteps + +// #define Z2_IS_TMC + #define Z2_MAX_CURRENT 1000 //in mA + #define Z2_SENSE_RESISTOR 91 //in mOhms + #define Z2_MICROSTEPS 16 //number of microsteps + +// #define E0_IS_TMC + #define E0_MAX_CURRENT 1000 //in mA + #define E0_SENSE_RESISTOR 91 //in mOhms + #define E0_MICROSTEPS 16 //number of microsteps + +// #define E1_IS_TMC + #define E1_MAX_CURRENT 1000 //in mA + #define E1_SENSE_RESISTOR 91 //in mOhms + #define E1_MICROSTEPS 16 //number of microsteps + +// #define E2_IS_TMC + #define E2_MAX_CURRENT 1000 //in mA + #define E2_SENSE_RESISTOR 91 //in mOhms + #define E2_MICROSTEPS 16 //number of microsteps + +// #define E3_IS_TMC + #define E3_MAX_CURRENT 1000 //in mA + #define E3_SENSE_RESISTOR 91 //in mOhms + #define E3_MICROSTEPS 16 //number of microsteps + +#endif + +/******************************************************************************\ + * enable this section if you have L6470 motor drivers. + * you need to import the L6470 library into the arduino IDE for this + ******************************************************************************/ + +// @section l6470 + +//#define HAVE_L6470DRIVER +#ifdef HAVE_L6470DRIVER + +// #define X_IS_L6470 + #define X_MICROSTEPS 16 //number of microsteps + #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define X_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define X2_IS_L6470 + #define X2_MICROSTEPS 16 //number of microsteps + #define X2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define X2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Y_IS_L6470 + #define Y_MICROSTEPS 16 //number of microsteps + #define Y_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Y_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Y2_IS_L6470 + #define Y2_MICROSTEPS 16 //number of microsteps + #define Y2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Y2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Z_IS_L6470 + #define Z_MICROSTEPS 16 //number of microsteps + #define Z_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Z_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Z2_IS_L6470 + #define Z2_MICROSTEPS 16 //number of microsteps + #define Z2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Z2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E0_IS_L6470 + #define E0_MICROSTEPS 16 //number of microsteps + #define E0_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E0_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E1_IS_L6470 + #define E1_MICROSTEPS 16 //number of microsteps + #define E1_MICROSTEPS 16 //number of microsteps + #define E1_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E1_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E2_IS_L6470 + #define E2_MICROSTEPS 16 //number of microsteps + #define E2_MICROSTEPS 16 //number of microsteps + #define E2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E3_IS_L6470 + #define E3_MICROSTEPS 16 //number of microsteps + #define E3_MICROSTEPS 16 //number of microsteps + #define E3_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E3_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +#endif + +#include "Conditionals.h" +#include "SanityCheck.h" + +#endif //CONFIGURATION_ADV_H diff --git a/Marlin/Configuration_adv.h.bak b/Marlin/Configuration_adv.h.bak new file mode 100644 index 0000000..6478eb9 --- /dev/null +++ b/Marlin/Configuration_adv.h.bak @@ -0,0 +1,549 @@ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H + +#include "Conditionals.h" + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +#ifdef BED_LIMIT_SWITCHING + #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS +#endif +#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control + +//// Heating sanity check: +// This waits for the watch period in milliseconds whenever an M104 or M109 increases the target temperature +// If the temperature has not increased at the end of that period, the target temperature is set to zero. +// It can be reset with another M104/M109. This check is also only triggered if the target temperature and the current temperature +// differ by at least 2x WATCH_TEMP_INCREASE +//#define WATCH_TEMP_PERIOD 40000 //40 seconds +//#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds + +#ifdef PIDTEMP + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen well, the additional required power due to increased melting should be compensated. + #define PID_ADD_EXTRUSION_RATE + #ifdef PID_ADD_EXTRUSION_RATE + #define DEFAULT_Kc (1) //heating power=Kc*(e_speed) + #endif +#endif + + +//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode. +//The maximum buffered steps/sec of the extruder motor are called "se". +//You enter the autotemp mode by a M109 S B F +// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp +// you exit the value by any M109 without F* +// Also, if the temperature is set to a value Z2 (yes, it is.. think about it) and the Z adjust would be positive. + // Play a little bit with small adjustments (0.5mm) and check the behaviour. + // The M119 (endstops report) will start reporting the Z2 Endstop as well. + + #define Z_DUAL_ENDSTOPS + + #ifdef Z_DUAL_ENDSTOPS + #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. + #define Z2_DIR_PIN E2_DIR_PIN + #define Z2_ENABLE_PIN E2_ENABLE_PIN + #define Z2_MAX_PIN 36 //Endstop used for Z2 axis. In this case I'm using XMAX in a Rumba Board (pin 36) + const bool Z2_MAX_ENDSTOP_INVERTING = false; + #define DISABLE_XMAX_ENDSTOP //Better to disable the XMAX to avoid conflict. Just rename "XMAX_ENDSTOP" by the endstop you are using for Z2 axis. + #endif + +#endif // Z_DUAL_STEPPER_DRIVERS + +// Same again but for Y Axis. +//#define Y_DUAL_STEPPER_DRIVERS + +// Define if the two Y drives need to rotate in opposite directions +#define INVERT_Y2_VS_Y_DIR true + +// Enable this for dual x-carriage printers. +// A dual x-carriage design has the advantage that the inactive extruder can be parked which +// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage +// allowing faster printing speeds. +//#define DUAL_X_CARRIAGE +#ifdef DUAL_X_CARRIAGE + // Configuration for second X-carriage + // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop; + // the second x-carriage always homes to the maximum endstop. + #define X2_MIN_POS 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage + #define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position + // However: In this mode the EXTRUDER_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // Pins for second x-carriage stepper driver (defined here to avoid further complicating pins.h) + #define X2_ENABLE_PIN 29 + #define X2_STEP_PIN 25 + #define X2_DIR_PIN 23 + + // There are a few selectable movement modes for dual x-carriages using M605 S + // Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results + // as long as it supports dual x-carriages. (M605 S0) + // Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so + // that additional slicer support is not required. (M605 S1) + // Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all + // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at + // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE 0 + + // Default settings in "Auto-park Mode" + #define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder + #define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif //DUAL_X_CARRIAGE + +// @section homing + +//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again: +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR {2, 2, 4} // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially. + +// @section machine + +#define AXIS_RELATIVE_MODES {false, false, false, false} + +// @section machine + +//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +#define DEFAULT_STEPPER_DEACTIVE_TIME 60 + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +// @section lcd + +#ifdef ULTIPANEL + #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel + #define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder +#endif + +// @section extras + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05// (mm/sec) + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] + +// Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards) +#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) + +// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C +// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 +// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS +#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value +//#define ENCODER_RATE_MULTIPLIER_DEBUG // If defined, output the encoder steps per second value + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +// @section lcd + +#ifdef SDSUPPORT + + // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted + // You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT + // in the pins.h file. When using a push button pulling the pin to ground this will need inverted. This setting should + // be commented out otherwise + #define SDCARDDETECTINVERTED + + #define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers? + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + + #define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order. + // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that. + // using: + //#define MENU_ADDAUTOSTART + + // Show a progress bar on HD44780 LCDs for SD printing + //#define LCD_PROGRESS_BAR + + #ifdef LCD_PROGRESS_BAR + // Amount of time (ms) to show the bar + #define PROGRESS_BAR_BAR_TIME 2000 + // Amount of time (ms) to show the status message + #define PROGRESS_BAR_MSG_TIME 3000 + // Amount of time (ms) to retain the status message (0=forever) + #define PROGRESS_MSG_EXPIRE 0 + // Enable this to show messages for MSG_TIME then hide them + //#define PROGRESS_MSG_ONCE + #endif + +#endif // SDSUPPORT + +// @section more + +// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation. +//#define USE_WATCHDOG + +#ifdef USE_WATCHDOG +// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. +// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. +// However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. +//#define WATCHDOG_RESET_MANUAL +#endif + +// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled. +//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + +// @section lcd + +// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process +// it can e.g. be used to change z-positions in the print startup phase in real-time +// does not respect endstops! +//#define BABYSTEPPING +#ifdef BABYSTEPPING + #define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions + #define BABYSTEP_INVERT_Z false //true for inverse movements in Z + #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements +#endif + +// @section extruder + +// extruder advance constant (s2/mm3) +// +// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 +// +// Hooke's law says: force = k * distance +// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant +// so: v ^ 2 is proportional to number of steps we advance the extruder +//#define ADVANCE + +#ifdef ADVANCE + #define EXTRUDER_ADVANCE_K .0 + #define D_FILAMENT 2.85 + #define STEPS_MM_E 836 +#endif + +// @section extras + +// Arc interpretation settings: +#define MM_PER_ARC_SEGMENT 1 +#define N_ARC_CORRECTION 25 + +const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//=============================Buffers ============================ +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering. +#ifdef SDSUPPORT + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section more + +//The ASCII buffer for receiving from the serial: +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// @section fwretract + +// Firmware based and LCD controlled retract +// M207 and M208 can be used to define parameters for the retraction. +// The retraction can be called by the slicer using G10 and G11 +// until then, intended retractions can be detected by moves that only extrude and the direction. +// the moves are than replaced by the firmware controlled ones. + +// #define FWRETRACT //ONLY PARTIALLY TESTED +#ifdef FWRETRACT + #define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt + #define RETRACT_LENGTH 3 //default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 //default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) + #define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) +#endif + +// Add support for experimental filament exchange support M600; requires display +#ifdef ULTIPANEL + //#define FILAMENTCHANGEENABLE + #ifdef FILAMENTCHANGEENABLE + #define FILAMENTCHANGE_XPOS 3 + #define FILAMENTCHANGE_YPOS 3 + #define FILAMENTCHANGE_ZADD 10 + #define FILAMENTCHANGE_FIRSTRETRACT -2 + #define FILAMENTCHANGE_FINALRETRACT -100 + #endif +#endif + +/******************************************************************************\ + * enable this section if you have TMC26X motor drivers. + * you need to import the TMC26XStepper library into the arduino IDE for this + ******************************************************************************/ + +// @section tmc + +//#define HAVE_TMCDRIVER +#ifdef HAVE_TMCDRIVER + +// #define X_IS_TMC + #define X_MAX_CURRENT 1000 //in mA + #define X_SENSE_RESISTOR 91 //in mOhms + #define X_MICROSTEPS 16 //number of microsteps + +// #define X2_IS_TMC + #define X2_MAX_CURRENT 1000 //in mA + #define X2_SENSE_RESISTOR 91 //in mOhms + #define X2_MICROSTEPS 16 //number of microsteps + +// #define Y_IS_TMC + #define Y_MAX_CURRENT 1000 //in mA + #define Y_SENSE_RESISTOR 91 //in mOhms + #define Y_MICROSTEPS 16 //number of microsteps + +// #define Y2_IS_TMC + #define Y2_MAX_CURRENT 1000 //in mA + #define Y2_SENSE_RESISTOR 91 //in mOhms + #define Y2_MICROSTEPS 16 //number of microsteps + +// #define Z_IS_TMC + #define Z_MAX_CURRENT 1000 //in mA + #define Z_SENSE_RESISTOR 91 //in mOhms + #define Z_MICROSTEPS 16 //number of microsteps + +// #define Z2_IS_TMC + #define Z2_MAX_CURRENT 1000 //in mA + #define Z2_SENSE_RESISTOR 91 //in mOhms + #define Z2_MICROSTEPS 16 //number of microsteps + +// #define E0_IS_TMC + #define E0_MAX_CURRENT 1000 //in mA + #define E0_SENSE_RESISTOR 91 //in mOhms + #define E0_MICROSTEPS 16 //number of microsteps + +// #define E1_IS_TMC + #define E1_MAX_CURRENT 1000 //in mA + #define E1_SENSE_RESISTOR 91 //in mOhms + #define E1_MICROSTEPS 16 //number of microsteps + +// #define E2_IS_TMC + #define E2_MAX_CURRENT 1000 //in mA + #define E2_SENSE_RESISTOR 91 //in mOhms + #define E2_MICROSTEPS 16 //number of microsteps + +// #define E3_IS_TMC + #define E3_MAX_CURRENT 1000 //in mA + #define E3_SENSE_RESISTOR 91 //in mOhms + #define E3_MICROSTEPS 16 //number of microsteps + +#endif + +/******************************************************************************\ + * enable this section if you have L6470 motor drivers. + * you need to import the L6470 library into the arduino IDE for this + ******************************************************************************/ + +// @section l6470 + +//#define HAVE_L6470DRIVER +#ifdef HAVE_L6470DRIVER + +// #define X_IS_L6470 + #define X_MICROSTEPS 16 //number of microsteps + #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define X_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define X2_IS_L6470 + #define X2_MICROSTEPS 16 //number of microsteps + #define X2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define X2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Y_IS_L6470 + #define Y_MICROSTEPS 16 //number of microsteps + #define Y_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Y_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Y2_IS_L6470 + #define Y2_MICROSTEPS 16 //number of microsteps + #define Y2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Y2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Z_IS_L6470 + #define Z_MICROSTEPS 16 //number of microsteps + #define Z_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Z_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Z2_IS_L6470 + #define Z2_MICROSTEPS 16 //number of microsteps + #define Z2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Z2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E0_IS_L6470 + #define E0_MICROSTEPS 16 //number of microsteps + #define E0_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E0_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E1_IS_L6470 + #define E1_MICROSTEPS 16 //number of microsteps + #define E1_MICROSTEPS 16 //number of microsteps + #define E1_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E1_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E2_IS_L6470 + #define E2_MICROSTEPS 16 //number of microsteps + #define E2_MICROSTEPS 16 //number of microsteps + #define E2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E3_IS_L6470 + #define E3_MICROSTEPS 16 //number of microsteps + #define E3_MICROSTEPS 16 //number of microsteps + #define E3_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E3_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +#endif + +#include "Conditionals.h" +#include "SanityCheck.h" + +#endif //CONFIGURATION_ADV_H diff --git a/Marlin/DOGMbitmaps.h b/Marlin/DOGMbitmaps.h new file mode 100644 index 0000000..8c83567 --- /dev/null +++ b/Marlin/DOGMbitmaps.h @@ -0,0 +1,237 @@ +// BitMap for splashscreen +// Generated with: http://www.digole.com/tools/PicturetoC_Hex_converter.php +// Please note that using the high-res version takes 402Bytes of PROGMEM. +//#define START_BMPHIGH + +#ifdef START_BMPHIGH + #define START_BMPWIDTH 112 + #define START_BMPHEIGHT 38 + #define START_BMPBYTEWIDTH 14 + #define START_BMPBYTES 532 // START_BMPWIDTH * START_BMPHEIGHT / 8 + + const unsigned char start_bmp[START_BMPBYTES] PROGMEM = { + 0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff + ,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff + ,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xff,0xff + ,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff,0xff + ,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xff,0xff + ,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff + ,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff + ,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x3f,0xff + ,0xc0,0x0f,0xc0,0xfc,0x00,0x00,0x00,0x00,0x00,0x78,0x18,0x00,0x1f,0xff + ,0xc0,0x3f,0xe1,0xff,0x00,0x00,0x00,0x00,0x00,0x78,0x3c,0x00,0x0f,0xff + ,0xc0,0x7f,0xf3,0xff,0x80,0x00,0x00,0x00,0x00,0x78,0x3c,0x00,0x07,0xff + ,0xc0,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x78,0x3c,0x00,0x03,0xff + ,0xc1,0xf8,0x7f,0x87,0xe0,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xff + ,0xc1,0xf0,0x3f,0x03,0xe0,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xff + ,0xc1,0xe0,0x1e,0x01,0xe0,0x1f,0x00,0x03,0xe0,0x78,0x3c,0x03,0xf0,0x7f + ,0xc1,0xe0,0x1e,0x01,0xe0,0x7f,0xc0,0x0f,0xf8,0x78,0x3c,0x07,0xfc,0x3f + ,0xc1,0xe0,0x1e,0x01,0xe1,0xff,0xe0,0x1f,0xfc,0x78,0x3c,0x0f,0xfe,0x1f + ,0xc1,0xe0,0x1e,0x01,0xe3,0xff,0xf0,0x3f,0xfe,0x78,0x3c,0x1f,0xfe,0x0f + ,0xc1,0xe0,0x1e,0x01,0xe3,0xf3,0xf8,0x3f,0x3e,0x78,0x3c,0x3f,0x3f,0x07 + ,0xc1,0xe0,0x1e,0x01,0xe7,0xe0,0xfc,0x7c,0x1f,0x78,0x3c,0x3e,0x1f,0x07 + ,0xc1,0xe0,0x1e,0x01,0xe7,0xc0,0x7c,0x7c,0x0f,0x78,0x3c,0x3c,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe7,0x80,0x7c,0x78,0x0f,0x78,0x3c,0x3c,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe7,0x80,0x3c,0x78,0x00,0x78,0x3c,0x3c,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe7,0x80,0x3c,0x78,0x00,0x78,0x3c,0x3c,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe7,0x80,0x3c,0x78,0x00,0x78,0x3c,0x3c,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe7,0xc0,0x3c,0x78,0x00,0x78,0x3c,0x3c,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe3,0xe0,0x3c,0x78,0x00,0x7c,0x3c,0x3c,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe3,0xff,0x3f,0xf8,0x00,0x7f,0xbc,0x3c,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe1,0xff,0x3f,0xf8,0x00,0x3f,0xbf,0xfc,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe0,0xff,0x3f,0xf8,0x00,0x1f,0xbf,0xfc,0x0f,0x03 + ,0xc1,0xe0,0x1e,0x01,0xe0,0x7f,0x3f,0xf8,0x00,0x0f,0xbf,0xfc,0x0f,0x03 + ,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07 + ,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06 + ,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e + ,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c + ,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78 + ,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0 + ,0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80 }; +#else + #define START_BMPWIDTH 56 + #define START_BMPHEIGHT 19 + #define START_BMPBYTEWIDTH 7 + #define START_BMPBYTES 133 // START_BMPWIDTH * START_BMPHEIGHT / 8 + + const unsigned char start_bmp[START_BMPBYTES] PROGMEM = { + 0x1f,0xff,0xff,0xff,0xff,0xff,0xff + ,0x60,0x00,0x00,0x00,0x00,0x01,0xff + ,0x40,0x00,0x00,0x00,0x00,0x00,0xff + ,0x80,0x00,0x00,0x00,0x00,0x00,0x7f + ,0x83,0xcf,0x00,0x00,0x0c,0x30,0x3f + ,0x87,0xff,0x80,0x00,0x0c,0x30,0x1f + ,0x86,0x79,0x80,0x00,0x0c,0x00,0x0f + ,0x8c,0x30,0xc7,0x83,0x8c,0x30,0xe7 + ,0x8c,0x30,0xcf,0xc7,0xcc,0x31,0xf3 + ,0x8c,0x30,0xdc,0xec,0xec,0x33,0xb9 + ,0x8c,0x30,0xd8,0x6c,0x6c,0x33,0x19 + ,0x8c,0x30,0xd0,0x6c,0x0c,0x33,0x19 + ,0x8c,0x30,0xd8,0x6c,0x0c,0x33,0x19 + ,0x8c,0x30,0xdc,0x6c,0x0e,0x3b,0x19 + ,0x8c,0x30,0xcf,0x7c,0x07,0x9f,0x19 + ,0x8c,0x30,0xc7,0x7c,0x03,0x8f,0x19 + ,0x40,0x00,0x00,0x00,0x00,0x00,0x02 + ,0x60,0x00,0x00,0x00,0x00,0x00,0x06 + ,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8 }; +#endif + +// Here comes a compile-time operation to match the extruder symbols +// on the info screen to the set number of extruders in configuration.h +// +// When only one extruder is selected, the "1" on the symbol will not +// be displayed. + +#if EXTRUDERS == 1 + #define STATUS_SCREENWIDTH 115 //Width in pixels + #define STATUS_SCREENHEIGHT 19 //Height in pixels + #define STATUS_SCREENBYTEWIDTH 15 //Width in bytes + const unsigned char status_screen0_bmp[] PROGMEM = { //AVR-GCC, WinAVR + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x0C,0x60, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x0E,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4F,0x0F,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x0F,0xA0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E,0x07,0xA0, + 0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20, + 0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x5E,0x07,0xA0, + 0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x5F,0x0F,0xA0, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x4F,0x0F,0x20, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x47,0x0E,0x20, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x63,0x0C,0x60, + 0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0, + 0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00 + }; + + #define STATUS_SCREENWIDTH 115 //Width in pixels + #define STATUS_SCREENHEIGHT 19 //Height in pixels + #define STATUS_SCREENBYTEWIDTH 15 //Width in bytes + const unsigned char status_screen1_bmp[] PROGMEM = { //AVR-GCC, WinAVR + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0xF8,0x60, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0xF8,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xF0,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x01,0xA0, + 0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0, + 0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x58,0x01,0xA0, + 0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0x60,0x20, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0xF0,0x20, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x41,0xF8,0x20, + 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x61,0xF8,0x60, + 0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0, + 0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00 + }; +#elif EXTRUDERS == 2 + #define STATUS_SCREENWIDTH 115 //Width in pixels + #define STATUS_SCREENHEIGHT 19 //Height in pixels + #define STATUS_SCREENBYTEWIDTH 15 //Width in bytes + const unsigned char status_screen0_bmp[] PROGMEM = { //AVR-GCC, WinAVR + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x0C,0x60, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x0E,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4F,0x0F,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x0F,0xA0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E,0x07,0xA0, + 0x7F,0x80,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20, + 0xFB,0xC0,0x00,0x79,0xE0,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20, + 0xF3,0xC0,0x00,0x76,0xE0,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20, + 0xEB,0xC0,0x00,0x7E,0xE0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20, + 0x7B,0x80,0x00,0x3D,0xC0,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x5E,0x07,0xA0, + 0x7B,0x80,0x00,0x3B,0xC0,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x5F,0x0F,0xA0, + 0xFB,0xC0,0x00,0x77,0xE0,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x4F,0x0F,0x20, + 0xFB,0xC0,0x00,0x70,0xE0,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x47,0x0E,0x20, + 0xFF,0xC0,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x63,0x0C,0x60, + 0x3F,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x1E,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0, + 0x0C,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00 + }; + + #define STATUS_SCREENWIDTH 115 //Width in pixels + #define STATUS_SCREENHEIGHT 19 //Height in pixels + #define STATUS_SCREENBYTEWIDTH 15 //Width in bytes + const unsigned char status_screen1_bmp[] PROGMEM = { //AVR-GCC, WinAVR + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0xF8,0x60, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0xF8,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xF0,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x01,0xA0, + 0x7F,0x80,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0, + 0xFB,0xC0,0x00,0x79,0xE0,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0, + 0xF3,0xC0,0x00,0x76,0xE0,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0, + 0xEB,0xC0,0x00,0x7E,0xE0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0, + 0x7B,0x80,0x00,0x3D,0xC0,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x58,0x01,0xA0, + 0x7B,0x80,0x00,0x3B,0xC0,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0x60,0x20, + 0xFB,0xC0,0x00,0x77,0xE0,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0xF0,0x20, + 0xFB,0xC0,0x00,0x70,0xE0,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x41,0xF8,0x20, + 0xFF,0xC0,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x61,0xF8,0x60, + 0x3F,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x1E,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0, + 0x0C,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00 + }; +#else + #define STATUS_SCREENWIDTH 115 //Width in pixels + #define STATUS_SCREENHEIGHT 19 //Height in pixels + #define STATUS_SCREENBYTEWIDTH 15 //Width in bytes + const unsigned char status_screen0_bmp[] PROGMEM = { //AVR-GCC, WinAVR + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x0C,0x60, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x0E,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4F,0x0F,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x0F,0xA0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E,0x07,0xA0, + 0x7F,0x80,0x00,0x3F,0xC0,0x00,0x3F,0xC0,0x00,0x41,0x04,0x00,0x40,0x60,0x20, + 0xFB,0xC0,0x00,0x79,0xE0,0x00,0x79,0xE0,0x00,0x20,0x82,0x00,0x40,0xF0,0x20, + 0xF3,0xC0,0x00,0x76,0xE0,0x00,0x76,0xE0,0x00,0x20,0x82,0x00,0x40,0xF0,0x20, + 0xEB,0xC0,0x00,0x7E,0xE0,0x00,0x7E,0xE0,0x00,0x41,0x04,0x00,0x40,0x60,0x20, + 0x7B,0x80,0x00,0x3D,0xC0,0x00,0x39,0xC0,0x00,0x82,0x08,0x00,0x5E,0x07,0xA0, + 0x7B,0x80,0x00,0x3B,0xC0,0x00,0x3E,0xC0,0x01,0x04,0x10,0x00,0x5F,0x0F,0xA0, + 0xFB,0xC0,0x00,0x77,0xE0,0x00,0x76,0xE0,0x01,0x04,0x10,0x00,0x4F,0x0F,0x20, + 0xFB,0xC0,0x00,0x70,0xE0,0x00,0x79,0xE0,0x00,0x82,0x08,0x00,0x47,0x0E,0x20, + 0xFF,0xC0,0x00,0x7F,0xE0,0x00,0x7F,0xE0,0x00,0x41,0x04,0x00,0x63,0x0C,0x60, + 0x3F,0x00,0x00,0x1F,0x80,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x1E,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0, + 0x0C,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00 + }; + + #define STATUS_SCREENWIDTH 115 //Width in pixels + #define STATUS_SCREENHEIGHT 19 //Height in pixels + #define STATUS_SCREENBYTEWIDTH 15 //Width in bytes + const unsigned char status_screen1_bmp[] PROGMEM = { //AVR-GCC, WinAVR + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0xF8,0x60, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0xF8,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xF0,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x01,0xA0, + 0x7F,0x80,0x00,0x3F,0xC0,0x00,0x3F,0xC0,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0, + 0xFB,0xC0,0x00,0x79,0xE0,0x00,0x79,0xE0,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0, + 0xF3,0xC0,0x00,0x76,0xE0,0x00,0x76,0xE0,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0, + 0xEB,0xC0,0x00,0x7E,0xE0,0x00,0x7E,0xE0,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0, + 0x7B,0x80,0x00,0x3D,0xC0,0x00,0x39,0xC0,0x00,0x82,0x08,0x00,0x58,0x01,0xA0, + 0x7B,0x80,0x00,0x3B,0xC0,0x00,0x3E,0xC0,0x01,0x04,0x10,0x00,0x40,0x60,0x20, + 0xFB,0xC0,0x00,0x77,0xE0,0x00,0x76,0xE0,0x01,0x04,0x10,0x00,0x40,0xF0,0x20, + 0xFB,0xC0,0x00,0x70,0xE0,0x00,0x79,0xE0,0x00,0x82,0x08,0x00,0x41,0xF8,0x20, + 0xFF,0xC0,0x00,0x7F,0xE0,0x00,0x7F,0xE0,0x00,0x41,0x04,0x00,0x61,0xF8,0x60, + 0x3F,0x00,0x00,0x1F,0x80,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, + 0x1E,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0, + 0x0C,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00 + }; +#endif // Extruders + + diff --git a/Marlin/Makefile b/Marlin/Makefile new file mode 100644 index 0000000..56e5dda --- /dev/null +++ b/Marlin/Makefile @@ -0,0 +1,493 @@ +# Sprinter Arduino Project Makefile +# +# Makefile Based on: +# Arduino 0011 Makefile +# Arduino adaptation by mellis, eighthave, oli.keller +# Marlin adaption by Daid +# +# This has been tested with Arduino 0022. +# +# This makefile allows you to build sketches from the command line +# without the Arduino environment (or Java). +# +# Detailed instructions for using the makefile: +# +# 1. Modify the line containg "ARDUINO_INSTALL_DIR" to point to the directory that +# contains the Arduino installation (for example, under Mac OS X, this +# might be /Applications/Arduino.app/Contents/Resources/Java). +# +# 2. Modify the line containing "UPLOAD_PORT" to refer to the filename +# representing the USB or serial connection to your Arduino board +# (e.g. UPLOAD_PORT = /dev/tty.USB0). If the exact name of this file +# changes, you can use * as a wildcard (e.g. UPLOAD_PORT = /dev/tty.usb*). +# +# 3. Set the line containing "MCU" to match your board's processor. +# Older one's are atmega8 based, newer ones like Arduino Mini, Bluetooth +# or Diecimila have the atmega168. If you're using a LilyPad Arduino, +# change F_CPU to 8000000. If you are using Gen7 electronics, you +# probably need to use 20000000. Either way, you must regenerate +# the speed lookup table with create_speed_lookuptable.py. +# +# 4. Type "make" and press enter to compile/verify your program. +# +# 5. Type "make upload", reset your Arduino board, and press enter to +# upload your program to the Arduino board. +# +# Note that all settings are set with ?=, this means you can override them +# from the commandline with "make HARDWARE_MOTHERBOARD=71" for example + +# This defined the board you are compiling for (see boards.h for the options) +HARDWARE_MOTHERBOARD ?= 11 + +# Arduino source install directory, and version number +# On most linuxes this will be /usr/share/arduino +ARDUINO_INSTALL_DIR ?= /usr/share/arduino +ARDUINO_VERSION ?= 105 + +# You can optionally set a path to the avr-gcc tools. Requires a trailing slash. (ex: /usr/local/avr-gcc/bin) +AVR_TOOLS_PATH ?= + +#Programmer configuration +UPLOAD_RATE ?= 115200 +AVRDUDE_PROGRAMMER ?= wiring +# on most linuxes this will be /dev/ttyACM0 or /dev/ttyACM1 +UPLOAD_PORT ?= /dev/arduino + +#Directory used to build files in, contains all the build files, from object files to the final hex file +#on linux it is best to put an absolute path like /home/username/tmp . +BUILD_DIR ?= applet + +# This defines whether Liquid_TWI2 support will be built +LIQUID_TWI2 ?= 0 + +# this defines if Wire is needed +WIRE ?= 0 + +############################################################################ +# Below here nothing should be changed... + +# Here the Arduino variant is selected by the board type +# HARDWARE_VARIANT = "arduino", "Sanguino", "Gen7", ... +# MCU = "atmega1280", "Mega2560", "atmega2560", "atmega644p", ... + +#Gen7 +ifeq ($(HARDWARE_MOTHERBOARD),10) +HARDWARE_VARIANT ?= Gen7 +MCU ?= atmega644 +F_CPU ?= 20000000 +else ifeq ($(HARDWARE_MOTHERBOARD),11) +HARDWARE_VARIANT ?= Gen7 +MCU ?= atmega644p +F_CPU ?= 20000000 +else ifeq ($(HARDWARE_MOTHERBOARD),12) +HARDWARE_VARIANT ?= Gen7 +MCU ?= atmega644p +F_CPU ?= 20000000 +else ifeq ($(HARDWARE_MOTHERBOARD),13) +HARDWARE_VARIANT ?= Gen7 +MCU ?= atmega1284p +F_CPU ?= 20000000 + +#RAMPS +else ifeq ($(HARDWARE_MOTHERBOARD),3) +HARDWARE_VARIANT ?= arduino +MCU ?= atmega2560 +else ifeq ($(HARDWARE_MOTHERBOARD),33) +HARDWARE_VARIANT ?= arduino +MCU ?= atmega2560 +else ifeq ($(HARDWARE_MOTHERBOARD),34) +HARDWARE_VARIANT ?= arduino +MCU ?= atmega2560 + +#Duemilanove w/ ATMega328P pin assignment +else ifeq ($(HARDWARE_MOTHERBOARD),4) +HARDWARE_VARIANT ?= arduino +HARDWARE_SUB_VARIANT ?= standard +MCU ?= atmega328p + +#Gen6 +else ifeq ($(HARDWARE_MOTHERBOARD),5) +HARDWARE_VARIANT ?= Gen6 +MCU ?= atmega644p +else ifeq ($(HARDWARE_MOTHERBOARD),51) +HARDWARE_VARIANT ?= Gen6 +MCU ?= atmega644p + +#Sanguinololu +else ifeq ($(HARDWARE_MOTHERBOARD),6) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p +else ifeq ($(HARDWARE_MOTHERBOARD),62) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p +else ifeq ($(HARDWARE_MOTHERBOARD),63) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p +else ifeq ($(HARDWARE_MOTHERBOARD),65) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega1284p +else ifeq ($(HARDWARE_MOTHERBOARD),66) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega1284p + +#Ultimaker +else ifeq ($(HARDWARE_MOTHERBOARD),7) +HARDWARE_VARIANT ?= arduino +MCU ?= atmega2560 +else ifeq ($(HARDWARE_MOTHERBOARD),71) +HARDWARE_VARIANT ?= arduino +MCU ?= atmega1280 + +#Teensylu +else ifeq ($(HARDWARE_MOTHERBOARD),8) +HARDWARE_VARIANT ?= Teensy +MCU ?= at90usb1286 +else ifeq ($(HARDWARE_MOTHERBOARD),81) +HARDWARE_VARIANT ?= Teensy +MCU ?= at90usb1286 +else ifeq ($(HARDWARE_MOTHERBOARD),82) +HARDWARE_VARIANT ?= Teensy +MCU ?= at90usb646 +else ifeq ($(HARDWARE_MOTHERBOARD),83) +HARDWARE_VARIANT ?= Teensy +MCU ?= at90usb1286 +else ifeq ($(HARDWARE_MOTHERBOARD),84) +HARDWARE_VARIANT ?= Teensy +MCU ?= at90usb1286 + +#Gen3+ +else ifeq ($(HARDWARE_MOTHERBOARD),9) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p + +#Gen3 Monolithic Electronics +else ifeq ($(HARDWARE_MOTHERBOARD),22) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p + +#Megatronics +else ifeq ($(HARDWARE_MOTHERBOARD),70) +HARDWARE_VARIANT ?= arduino +MCU ?= atmega2560 + +#Alpha OMCA board +else ifeq ($(HARDWARE_MOTHERBOARD),90) +HARDWARE_VARIANT ?= SanguinoA +MCU ?= atmega644 + +#Final OMCA board +else ifeq ($(HARDWARE_MOTHERBOARD),91) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p + +#Rambo +else ifeq ($(HARDWARE_MOTHERBOARD),301) +HARDWARE_VARIANT ?= arduino +MCU ?= atmega2560 + +# Azteeg +else ifeq ($(HARDWARE_MOTHERBOARD),67) +HARDWARE_VARIANT ?= arduino +MCU ?= atmega2560 +else ifeq ($(HARDWARE_MOTHERBOARD),68) +HARDWARE_VARIANT ?= arduino +MCU ?= atmega2560 + +endif + +# Be sure to regenerate speed_lookuptable.h with create_speed_lookuptable.py +# if you are setting this to something other than 16MHz +# Set to 16Mhz if not yet set. +F_CPU ?= 16000000 + +# Arduino containd the main source code for the Arduino +# Libraries, the "hardware variant" are for boards +# that derives from that, and their source are present in +# the main Marlin source directory +ifeq ($(HARDWARE_VARIANT), arduino) +HARDWARE_DIR = $(ARDUINO_INSTALL_DIR)/hardware +else +ifeq ($(shell [ $(ARDUINO_VERSION) -ge 100 ] && echo true), true) +HARDWARE_DIR = ../ArduinoAddons/Arduino_1.x.x +else +HARDWARE_DIR = ../ArduinoAddons/Arduino_0.xx +endif +endif +HARDWARE_SRC = $(HARDWARE_DIR)/$(HARDWARE_VARIANT)/cores/arduino + +TARGET = $(notdir $(CURDIR)) + +# VPATH tells make to look into these directory for source files, +# there is no need to specify explicit pathnames as long as the +# directory is added here + +VPATH = . +VPATH += $(BUILD_DIR) +VPATH += $(HARDWARE_SRC) +ifeq ($(HARDWARE_VARIANT), $(filter $(HARDWARE_VARIANT),arduino Teensy)) +VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidCrystal +VPATH += $(ARDUINO_INSTALL_DIR)/libraries/SPI +ifeq ($(LIQUID_TWI2), 1) +VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire +VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire/utility +VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidTWI2 +endif +ifeq ($(WIRE), 1) +VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire +VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire/utility +endif +else +VPATH += $(HARDWARE_DIR)/libraries/LiquidCrystal +VPATH += $(HARDWARE_DIR)/libraries/SPI +ifeq ($(LIQUID_TWI2), 1) +VPATH += $(HARDWARE_DIR)/libraries/Wire +VPATH += $(HARDWARE_DIR)/libraries/Wire/utility +VPATH += $(HARDWARE_DIR)/libraries/LiquidTWI2 +endif +ifeq ($(WIRE), 1) +VPATH += $(HARDWARE_DIR)/libraries/Wire +VPATH += $(HARDWARE_DIR)/libraries/Wire/utility +endif +endif +ifeq ($(HARDWARE_VARIANT), arduino) +HARDWARE_SUB_VARIANT ?= mega +VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/variants/$(HARDWARE_SUB_VARIANT) +else +HARDWARE_SUB_VARIANT ?= standard +VPATH += $(HARDWARE_DIR)/$(HARDWARE_VARIANT)/variants/$(HARDWARE_SUB_VARIANT) +endif +SRC = wiring.c \ + wiring_analog.c wiring_digital.c \ + wiring_pulse.c \ + wiring_shift.c WInterrupts.c +ifeq ($(HARDWARE_VARIANT), Teensy) +SRC = wiring.c +VPATH += $(ARDUINO_INSTALL_DIR)/hardware/teensy/cores/teensy +endif +CXXSRC = WMath.cpp WString.cpp Print.cpp Marlin_main.cpp \ + MarlinSerial.cpp Sd2Card.cpp SdBaseFile.cpp SdFatUtil.cpp \ + SdFile.cpp SdVolume.cpp motion_control.cpp planner.cpp \ + stepper.cpp temperature.cpp cardreader.cpp ConfigurationStore.cpp \ + watchdog.cpp SPI.cpp Servo.cpp Tone.cpp ultralcd.cpp digipot_mcp4451.cpp \ + vector_3.cpp qr_solve.cpp +ifeq ($(LIQUID_TWI2), 0) +CXXSRC += LiquidCrystal.cpp +else +SRC += twi.c +CXXSRC += Wire.cpp LiquidTWI2.cpp +endif + +ifeq ($(WIRE), 1) +SRC += twi.c +CXXSRC += Wire.cpp +endif + +#Check for Arduino 1.0.0 or higher and use the correct sourcefiles for that version +ifeq ($(shell [ $(ARDUINO_VERSION) -ge 100 ] && echo true), true) +CXXSRC += main.cpp +else +SRC += pins_arduino.c main.c +endif + +FORMAT = ihex + +# Name of this Makefile (used for "make depend"). +MAKEFILE = Makefile + +# Debugging format. +# Native formats for AVR-GCC's -g are stabs [default], or dwarf-2. +# AVR (extended) COFF requires stabs, plus an avr-objcopy run. +DEBUG = stabs + +OPT = s + +DEFINES ?= + +# Program settings +CC = $(AVR_TOOLS_PATH)avr-gcc +CXX = $(AVR_TOOLS_PATH)avr-g++ +OBJCOPY = $(AVR_TOOLS_PATH)avr-objcopy +OBJDUMP = $(AVR_TOOLS_PATH)avr-objdump +AR = $(AVR_TOOLS_PATH)avr-ar +SIZE = $(AVR_TOOLS_PATH)avr-size +NM = $(AVR_TOOLS_PATH)avr-nm +AVRDUDE = avrdude +REMOVE = rm -f +MV = mv -f + +# Place -D or -U options here +CDEFS = -DF_CPU=$(F_CPU) ${addprefix -D , $(DEFINES)} +CXXDEFS = $(CDEFS) + +ifeq ($(HARDWARE_VARIANT), Teensy) +CDEFS += -DUSB_SERIAL +SRC += usb.c pins_teensy.c +CXXSRC += usb_api.cpp +endif + +# Add all the source directories as include directories too +CINCS = ${addprefix -I ,${VPATH}} +CXXINCS = ${addprefix -I ,${VPATH}} + +# Compiler flag to set the C Standard level. +# c89 - "ANSI" C +# gnu89 - c89 plus GCC extensions +# c99 - ISO C99 standard (not yet fully implemented) +# gnu99 - c99 plus GCC extensions +#CSTANDARD = -std=gnu99 +CDEBUG = -g$(DEBUG) +CWARN = -Wall -Wstrict-prototypes +CTUNING = -funsigned-char -funsigned-bitfields -fpack-struct \ + -fshort-enums -w -ffunction-sections -fdata-sections \ + -DARDUINO=$(ARDUINO_VERSION) +ifneq ($(HARDWARE_MOTHERBOARD),) +CTUNING += -DMOTHERBOARD=${HARDWARE_MOTHERBOARD} +endif +#CEXTRA = -Wa,-adhlns=$(<:.c=.lst) +CEXTRA = -fno-use-cxa-atexit + +CFLAGS := $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CWARN) $(CEXTRA) $(CTUNING) +CXXFLAGS := $(CDEFS) $(CINCS) -O$(OPT) -Wall $(CEXTRA) $(CTUNING) +#ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs +LDFLAGS = -lm + + +# Programming support using avrdude. Settings and variables. +AVRDUDE_PORT = $(UPLOAD_PORT) +AVRDUDE_WRITE_FLASH = -Uflash:w:$(BUILD_DIR)/$(TARGET).hex:i +ifeq ($(shell uname -s), Linux) +AVRDUDE_CONF = $(ARDUINO_INSTALL_DIR)/hardware/tools/avrdude.conf +else +AVRDUDE_CONF = $(ARDUINO_INSTALL_DIR)/hardware/tools/avr/etc/avrdude.conf +endif +AVRDUDE_FLAGS = -q -q -D -C$(AVRDUDE_CONF) \ + -p$(MCU) -P$(AVRDUDE_PORT) -c$(AVRDUDE_PROGRAMMER) \ + -b$(UPLOAD_RATE) + +# Define all object files. +OBJ = ${patsubst %.c, $(BUILD_DIR)/%.o, ${SRC}} +OBJ += ${patsubst %.cpp, $(BUILD_DIR)/%.o, ${CXXSRC}} +OBJ += ${patsubst %.S, $(BUILD_DIR)/%.o, ${ASRC}} + +# Define all listing files. +LST = $(ASRC:.S=.lst) $(CXXSRC:.cpp=.lst) $(SRC:.c=.lst) + +# Combine all necessary flags and optional flags. +# Add target processor to flags. +ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) +ALL_CXXFLAGS = -mmcu=$(MCU) $(CXXFLAGS) +ALL_ASFLAGS = -mmcu=$(MCU) -x assembler-with-cpp $(ASFLAGS) + +# set V=1 (eg, "make V=1") to print the full commands etc. +ifneq ($V,1) + Pecho=@echo + P=@ +else + Pecho=@: + P= +endif + +# Default target. +all: sizeafter + +build: $(BUILD_DIR) elf hex + +# Creates the object directory +$(BUILD_DIR): + $P mkdir -p $(BUILD_DIR) + +elf: $(BUILD_DIR)/$(TARGET).elf +hex: $(BUILD_DIR)/$(TARGET).hex +eep: $(BUILD_DIR)/$(TARGET).eep +lss: $(BUILD_DIR)/$(TARGET).lss +sym: $(BUILD_DIR)/$(TARGET).sym + +# Program the device. +# Do not try to reset an arduino if it's not one +upload: $(BUILD_DIR)/$(TARGET).hex +ifeq (${AVRDUDE_PROGRAMMER}, arduino) + stty hup < $(UPLOAD_PORT); true +endif + $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) +ifeq (${AVRDUDE_PROGRAMMER}, arduino) + stty -hup < $(UPLOAD_PORT); true +endif + + # Display size of file. +HEXSIZE = $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex +ELFSIZE = $(SIZE) --mcu=$(MCU) -C $(BUILD_DIR)/$(TARGET).elf; \ + $(SIZE) $(BUILD_DIR)/$(TARGET).elf +sizebefore: + $P if [ -f $(BUILD_DIR)/$(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(HEXSIZE); echo; fi + +sizeafter: build + $P if [ -f $(BUILD_DIR)/$(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi + + +# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB. +COFFCONVERT=$(OBJCOPY) --debugging \ + --change-section-address .data-0x800000 \ + --change-section-address .bss-0x800000 \ + --change-section-address .noinit-0x800000 \ + --change-section-address .eeprom-0x810000 + + +coff: $(BUILD_DIR)/$(TARGET).elf + $(COFFCONVERT) -O coff-avr $(BUILD_DIR)/$(TARGET).elf $(TARGET).cof + + +extcoff: $(TARGET).elf + $(COFFCONVERT) -O coff-ext-avr $(BUILD_DIR)/$(TARGET).elf $(TARGET).cof + + +.SUFFIXES: .elf .hex .eep .lss .sym +.PRECIOUS: .o + +.elf.hex: + $(Pecho) " COPY $@" + $P $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ + +.elf.eep: + -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ + --change-section-lma .eeprom=0 -O $(FORMAT) $< $@ + +# Create extended listing file from ELF output file. +.elf.lss: + $(OBJDUMP) -h -S $< > $@ + +# Create a symbol table from ELF output file. +.elf.sym: + $(NM) -n $< > $@ + + # Link: create ELF output file from library. +$(BUILD_DIR)/$(TARGET).elf: $(OBJ) Configuration.h + $(Pecho) " CXX $@" + $P $(CC) $(ALL_CXXFLAGS) -Wl,--gc-sections -o $@ -L. $(OBJ) $(LDFLAGS) + +$(BUILD_DIR)/%.o: %.c Configuration.h Configuration_adv.h $(MAKEFILE) + $(Pecho) " CC $<" + $P $(CC) -MMD -c $(ALL_CFLAGS) $< -o $@ + +$(BUILD_DIR)/%.o: $(BUILD_DIR)/%.cpp Configuration.h Configuration_adv.h $(MAKEFILE) + $(Pecho) " CXX $<" + $P $(CXX) -MMD -c $(ALL_CXXFLAGS) $< -o $@ + +$(BUILD_DIR)/%.o: %.cpp Configuration.h Configuration_adv.h $(MAKEFILE) + $(Pecho) " CXX $<" + $P $(CXX) -MMD -c $(ALL_CXXFLAGS) $< -o $@ + + +# Target: clean project. +clean: + $(Pecho) " RM $(BUILD_DIR)/*" + $P $(REMOVE) $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep $(BUILD_DIR)/$(TARGET).cof $(BUILD_DIR)/$(TARGET).elf \ + $(BUILD_DIR)/$(TARGET).map $(BUILD_DIR)/$(TARGET).sym $(BUILD_DIR)/$(TARGET).lss $(BUILD_DIR)/$(TARGET).cpp \ + $(OBJ) $(LST) $(SRC:.c=.s) $(SRC:.c=.d) $(CXXSRC:.cpp=.s) $(CXXSRC:.cpp=.d) + $(Pecho) " RMDIR $(BUILD_DIR)/" + $P rm -rf $(BUILD_DIR) + + +.PHONY: all build elf hex eep lss sym program coff extcoff clean depend sizebefore sizeafter + +# Automaticaly include the dependency files created by gcc +-include ${wildcard $(BUILD_DIR)/*.d} diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h new file mode 100644 index 0000000..ad4f82b --- /dev/null +++ b/Marlin/Marlin.h @@ -0,0 +1,325 @@ +// Tonokip RepRap firmware rewrite based off of Hydra-mmm firmware. +// License: GPL + +#ifndef MARLIN_H +#define MARLIN_H + +#define FORCE_INLINE __attribute__((always_inline)) inline + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + + +#include "fastio.h" +#include "Configuration.h" + +#if (ARDUINO >= 100) + #include "Arduino.h" +#else + #include "WProgram.h" +#endif + +#define BIT(b) (1<<(b)) +#define TEST(n,b) (((n)&BIT(b))!=0) +#define RADIANS(d) ((d)*M_PI/180.0) +#define DEGREES(r) ((d)*180.0/M_PI) +#define NOLESS(v,n) do{ if (v < n) v = n; }while(0) +#define NOMORE(v,n) do{ if (v > n) v = n; }while(0) + +typedef unsigned long millis_t; + +// Arduino < 1.0.0 does not define this, so we need to do it ourselves +#ifndef analogInputToDigitalPin + #define analogInputToDigitalPin(p) ((p) + 0xA0) +#endif + +#ifdef AT90USB + #include "HardwareSerial.h" +#endif + +#include "MarlinSerial.h" + +#ifndef cbi + #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) +#endif +#ifndef sbi + #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) +#endif + +#include "WString.h" + +#ifdef AT90USB + #ifdef BTENABLED + #define MYSERIAL bt + #else + #define MYSERIAL Serial + #endif // BTENABLED +#else + #define MYSERIAL MSerial +#endif + +#define SERIAL_CHAR(x) MYSERIAL.write(x) +#define SERIAL_EOL SERIAL_CHAR('\n') + +#define SERIAL_PROTOCOLCHAR(x) SERIAL_CHAR(x) +#define SERIAL_PROTOCOL(x) MYSERIAL.print(x) +#define SERIAL_PROTOCOL_F(x,y) MYSERIAL.print(x,y) +#define SERIAL_PROTOCOLPGM(x) serialprintPGM(PSTR(x)) +#define SERIAL_PROTOCOLLN(x) do{ MYSERIAL.print(x),MYSERIAL.write('\n'); }while(0) +#define SERIAL_PROTOCOLLNPGM(x) do{ serialprintPGM(PSTR(x)),MYSERIAL.write('\n'); }while(0) + + +extern const char errormagic[] PROGMEM; +extern const char echomagic[] PROGMEM; + +#define SERIAL_ERROR_START serialprintPGM(errormagic) +#define SERIAL_ERROR(x) SERIAL_PROTOCOL(x) +#define SERIAL_ERRORPGM(x) SERIAL_PROTOCOLPGM(x) +#define SERIAL_ERRORLN(x) SERIAL_PROTOCOLLN(x) +#define SERIAL_ERRORLNPGM(x) SERIAL_PROTOCOLLNPGM(x) + +#define SERIAL_ECHO_START serialprintPGM(echomagic) +#define SERIAL_ECHO(x) SERIAL_PROTOCOL(x) +#define SERIAL_ECHOPGM(x) SERIAL_PROTOCOLPGM(x) +#define SERIAL_ECHOLN(x) SERIAL_PROTOCOLLN(x) +#define SERIAL_ECHOLNPGM(x) SERIAL_PROTOCOLLNPGM(x) + +#define SERIAL_ECHOPAIR(name,value) do{ serial_echopair_P(PSTR(name),(value)); }while(0) + +void serial_echopair_P(const char *s_P, float v); +void serial_echopair_P(const char *s_P, double v); +void serial_echopair_P(const char *s_P, unsigned long v); + + +// Things to write to serial from Program memory. Saves 400 to 2k of RAM. +FORCE_INLINE void serialprintPGM(const char *str) { + char ch; + while ((ch = pgm_read_byte(str))) { + MYSERIAL.write(ch); + str++; + } +} + +void get_command(); +void process_commands(); + +void manage_inactivity(bool ignore_stepper_queue=false); + +#if defined(DUAL_X_CARRIAGE) && HAS_X_ENABLE && HAS_X2_ENABLE + #define enable_x() do { X_ENABLE_WRITE( X_ENABLE_ON); X2_ENABLE_WRITE( X_ENABLE_ON); } while (0) + #define disable_x() do { X_ENABLE_WRITE(!X_ENABLE_ON); X2_ENABLE_WRITE(!X_ENABLE_ON); axis_known_position[X_AXIS] = false; } while (0) +#elif HAS_X_ENABLE + #define enable_x() X_ENABLE_WRITE( X_ENABLE_ON) + #define disable_x() { X_ENABLE_WRITE(!X_ENABLE_ON); axis_known_position[X_AXIS] = false; } +#else + #define enable_x() ; + #define disable_x() ; +#endif + +#if HAS_Y_ENABLE + #ifdef Y_DUAL_STEPPER_DRIVERS + #define enable_y() { Y_ENABLE_WRITE( Y_ENABLE_ON); Y2_ENABLE_WRITE(Y_ENABLE_ON); } + #define disable_y() { Y_ENABLE_WRITE(!Y_ENABLE_ON); Y2_ENABLE_WRITE(!Y_ENABLE_ON); axis_known_position[Y_AXIS] = false; } + #else + #define enable_y() Y_ENABLE_WRITE( Y_ENABLE_ON) + #define disable_y() { Y_ENABLE_WRITE(!Y_ENABLE_ON); axis_known_position[Y_AXIS] = false; } + #endif +#else + #define enable_y() ; + #define disable_y() ; +#endif + +#if HAS_Z_ENABLE + #ifdef Z_DUAL_STEPPER_DRIVERS + #define enable_z() { Z_ENABLE_WRITE( Z_ENABLE_ON); Z2_ENABLE_WRITE(Z_ENABLE_ON); } + #define disable_z() { Z_ENABLE_WRITE(!Z_ENABLE_ON); Z2_ENABLE_WRITE(!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; } + #else + #define enable_z() Z_ENABLE_WRITE( Z_ENABLE_ON) + #define disable_z() { Z_ENABLE_WRITE(!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; } + #endif +#else + #define enable_z() ; + #define disable_z() ; +#endif + +#if HAS_E0_ENABLE + #define enable_e0() E0_ENABLE_WRITE( E_ENABLE_ON) + #define disable_e0() E0_ENABLE_WRITE(!E_ENABLE_ON) +#else + #define enable_e0() /* nothing */ + #define disable_e0() /* nothing */ +#endif + +#if (EXTRUDERS > 1) && HAS_E1_ENABLE + #define enable_e1() E1_ENABLE_WRITE( E_ENABLE_ON) + #define disable_e1() E1_ENABLE_WRITE(!E_ENABLE_ON) +#else + #define enable_e1() /* nothing */ + #define disable_e1() /* nothing */ +#endif + +#if (EXTRUDERS > 2) && HAS_E2_ENABLE + #define enable_e2() E2_ENABLE_WRITE( E_ENABLE_ON) + #define disable_e2() E2_ENABLE_WRITE(!E_ENABLE_ON) +#else + #define enable_e2() /* nothing */ + #define disable_e2() /* nothing */ +#endif + +#if (EXTRUDERS > 3) && HAS_E3_ENABLE + #define enable_e3() E3_ENABLE_WRITE( E_ENABLE_ON) + #define disable_e3() E3_ENABLE_WRITE(!E_ENABLE_ON) +#else + #define enable_e3() /* nothing */ + #define disable_e3() /* nothing */ +#endif + +/** + * The axis order in all axis related arrays is X, Y, Z, E + */ +#define NUM_AXIS 4 + +/** + * Axis indices as enumerated constants + * + * A_AXIS and B_AXIS are used by COREXY printers + * X_HEAD and Y_HEAD is used for systems that don't have a 1:1 relationship between X_AXIS and X Head movement, like CoreXY bots. + */ +enum AxisEnum {X_AXIS=0, Y_AXIS=1, A_AXIS=0, B_AXIS=1, Z_AXIS=2, E_AXIS=3, X_HEAD=4, Y_HEAD=5}; + +void enable_all_steppers(); +void disable_all_steppers(); + +void FlushSerialRequestResend(); +void ClearToSend(); + +void get_coordinates(); +#ifdef DELTA + void calculate_delta(float cartesian[3]); + #ifdef ENABLE_AUTO_BED_LEVELING + extern int delta_grid_spacing[2]; + void adjust_delta(float cartesian[3]); + #endif + extern float delta[3]; +#endif +#ifdef SCARA + void calculate_delta(float cartesian[3]); + void calculate_SCARA_forward_Transform(float f_scara[3]); +#endif +void reset_bed_level(); +void prepare_move(); +void kill(); +void Stop(); + +#ifdef FILAMENT_RUNOUT_SENSOR + void filrunout(); +#endif + +extern bool Running; +inline bool IsRunning() { return Running; } +inline bool IsStopped() { return !Running; } + +bool enqueuecommand(const char *cmd); //put a single ASCII command at the end of the current buffer or return false when it is full +void enqueuecommands_P(const char *cmd); //put one or many ASCII commands at the end of the current buffer, read from flash + +void prepare_arc_move(char isclockwise); +void clamp_to_software_endstops(float target[3]); + +extern millis_t previous_cmd_ms; +inline void refresh_cmd_timeout() { previous_cmd_ms = millis(); } + +#ifdef FAST_PWM_FAN + void setPwmFrequency(uint8_t pin, int val); +#endif + +#ifndef CRITICAL_SECTION_START + #define CRITICAL_SECTION_START unsigned char _sreg = SREG; cli(); + #define CRITICAL_SECTION_END SREG = _sreg; +#endif + +extern float homing_feedrate[]; +extern bool axis_relative_modes[]; +extern int feedmultiply; +extern bool volumetric_enabled; +extern int extruder_multiply[EXTRUDERS]; // sets extrude multiply factor (in percent) for each extruder individually +extern float filament_size[EXTRUDERS]; // cross-sectional area of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder. +extern float volumetric_multiplier[EXTRUDERS]; // reciprocal of cross-sectional area of filament (in square millimeters), stored this way to reduce computational burden in planner +extern float current_position[NUM_AXIS]; +extern float home_offset[3]; + +#ifdef DELTA + extern float endstop_adj[3]; + extern float delta_radius; + extern float delta_diagonal_rod; + extern float delta_segments_per_second; + void recalc_delta_settings(float radius, float diagonal_rod); +#elif defined(Z_DUAL_ENDSTOPS) + extern float z_endstop_adj; +#endif + +#ifdef SCARA + extern float axis_scaling[3]; // Build size scaling +#endif + +extern float min_pos[3]; +extern float max_pos[3]; +extern bool axis_known_position[3]; + +#ifdef ENABLE_AUTO_BED_LEVELING + extern float zprobe_zoffset; +#endif + +#ifdef PREVENT_DANGEROUS_EXTRUDE + extern float extrude_min_temp; +#endif + +extern int fanSpeed; + +#ifdef BARICUDA + extern int ValvePressure; + extern int EtoPPressure; +#endif + +#ifdef FAN_SOFT_PWM + extern unsigned char fanSpeedSoftPwm; +#endif + +#ifdef FILAMENT_SENSOR + extern float filament_width_nominal; //holds the theoretical filament diameter ie., 3.00 or 1.75 + extern bool filament_sensor; //indicates that filament sensor readings should control extrusion + extern float filament_width_meas; //holds the filament diameter as accurately measured + extern signed char measurement_delay[]; //ring buffer to delay measurement + extern int delay_index1, delay_index2; //ring buffer index. used by planner, temperature, and main code + extern float delay_dist; //delay distance counter + extern int meas_delay_cm; //delay distance +#endif + +#ifdef FWRETRACT + extern bool autoretract_enabled; + extern bool retracted[EXTRUDERS]; + extern float retract_length, retract_length_swap, retract_feedrate, retract_zlift; + extern float retract_recover_length, retract_recover_length_swap, retract_recover_feedrate; +#endif + +extern millis_t starttime; +extern millis_t stoptime; + +// Handling multiple extruders pins +extern uint8_t active_extruder; + +#ifdef DIGIPOT_I2C + extern void digipot_i2c_set_current( int channel, float current ); + extern void digipot_i2c_init(); +#endif + +extern void calculate_volumetric_multipliers(); + +#endif //MARLIN_H diff --git a/Marlin/Marlin.ino b/Marlin/Marlin.ino new file mode 100644 index 0000000..9eae6d4 --- /dev/null +++ b/Marlin/Marlin.ino @@ -0,0 +1,56 @@ +/* -*- c++ -*- */ + +/* + Reprap firmware based on Sprinter and grbl. + Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +/* + This firmware is a mashup between Sprinter and grbl. + (https://github.com/kliment/Sprinter) + (https://github.com/simen/grbl/tree) + + It has preliminary support for Matthew Roberts advance algorithm + http://reprap.org/pipermail/reprap-dev/2011-May/003323.html + */ + +/* All the implementation is done in *.cpp files to get better compatibility with avr-gcc without the Arduino IDE */ +/* Use this file to help the Arduino IDE find which Arduino libraries are needed and to keep documentation on GCode */ + +#include "Configuration.h" +#include "pins.h" + +#ifdef ULTRA_LCD + #if defined(LCD_I2C_TYPE_PCF8575) + #include + #include + #elif defined(LCD_I2C_TYPE_MCP23017) || defined(LCD_I2C_TYPE_MCP23008) + #include + #include + #elif defined(DOGLCD) + #include // library for graphics LCD by Oli Kraus (https://code.google.com/p/u8glib/) + #else + #include // library for character LCD + #endif +#endif + +#if HAS_DIGIPOTSS + #include +#endif + +#if defined(DIGIPOT_I2C) + #include +#endif diff --git a/Marlin/MarlinSerial.cpp b/Marlin/MarlinSerial.cpp new file mode 100644 index 0000000..dc36e14 --- /dev/null +++ b/Marlin/MarlinSerial.cpp @@ -0,0 +1,292 @@ +/* + HardwareSerial.cpp - Hardware serial library for Wiring + Copyright (c) 2006 Nicholas Zambetti. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Modified 23 November 2006 by David A. Mellis + Modified 28 September 2010 by Mark Sproul +*/ + +#include "Marlin.h" +#include "MarlinSerial.h" + +#ifndef AT90USB +// this next line disables the entire HardwareSerial.cpp, +// this is so I can support Attiny series and any other chip without a UART +#if defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H) + +#if UART_PRESENT(SERIAL_PORT) + ring_buffer rx_buffer = { { 0 }, 0, 0 }; +#endif + +FORCE_INLINE void store_char(unsigned char c) { + int i = (unsigned int)(rx_buffer.head + 1) % RX_BUFFER_SIZE; + + // if we should be storing the received character into the location + // just before the tail (meaning that the head would advance to the + // current location of the tail), we're about to overflow the buffer + // and so we don't write the character or advance the head. + if (i != rx_buffer.tail) { + rx_buffer.buffer[rx_buffer.head] = c; + rx_buffer.head = i; + } +} + + +//#elif defined(SIG_USART_RECV) +#if defined(M_USARTx_RX_vect) + // fixed by Mark Sproul this is on the 644/644p + //SIGNAL(SIG_USART_RECV) + SIGNAL(M_USARTx_RX_vect) { + unsigned char c = M_UDRx; + store_char(c); + } +#endif + +// Constructors //////////////////////////////////////////////////////////////// + +MarlinSerial::MarlinSerial() { } + +// Public Methods ////////////////////////////////////////////////////////////// + +void MarlinSerial::begin(long baud) { + uint16_t baud_setting; + bool useU2X = true; + + #if F_CPU == 16000000UL && SERIAL_PORT == 0 + // hard-coded exception for compatibility with the bootloader shipped + // with the Duemilanove and previous boards and the firmware on the 8U2 + // on the Uno and Mega 2560. + if (baud == 57600) { + useU2X = false; + } + #endif + + if (useU2X) { + M_UCSRxA = BIT(M_U2Xx); + baud_setting = (F_CPU / 4 / baud - 1) / 2; + } else { + M_UCSRxA = 0; + baud_setting = (F_CPU / 8 / baud - 1) / 2; + } + + // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) + M_UBRRxH = baud_setting >> 8; + M_UBRRxL = baud_setting; + + sbi(M_UCSRxB, M_RXENx); + sbi(M_UCSRxB, M_TXENx); + sbi(M_UCSRxB, M_RXCIEx); +} + +void MarlinSerial::end() { + cbi(M_UCSRxB, M_RXENx); + cbi(M_UCSRxB, M_TXENx); + cbi(M_UCSRxB, M_RXCIEx); +} + + +int MarlinSerial::peek(void) { + if (rx_buffer.head == rx_buffer.tail) { + return -1; + } else { + return rx_buffer.buffer[rx_buffer.tail]; + } +} + +int MarlinSerial::read(void) { + // if the head isn't ahead of the tail, we don't have any characters + if (rx_buffer.head == rx_buffer.tail) { + return -1; + } + else { + unsigned char c = rx_buffer.buffer[rx_buffer.tail]; + rx_buffer.tail = (unsigned int)(rx_buffer.tail + 1) % RX_BUFFER_SIZE; + return c; + } +} + +void MarlinSerial::flush() { + // don't reverse this or there may be problems if the RX interrupt + // occurs after reading the value of rx_buffer_head but before writing + // the value to rx_buffer_tail; the previous value of rx_buffer_head + // may be written to rx_buffer_tail, making it appear as if the buffer + // don't reverse this or there may be problems if the RX interrupt + // occurs after reading the value of rx_buffer_head but before writing + // the value to rx_buffer_tail; the previous value of rx_buffer_head + // may be written to rx_buffer_tail, making it appear as if the buffer + // were full, not empty. + rx_buffer.head = rx_buffer.tail; +} + + +/// imports from print.h + + +void MarlinSerial::print(char c, int base) { + print((long) c, base); +} + +void MarlinSerial::print(unsigned char b, int base) { + print((unsigned long) b, base); +} + +void MarlinSerial::print(int n, int base) { + print((long) n, base); +} + +void MarlinSerial::print(unsigned int n, int base) { + print((unsigned long) n, base); +} + +void MarlinSerial::print(long n, int base) { + if (base == 0) { + write(n); + } + else if (base == 10) { + if (n < 0) { + print('-'); + n = -n; + } + printNumber(n, 10); + } else { + printNumber(n, base); + } +} + +void MarlinSerial::print(unsigned long n, int base) { + if (base == 0) write(n); + else printNumber(n, base); +} + +void MarlinSerial::print(double n, int digits) { + printFloat(n, digits); +} + +void MarlinSerial::println(void) { + print('\r'); + print('\n'); +} + +void MarlinSerial::println(const String &s) { + print(s); + println(); +} + +void MarlinSerial::println(const char c[]) { + print(c); + println(); +} + +void MarlinSerial::println(char c, int base) { + print(c, base); + println(); +} + +void MarlinSerial::println(unsigned char b, int base) { + print(b, base); + println(); +} + +void MarlinSerial::println(int n, int base) { + print(n, base); + println(); +} + +void MarlinSerial::println(unsigned int n, int base) { + print(n, base); + println(); +} + +void MarlinSerial::println(long n, int base) { + print(n, base); + println(); +} + +void MarlinSerial::println(unsigned long n, int base) { + print(n, base); + println(); +} + +void MarlinSerial::println(double n, int digits) { + print(n, digits); + println(); +} + +// Private Methods ///////////////////////////////////////////////////////////// + +void MarlinSerial::printNumber(unsigned long n, uint8_t base) { + unsigned char buf[8 * sizeof(long)]; // Assumes 8-bit chars. + unsigned long i = 0; + + if (n == 0) { + print('0'); + return; + } + + while (n > 0) { + buf[i++] = n % base; + n /= base; + } + + for (; i > 0; i--) + print((char) (buf[i - 1] < 10 ? + '0' + buf[i - 1] : + 'A' + buf[i - 1] - 10)); +} + +void MarlinSerial::printFloat(double number, uint8_t digits) { + // Handle negative numbers + if (number < 0.0) { + print('-'); + number = -number; + } + + // Round correctly so that print(1.999, 2) prints as "2.00" + double rounding = 0.5; + for (uint8_t i = 0; i < digits; ++i) + rounding /= 10.0; + + number += rounding; + + // Extract the integer part of the number and print it + unsigned long int_part = (unsigned long)number; + double remainder = number - (double)int_part; + print(int_part); + + // Print the decimal point, but only if there are digits beyond + if (digits > 0) print('.'); + + // Extract digits from the remainder one at a time + while (digits-- > 0) { + remainder *= 10.0; + int toPrint = int(remainder); + print(toPrint); + remainder -= toPrint; + } +} +// Preinstantiate Objects ////////////////////////////////////////////////////// + + +MarlinSerial MSerial; + +#endif // whole file +#endif // !AT90USB + +// For AT90USB targets use the UART for BT interfacing +#if defined(AT90USB) && defined(BTENABLED) + HardwareSerial bt; +#endif diff --git a/Marlin/MarlinSerial.h b/Marlin/MarlinSerial.h new file mode 100644 index 0000000..dbad3fd --- /dev/null +++ b/Marlin/MarlinSerial.h @@ -0,0 +1,160 @@ +/* + HardwareSerial.h - Hardware serial library for Wiring + Copyright (c) 2006 Nicholas Zambetti. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Modified 28 September 2010 by Mark Sproul +*/ + +#ifndef MarlinSerial_h +#define MarlinSerial_h +#include "Marlin.h" + +#ifndef SERIAL_PORT + #define SERIAL_PORT 0 +#endif + +// The presence of the UBRRH register is used to detect a UART. +#define UART_PRESENT(port) ((port == 0 && (defined(UBRRH) || defined(UBRR0H))) || \ + (port == 1 && defined(UBRR1H)) || (port == 2 && defined(UBRR2H)) || \ + (port == 3 && defined(UBRR3H))) + +// These are macros to build serial port register names for the selected SERIAL_PORT (C preprocessor +// requires two levels of indirection to expand macro values properly) +#define SERIAL_REGNAME(registerbase,number,suffix) SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) +#if SERIAL_PORT == 0 && (!defined(UBRR0H) || !defined(UDR0)) // use un-numbered registers if necessary + #define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##suffix +#else + #define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##number##suffix +#endif + +// Registers used by MarlinSerial class (these are expanded +// depending on selected serial port +#define M_UCSRxA SERIAL_REGNAME(UCSR,SERIAL_PORT,A) // defines M_UCSRxA to be UCSRnA where n is the serial port number +#define M_UCSRxB SERIAL_REGNAME(UCSR,SERIAL_PORT,B) +#define M_RXENx SERIAL_REGNAME(RXEN,SERIAL_PORT,) +#define M_TXENx SERIAL_REGNAME(TXEN,SERIAL_PORT,) +#define M_RXCIEx SERIAL_REGNAME(RXCIE,SERIAL_PORT,) +#define M_UDREx SERIAL_REGNAME(UDRE,SERIAL_PORT,) +#define M_UDRx SERIAL_REGNAME(UDR,SERIAL_PORT,) +#define M_UBRRxH SERIAL_REGNAME(UBRR,SERIAL_PORT,H) +#define M_UBRRxL SERIAL_REGNAME(UBRR,SERIAL_PORT,L) +#define M_RXCx SERIAL_REGNAME(RXC,SERIAL_PORT,) +#define M_USARTx_RX_vect SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect) +#define M_U2Xx SERIAL_REGNAME(U2X,SERIAL_PORT,) + + +#define DEC 10 +#define HEX 16 +#define OCT 8 +#define BIN 2 +#define BYTE 0 + + +#ifndef AT90USB +// Define constants and variables for buffering incoming serial data. We're +// using a ring buffer (I think), in which rx_buffer_head is the index of the +// location to which to write the next incoming character and rx_buffer_tail +// is the index of the location from which to read. +#define RX_BUFFER_SIZE 128 + + +struct ring_buffer { + unsigned char buffer[RX_BUFFER_SIZE]; + int head; + int tail; +}; + +#if UART_PRESENT(SERIAL_PORT) + extern ring_buffer rx_buffer; +#endif + +class MarlinSerial { //: public Stream + + public: + MarlinSerial(); + void begin(long); + void end(); + int peek(void); + int read(void); + void flush(void); + + FORCE_INLINE int available(void) { + return (unsigned int)(RX_BUFFER_SIZE + rx_buffer.head - rx_buffer.tail) % RX_BUFFER_SIZE; + } + + FORCE_INLINE void write(uint8_t c) { + while (!TEST(M_UCSRxA, M_UDREx)) + ; + + M_UDRx = c; + } + + FORCE_INLINE void checkRx(void) { + if (TEST(M_UCSRxA, M_RXCx)) { + unsigned char c = M_UDRx; + int i = (unsigned int)(rx_buffer.head + 1) % RX_BUFFER_SIZE; + + // if we should be storing the received character into the location + // just before the tail (meaning that the head would advance to the + // current location of the tail), we're about to overflow the buffer + // and so we don't write the character or advance the head. + if (i != rx_buffer.tail) { + rx_buffer.buffer[rx_buffer.head] = c; + rx_buffer.head = i; + } + } + } + + private: + void printNumber(unsigned long, uint8_t); + void printFloat(double, uint8_t); + + public: + FORCE_INLINE void write(const char *str) { while (*str) write(*str++); } + FORCE_INLINE void write(const uint8_t *buffer, size_t size) { while (size--) write(*buffer++); } + FORCE_INLINE void print(const String &s) { for (int i = 0; i < (int)s.length(); i++) write(s[i]); } + FORCE_INLINE void print(const char *str) { write(str); } + + void print(char, int = BYTE); + void print(unsigned char, int = BYTE); + void print(int, int = DEC); + void print(unsigned int, int = DEC); + void print(long, int = DEC); + void print(unsigned long, int = DEC); + void print(double, int = 2); + + void println(const String &s); + void println(const char[]); + void println(char, int = BYTE); + void println(unsigned char, int = BYTE); + void println(int, int = DEC); + void println(unsigned int, int = DEC); + void println(long, int = DEC); + void println(unsigned long, int = DEC); + void println(double, int = 2); + void println(void); +}; + +extern MarlinSerial MSerial; +#endif // !AT90USB + +// Use the UART for BT in AT90USB configurations +#if defined(AT90USB) && defined(BTENABLED) + extern HardwareSerial bt; +#endif + +#endif diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp new file mode 100644 index 0000000..94c4c7b --- /dev/null +++ b/Marlin/Marlin_main.cpp @@ -0,0 +1,6052 @@ +/* -*- c++ -*- */ + +/* + Reprap firmware based on Sprinter and grbl. + Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +/* + This firmware is a mashup between Sprinter and grbl. + (https://github.com/kliment/Sprinter) + (https://github.com/simen/grbl/tree) + + It has preliminary support for Matthew Roberts advance algorithm + http://reprap.org/pipermail/reprap-dev/2011-May/003323.html + */ + +#include "Marlin.h" + +#ifdef ENABLE_AUTO_BED_LEVELING + #include "vector_3.h" + #ifdef AUTO_BED_LEVELING_GRID + #include "qr_solve.h" + #endif +#endif // ENABLE_AUTO_BED_LEVELING + +#define SERVO_LEVELING (defined(ENABLE_AUTO_BED_LEVELING) && PROBE_SERVO_DEACTIVATION_DELAY > 0) + +#ifdef MESH_BED_LEVELING + #include "mesh_bed_leveling.h" +#endif + +#include "ultralcd.h" +#include "planner.h" +#include "stepper.h" +#include "temperature.h" +#include "motion_control.h" +#include "cardreader.h" +#include "watchdog.h" +#include "ConfigurationStore.h" +#include "language.h" +#include "pins_arduino.h" +#include "math.h" + +#ifdef BLINKM + #include "BlinkM.h" + #include "Wire.h" +#endif + +#if NUM_SERVOS > 0 + #include "Servo.h" +#endif + +#if HAS_DIGIPOTSS + #include +#endif + +// look here for descriptions of G-codes: http://linuxcnc.org/handbook/gcode/g-code.html +// http://objects.reprap.org/wiki/Mendel_User_Manual:_RepRapGCodes + +//Implemented Codes +//------------------- +// G0 -> G1 +// G1 - Coordinated Movement X Y Z E +// G2 - CW ARC +// G3 - CCW ARC +// G4 - Dwell S or P +// G10 - retract filament according to settings of M207 +// G11 - retract recover filament according to settings of M208 +// G28 - Home one or more axes +// G29 - Detailed Z-Probe, probes the bed at 3 or more points. Will fail if you haven't homed yet. +// G30 - Single Z Probe, probes bed at current XY location. +// G31 - Dock sled (Z_PROBE_SLED only) +// G32 - Undock sled (Z_PROBE_SLED only) +// G90 - Use Absolute Coordinates +// G91 - Use Relative Coordinates +// G92 - Set current position to coordinates given + +// M Codes +// M0 - Unconditional stop - Wait for user to press a button on the LCD (Only if ULTRA_LCD is enabled) +// M1 - Same as M0 +// M17 - Enable/Power all stepper motors +// M18 - Disable all stepper motors; same as M84 +// M20 - List SD card +// M21 - Init SD card +// M22 - Release SD card +// M23 - Select SD file (M23 filename.g) +// M24 - Start/resume SD print +// M25 - Pause SD print +// M26 - Set SD position in bytes (M26 S12345) +// M27 - Report SD print status +// M28 - Start SD write (M28 filename.g) +// M29 - Stop SD write +// M30 - Delete file from SD (M30 filename.g) +// M31 - Output time since last M109 or SD card start to serial +// M32 - Select file and start SD print (Can be used _while_ printing from SD card files): +// syntax "M32 /path/filename#", or "M32 S !filename#" +// Call gcode file : "M32 P !filename#" and return to caller file after finishing (similar to #include). +// The '#' is necessary when calling from within sd files, as it stops buffer prereading +// M42 - Change pin status via gcode Use M42 Px Sy to set pin x to value y, when omitting Px the onboard led will be used. +// M48 - Measure Z_Probe repeatability. M48 [n # of points] [X position] [Y position] [V_erboseness #] [E_ngage Probe] [L # of legs of travel] +// M80 - Turn on Power Supply +// M81 - Turn off Power Supply +// M82 - Set E codes absolute (default) +// M83 - Set E codes relative while in Absolute Coordinates (G90) mode +// M84 - Disable steppers until next move, +// or use S to specify an inactivity timeout, after which the steppers will be disabled. S0 to disable the timeout. +// M85 - Set inactivity shutdown timer with parameter S. To disable set zero (default) +// M92 - Set axis_steps_per_unit - same syntax as G92 +// M104 - Set extruder target temp +// M105 - Read current temp +// M106 - Fan on +// M107 - Fan off +// M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating +// Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling +// IF AUTOTEMP is enabled, S B F. Exit autotemp by any M109 without F +// M112 - Emergency stop +// M114 - Output current position to serial port +// M115 - Capabilities string +// M117 - display message +// M119 - Output Endstop status to serial port +// M120 - Enable endstop detection +// M121 - Disable endstop detection +// M126 - Solenoid Air Valve Open (BariCUDA support by jmil) +// M127 - Solenoid Air Valve Closed (BariCUDA vent to atmospheric pressure by jmil) +// M128 - EtoP Open (BariCUDA EtoP = electricity to air pressure transducer by jmil) +// M129 - EtoP Closed (BariCUDA EtoP = electricity to air pressure transducer by jmil) +// M140 - Set bed target temp +// M150 - Set BlinkM Color Output R: Red<0-255> U(!): Green<0-255> B: Blue<0-255> over i2c, G for green does not work. +// M190 - Sxxx Wait for bed current temp to reach target temp. Waits only when heating +// Rxxx Wait for bed current temp to reach target temp. Waits when heating and cooling +// M200 - set filament diameter and set E axis units to cubic millimeters (use S0 to set back to millimeters).:D- +// M201 - Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000) +// M202 - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!! +// M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec +// M204 - Set default acceleration: P for Printing moves, R for Retract only (no X, Y, Z) moves and T for Travel (non printing) moves (ex. M204 P800 T3000 R9000) in mm/sec^2 +// M205 - advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk +// M206 - Set additional homing offset +// M207 - Set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop], stays in mm regardless of M200 setting +// M208 - Set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/sec] +// M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction. +// M218 - Set hotend offset (in mm): T X Y +// M220 - Set speed factor override percentage: S +// M221 - Set extrude factor override percentage: S +// M226 - Wait until the specified pin reaches the state required: P S +// M240 - Trigger a camera to take a photograph +// M250 - Set LCD contrast C (value 0..63) +// M280 - Set servo position absolute. P: servo index, S: angle or microseconds +// M300 - Play beep sound S P +// M301 - Set PID parameters P I and D +// M302 - Allow cold extrudes, or set the minimum extrude S. +// M303 - PID relay autotune S sets the target temperature. (default target temperature = 150C) +// M304 - Set bed PID parameters P I and D +// M380 - Activate solenoid on active extruder +// M381 - Disable all solenoids +// M400 - Finish all moves +// M401 - Lower z-probe if present +// M402 - Raise z-probe if present +// M404 - N Enter the nominal filament width (3mm, 1.75mm ) or will display nominal filament width without parameters +// M405 - Turn on Filament Sensor extrusion control. Optional D to set delay in centimeters between sensor and extruder +// M406 - Turn off Filament Sensor extrusion control +// M407 - Display measured filament diameter +// M500 - Store parameters in EEPROM +// M501 - Read parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - Revert to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +// M503 - Print the current settings (from memory not from EEPROM). Use S0 to leave off headings. +// M540 - Use S[0|1] to enable or disable the stop SD card print on endstop hit (requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) +// M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] +// M665 - Set delta configurations: L R S +// M666 - Set delta endstop adjustment +// M605 - Set dual x-carriage movement mode: S [ X R ] +// M907 - Set digital trimpot motor current using axis codes. +// M908 - Control digital trimpot directly. +// M350 - Set microstepping mode. +// M351 - Toggle MS1 MS2 pins directly. + +// ************ SCARA Specific - This can change to suit future G-code regulations +// M360 - SCARA calibration: Move to cal-position ThetaA (0 deg calibration) +// M361 - SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree) +// M362 - SCARA calibration: Move to cal-position PsiA (0 deg calibration) +// M363 - SCARA calibration: Move to cal-position PsiB (90 deg calibration - steps per degree) +// M364 - SCARA calibration: Move to cal-position PSIC (90 deg to Theta calibration position) +// M365 - SCARA calibration: Scaling factor, X, Y, Z axis +//************* SCARA End *************** + +// M928 - Start SD logging (M928 filename.g) - ended by M29 +// M999 - Restart after being stopped by error + +#ifdef SDSUPPORT + CardReader card; +#endif + +bool Running = true; + +static float feedrate = 1500.0, next_feedrate, saved_feedrate; +float current_position[NUM_AXIS] = { 0.0 }; +static float destination[NUM_AXIS] = { 0.0 }; +bool axis_known_position[3] = { false }; + +static long gcode_N, gcode_LastN, Stopped_gcode_LastN = 0; +static char cmdbuffer[BUFSIZE][MAX_CMD_SIZE]; + +float homing_feedrate[] = HOMING_FEEDRATE; +bool axis_relative_modes[] = AXIS_RELATIVE_MODES; +int feedmultiply = 100; //100->1 200->2 +int saved_feedmultiply; +int extruder_multiply[EXTRUDERS] = ARRAY_BY_EXTRUDERS(100, 100, 100, 100); +bool volumetric_enabled = false; +float filament_size[EXTRUDERS] = ARRAY_BY_EXTRUDERS(DEFAULT_NOMINAL_FILAMENT_DIA, DEFAULT_NOMINAL_FILAMENT_DIA, DEFAULT_NOMINAL_FILAMENT_DIA, DEFAULT_NOMINAL_FILAMENT_DIA); +float volumetric_multiplier[EXTRUDERS] = ARRAY_BY_EXTRUDERS(1.0, 1.0, 1.0, 1.0); +float home_offset[3] = { 0 }; +float min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS }; +float max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS }; + +uint8_t active_extruder = 0; +int fanSpeed = 0; +bool cancel_heatup = false; + +const char errormagic[] PROGMEM = "Error:"; +const char echomagic[] PROGMEM = "echo:"; +const char axis_codes[NUM_AXIS] = {'X', 'Y', 'Z', 'E'}; + +static float offset[3] = { 0 }; +static bool relative_mode = false; //Determines Absolute or Relative Coordinates +static int bufindr = 0; +static int bufindw = 0; +static int buflen = 0; +static char serial_char; +static int serial_count = 0; +static boolean comment_mode = false; +static char *strchr_pointer; ///< A pointer to find chars in the command string (X, Y, Z, E, etc.) +const char* queued_commands_P= NULL; /* pointer to the current line in the active sequence of commands, or NULL when none */ +const int sensitive_pins[] = SENSITIVE_PINS; ///< Sensitive pin list for M42 +// Inactivity shutdown +millis_t previous_cmd_ms = 0; +static millis_t max_inactive_time = 0; +static millis_t stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME * 1000L; +millis_t starttime = 0; ///< Print job start time +millis_t stoptime = 0; ///< Print job stop time +static uint8_t target_extruder; +bool CooldownNoWait = true; +bool target_direction; + +#ifdef ENABLE_AUTO_BED_LEVELING + int xy_travel_speed = XY_TRAVEL_SPEED; + float zprobe_zoffset = -Z_PROBE_OFFSET_FROM_EXTRUDER; +#endif + +#if defined(Z_DUAL_ENDSTOPS) && !defined(DELTA) + float z_endstop_adj = 0; +#endif + +// Extruder offsets +#if EXTRUDERS > 1 + #ifndef EXTRUDER_OFFSET_X + #define EXTRUDER_OFFSET_X { 0 } + #endif + #ifndef EXTRUDER_OFFSET_Y + #define EXTRUDER_OFFSET_Y { 0 } + #endif + float extruder_offset[][EXTRUDERS] = { + EXTRUDER_OFFSET_X, + EXTRUDER_OFFSET_Y + #ifdef DUAL_X_CARRIAGE + , { 0 } // supports offsets in XYZ plane + #endif + }; +#endif + +#ifdef SERVO_ENDSTOPS + int servo_endstops[] = SERVO_ENDSTOPS; + int servo_endstop_angles[] = SERVO_ENDSTOP_ANGLES; +#endif + +#ifdef BARICUDA + int ValvePressure = 0; + int EtoPPressure = 0; +#endif + +#ifdef FWRETRACT + + bool autoretract_enabled = false; + bool retracted[EXTRUDERS] = { false }; + bool retracted_swap[EXTRUDERS] = { false }; + + float retract_length = RETRACT_LENGTH; + float retract_length_swap = RETRACT_LENGTH_SWAP; + float retract_feedrate = RETRACT_FEEDRATE; + float retract_zlift = RETRACT_ZLIFT; + float retract_recover_length = RETRACT_RECOVER_LENGTH; + float retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP; + float retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE; + +#endif // FWRETRACT + +#if defined(ULTIPANEL) && HAS_POWER_SWITCH + bool powersupply = + #ifdef PS_DEFAULT_OFF + false + #else + true + #endif + ; +#endif + +#ifdef DELTA + float delta[3] = { 0 }; + #define SIN_60 0.8660254037844386 + #define COS_60 0.5 + float endstop_adj[3] = { 0 }; + // these are the default values, can be overriden with M665 + float delta_radius = DELTA_RADIUS; + float delta_tower1_x = -SIN_60 * delta_radius; // front left tower + float delta_tower1_y = -COS_60 * delta_radius; + float delta_tower2_x = SIN_60 * delta_radius; // front right tower + float delta_tower2_y = -COS_60 * delta_radius; + float delta_tower3_x = 0; // back middle tower + float delta_tower3_y = delta_radius; + float delta_diagonal_rod = DELTA_DIAGONAL_ROD; + float delta_diagonal_rod_2 = sq(delta_diagonal_rod); + float delta_segments_per_second = DELTA_SEGMENTS_PER_SECOND; + #ifdef ENABLE_AUTO_BED_LEVELING + int delta_grid_spacing[2] = { 0, 0 }; + float bed_level[AUTO_BED_LEVELING_GRID_POINTS][AUTO_BED_LEVELING_GRID_POINTS]; + #endif +#else + static bool home_all_axis = true; +#endif + +#ifdef SCARA + static float delta[3] = { 0 }; + float axis_scaling[3] = { 1, 1, 1 }; // Build size scaling, default to 1 +#endif + +#ifdef FILAMENT_SENSOR + //Variables for Filament Sensor input + float filament_width_nominal = DEFAULT_NOMINAL_FILAMENT_DIA; //Set nominal filament width, can be changed with M404 + bool filament_sensor = false; //M405 turns on filament_sensor control, M406 turns it off + float filament_width_meas = DEFAULT_MEASURED_FILAMENT_DIA; //Stores the measured filament diameter + signed char measurement_delay[MAX_MEASUREMENT_DELAY+1]; //ring buffer to delay measurement store extruder factor after subtracting 100 + int delay_index1 = 0; //index into ring buffer + int delay_index2 = -1; //index into ring buffer - set to -1 on startup to indicate ring buffer needs to be initialized + float delay_dist = 0; //delay distance counter + int meas_delay_cm = MEASUREMENT_DELAY_CM; //distance delay setting +#endif + +#ifdef FILAMENT_RUNOUT_SENSOR + static bool filrunoutEnqued = false; +#endif + +#ifdef SDSUPPORT + static bool fromsd[BUFSIZE]; +#endif + +#if NUM_SERVOS > 0 + Servo servos[NUM_SERVOS]; +#endif + +#ifdef CHDK + unsigned long chdkHigh = 0; + boolean chdkActive = false; +#endif + +//=========================================================================== +//================================ Functions ================================ +//=========================================================================== + +void get_arc_coordinates(); +bool setTargetedHotend(int code); + +void serial_echopair_P(const char *s_P, float v) { serialprintPGM(s_P); SERIAL_ECHO(v); } +void serial_echopair_P(const char *s_P, double v) { serialprintPGM(s_P); SERIAL_ECHO(v); } +void serial_echopair_P(const char *s_P, unsigned long v) { serialprintPGM(s_P); SERIAL_ECHO(v); } + +#ifdef PREVENT_DANGEROUS_EXTRUDE + float extrude_min_temp = EXTRUDE_MINTEMP; +#endif + +#ifdef SDSUPPORT + #include "SdFatUtil.h" + int freeMemory() { return SdFatUtil::FreeRam(); } +#else + extern "C" { + extern unsigned int __bss_end; + extern unsigned int __heap_start; + extern void *__brkval; + + int freeMemory() { + int free_memory; + + if ((int)__brkval == 0) + free_memory = ((int)&free_memory) - ((int)&__bss_end); + else + free_memory = ((int)&free_memory) - ((int)__brkval); + + return free_memory; + } + } +#endif //!SDSUPPORT + +//Injects the next command from the pending sequence of commands, when possible +//Return false if and only if no command was pending +static bool drain_queued_commands_P() { + if (!queued_commands_P) return false; + + // Get the next 30 chars from the sequence of gcodes to run + char cmd[30]; + strncpy_P(cmd, queued_commands_P, sizeof(cmd) - 1); + cmd[sizeof(cmd) - 1] = '\0'; + + // Look for the end of line, or the end of sequence + size_t i = 0; + char c; + while((c = cmd[i]) && c != '\n') i++; // find the end of this gcode command + cmd[i] = '\0'; + if (enqueuecommand(cmd)) { // buffer was not full (else we will retry later) + if (c) + queued_commands_P += i + 1; // move to next command + else + queued_commands_P = NULL; // will have no more commands in the sequence + } + return true; +} + +//Record one or many commands to run from program memory. +//Aborts the current queue, if any. +//Note: drain_queued_commands_P() must be called repeatedly to drain the commands afterwards +void enqueuecommands_P(const char* pgcode) { + queued_commands_P = pgcode; + drain_queued_commands_P(); // first command executed asap (when possible) +} + +//adds a single command to the main command buffer, from RAM +//that is really done in a non-safe way. +//needs overworking someday +//Returns false if it failed to do so +bool enqueuecommand(const char *cmd) +{ + if(*cmd==';') + return false; + if(buflen >= BUFSIZE) + return false; + //this is dangerous if a mixing of serial and this happens + strcpy(&(cmdbuffer[bufindw][0]),cmd); + SERIAL_ECHO_START; + SERIAL_ECHOPGM(MSG_Enqueing); + SERIAL_ECHO(cmdbuffer[bufindw]); + SERIAL_ECHOLNPGM("\""); + bufindw= (bufindw + 1)%BUFSIZE; + buflen += 1; + return true; +} + +void setup_killpin() +{ + #if HAS_KILL + SET_INPUT(KILL_PIN); + WRITE(KILL_PIN, HIGH); + #endif +} + +void setup_filrunoutpin() +{ + #if HAS_FILRUNOUT + pinMode(FILRUNOUT_PIN, INPUT); + #ifdef ENDSTOPPULLUP_FIL_RUNOUT + WRITE(FILLRUNOUT_PIN, HIGH); + #endif + #endif +} + +// Set home pin +void setup_homepin(void) +{ + #if HAS_HOME + SET_INPUT(HOME_PIN); + WRITE(HOME_PIN, HIGH); + #endif +} + + +void setup_photpin() +{ + #if HAS_PHOTOGRAPH + OUT_WRITE(PHOTOGRAPH_PIN, LOW); + #endif +} + +void setup_powerhold() +{ + #if HAS_SUICIDE + OUT_WRITE(SUICIDE_PIN, HIGH); + #endif + #if HAS_POWER_SWITCH + #ifdef PS_DEFAULT_OFF + OUT_WRITE(PS_ON_PIN, PS_ON_ASLEEP); + #else + OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE); + #endif + #endif +} + +void suicide() +{ + #if HAS_SUICIDE + OUT_WRITE(SUICIDE_PIN, LOW); + #endif +} + +void servo_init() +{ + #if NUM_SERVOS >= 1 && HAS_SERVO_0 + servos[0].attach(SERVO0_PIN); + #endif + #if NUM_SERVOS >= 2 && HAS_SERVO_1 + servos[1].attach(SERVO1_PIN); + #endif + #if NUM_SERVOS >= 3 && HAS_SERVO_2 + servos[2].attach(SERVO2_PIN); + #endif + #if NUM_SERVOS >= 4 && HAS_SERVO_3 + servos[3].attach(SERVO3_PIN); + #endif + + // Set position of Servo Endstops that are defined + #ifdef SERVO_ENDSTOPS + for (int i = 0; i < 3; i++) + if (servo_endstops[i] >= 0) + servos[servo_endstops[i]].write(servo_endstop_angles[i * 2 + 1]); + #endif + + #if SERVO_LEVELING + delay(PROBE_SERVO_DEACTIVATION_DELAY); + servos[servo_endstops[Z_AXIS]].detach(); + #endif +} + +void setup() { + setup_killpin(); + setup_filrunoutpin(); + setup_powerhold(); + MYSERIAL.begin(BAUDRATE); + SERIAL_PROTOCOLLNPGM("start"); + SERIAL_ECHO_START; + + // Check startup - does nothing if bootloader sets MCUSR to 0 + byte mcu = MCUSR; + if (mcu & 1) SERIAL_ECHOLNPGM(MSG_POWERUP); + if (mcu & 2) SERIAL_ECHOLNPGM(MSG_EXTERNAL_RESET); + if (mcu & 4) SERIAL_ECHOLNPGM(MSG_BROWNOUT_RESET); + if (mcu & 8) SERIAL_ECHOLNPGM(MSG_WATCHDOG_RESET); + if (mcu & 32) SERIAL_ECHOLNPGM(MSG_SOFTWARE_RESET); + MCUSR = 0; + + SERIAL_ECHOPGM(MSG_MARLIN); + SERIAL_ECHOLNPGM(" " STRING_VERSION); + + #ifdef STRING_VERSION_CONFIG_H + #ifdef STRING_CONFIG_H_AUTHOR + SERIAL_ECHO_START; + SERIAL_ECHOPGM(MSG_CONFIGURATION_VER); + SERIAL_ECHOPGM(STRING_VERSION_CONFIG_H); + SERIAL_ECHOPGM(MSG_AUTHOR); + SERIAL_ECHOLNPGM(STRING_CONFIG_H_AUTHOR); + SERIAL_ECHOPGM("Compiled: "); + SERIAL_ECHOLNPGM(__DATE__); + #endif // STRING_CONFIG_H_AUTHOR + #endif // STRING_VERSION_CONFIG_H + + SERIAL_ECHO_START; + SERIAL_ECHOPGM(MSG_FREE_MEMORY); + SERIAL_ECHO(freeMemory()); + SERIAL_ECHOPGM(MSG_PLANNER_BUFFER_BYTES); + SERIAL_ECHOLN((int)sizeof(block_t)*BLOCK_BUFFER_SIZE); + + #ifdef SDSUPPORT + for (int8_t i = 0; i < BUFSIZE; i++) fromsd[i] = false; + #endif // !SDSUPPORT + + // loads data from EEPROM if available else uses defaults (and resets step acceleration rate) + Config_RetrieveSettings(); + + tp_init(); // Initialize temperature loop + plan_init(); // Initialize planner; + watchdog_init(); + st_init(); // Initialize stepper, this enables interrupts! + setup_photpin(); + servo_init(); + + lcd_init(); + _delay_ms(1000); // wait 1sec to display the splash screen + + #if HAS_CONTROLLERFAN + SET_OUTPUT(CONTROLLERFAN_PIN); //Set pin used for driver cooling fan + #endif + + #ifdef DIGIPOT_I2C + digipot_i2c_init(); + #endif + + #ifdef Z_PROBE_SLED + pinMode(SERVO0_PIN, OUTPUT); + digitalWrite(SERVO0_PIN, LOW); // turn it off + #endif // Z_PROBE_SLED + + setup_homepin(); + + #ifdef STAT_LED_RED + pinMode(STAT_LED_RED, OUTPUT); + digitalWrite(STAT_LED_RED, LOW); // turn it off + #endif + + #ifdef STAT_LED_BLUE + pinMode(STAT_LED_BLUE, OUTPUT); + digitalWrite(STAT_LED_BLUE, LOW); // turn it off + #endif +} + + +void loop() { + if (buflen < BUFSIZE - 1) get_command(); + + #ifdef SDSUPPORT + card.checkautostart(false); + #endif + + if (buflen) { + #ifdef SDSUPPORT + if (card.saving) { + if (strstr_P(cmdbuffer[bufindr], PSTR("M29")) == NULL) { + card.write_command(cmdbuffer[bufindr]); + if (card.logging) + process_commands(); + else + SERIAL_PROTOCOLLNPGM(MSG_OK); + } + else { + card.closefile(); + SERIAL_PROTOCOLLNPGM(MSG_FILE_SAVED); + } + } + else + process_commands(); + #else + process_commands(); + #endif // SDSUPPORT + buflen--; + bufindr = (bufindr + 1) % BUFSIZE; + } + // Check heater every n milliseconds + manage_heater(); + manage_inactivity(); + checkHitEndstops(); + lcd_update(); +} + +void get_command() { + + if (drain_queued_commands_P()) return; // priority is given to non-serial commands + + while (MYSERIAL.available() > 0 && buflen < BUFSIZE) { + serial_char = MYSERIAL.read(); + if (serial_char == '\n' || serial_char == '\r' || + serial_count >= (MAX_CMD_SIZE - 1) + ) { + // end of line == end of comment + comment_mode = false; + + if (!serial_count) return; // shortcut for empty lines + + cmdbuffer[bufindw][serial_count] = 0; // terminate string + + #ifdef SDSUPPORT + fromsd[bufindw] = false; + #endif + + if (strchr(cmdbuffer[bufindw], 'N') != NULL) { + strchr_pointer = strchr(cmdbuffer[bufindw], 'N'); + gcode_N = (strtol(strchr_pointer + 1, NULL, 10)); + if (gcode_N != gcode_LastN + 1 && strstr_P(cmdbuffer[bufindw], PSTR("M110")) == NULL) { + SERIAL_ERROR_START; + SERIAL_ERRORPGM(MSG_ERR_LINE_NO); + SERIAL_ERRORLN(gcode_LastN); + //Serial.println(gcode_N); + FlushSerialRequestResend(); + serial_count = 0; + return; + } + + if (strchr(cmdbuffer[bufindw], '*') != NULL) { + byte checksum = 0; + byte count = 0; + while (cmdbuffer[bufindw][count] != '*') checksum ^= cmdbuffer[bufindw][count++]; + strchr_pointer = strchr(cmdbuffer[bufindw], '*'); + + if (strtol(strchr_pointer + 1, NULL, 10) != checksum) { + SERIAL_ERROR_START; + SERIAL_ERRORPGM(MSG_ERR_CHECKSUM_MISMATCH); + SERIAL_ERRORLN(gcode_LastN); + FlushSerialRequestResend(); + serial_count = 0; + return; + } + //if no errors, continue parsing + } + else { + SERIAL_ERROR_START; + SERIAL_ERRORPGM(MSG_ERR_NO_CHECKSUM); + SERIAL_ERRORLN(gcode_LastN); + FlushSerialRequestResend(); + serial_count = 0; + return; + } + + gcode_LastN = gcode_N; + //if no errors, continue parsing + } + else { // if we don't receive 'N' but still see '*' + if ((strchr(cmdbuffer[bufindw], '*') != NULL)) { + SERIAL_ERROR_START; + SERIAL_ERRORPGM(MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM); + SERIAL_ERRORLN(gcode_LastN); + serial_count = 0; + return; + } + } + + if (strchr(cmdbuffer[bufindw], 'G') != NULL) { + strchr_pointer = strchr(cmdbuffer[bufindw], 'G'); + switch (strtol(strchr_pointer + 1, NULL, 10)) { + case 0: + case 1: + case 2: + case 3: + if (IsStopped()) { + SERIAL_ERRORLNPGM(MSG_ERR_STOPPED); + LCD_MESSAGEPGM(MSG_STOPPED); + } + break; + default: + break; + } + } + + // If command was e-stop process now + if (strcmp(cmdbuffer[bufindw], "M112") == 0) kill(); + + bufindw = (bufindw + 1) % BUFSIZE; + buflen += 1; + + serial_count = 0; //clear buffer + } + else if (serial_char == '\\') { // Handle escapes + if (MYSERIAL.available() > 0 && buflen < BUFSIZE) { + // if we have one more character, copy it over + serial_char = MYSERIAL.read(); + cmdbuffer[bufindw][serial_count++] = serial_char; + } + // otherwise do nothing + } + else { // its not a newline, carriage return or escape char + if (serial_char == ';') comment_mode = true; + if (!comment_mode) cmdbuffer[bufindw][serial_count++] = serial_char; + } + } + + #ifdef SDSUPPORT + + if (!card.sdprinting || serial_count) return; + + // '#' stops reading from SD to the buffer prematurely, so procedural macro calls are possible + // if it occurs, stop_buffering is triggered and the buffer is ran dry. + // this character _can_ occur in serial com, due to checksums. however, no checksums are used in SD printing + + static bool stop_buffering = false; + if (buflen == 0) stop_buffering = false; + + while (!card.eof() && buflen < BUFSIZE && !stop_buffering) { + int16_t n = card.get(); + serial_char = (char)n; + if (serial_char == '\n' || serial_char == '\r' || + ((serial_char == '#' || serial_char == ':') && !comment_mode) || + serial_count >= (MAX_CMD_SIZE - 1) || n == -1 + ) { + if (card.eof()) { + SERIAL_PROTOCOLLNPGM(MSG_FILE_PRINTED); + stoptime = millis(); + char time[30]; + millis_t t = (stoptime - starttime) / 1000; + int hours = t / 60 / 60, minutes = (t / 60) % 60; + sprintf_P(time, PSTR("%i " MSG_END_HOUR " %i " MSG_END_MINUTE), hours, minutes); + SERIAL_ECHO_START; + SERIAL_ECHOLN(time); + lcd_setstatus(time, true); + card.printingHasFinished(); + card.checkautostart(true); + } + if (serial_char == '#') stop_buffering = true; + + if (!serial_count) { + comment_mode = false; //for new command + return; //if empty line + } + cmdbuffer[bufindw][serial_count] = 0; //terminate string + // if (!comment_mode) { + fromsd[bufindw] = true; + buflen += 1; + bufindw = (bufindw + 1)%BUFSIZE; + // } + comment_mode = false; //for new command + serial_count = 0; //clear buffer + } + else { + if (serial_char == ';') comment_mode = true; + if (!comment_mode) cmdbuffer[bufindw][serial_count++] = serial_char; + } + } + + #endif // SDSUPPORT +} + +float code_has_value() { + char c = *(strchr_pointer + 1); + return (c >= '0' && c <= '9') || c == '-' || c == '+' || c == '.'; +} + +float code_value() { + float ret; + char *e = strchr(strchr_pointer, 'E'); + if (e) { + *e = 0; + ret = strtod(strchr_pointer+1, NULL); + *e = 'E'; + } + else + ret = strtod(strchr_pointer+1, NULL); + return ret; +} + +long code_value_long() { return strtol(strchr_pointer + 1, NULL, 10); } + +int16_t code_value_short() { return (int16_t)strtol(strchr_pointer + 1, NULL, 10); } + +bool code_seen(char code) { + strchr_pointer = strchr(cmdbuffer[bufindr], code); + return (strchr_pointer != NULL); //Return True if a character was found +} + +#define DEFINE_PGM_READ_ANY(type, reader) \ + static inline type pgm_read_any(const type *p) \ + { return pgm_read_##reader##_near(p); } + +DEFINE_PGM_READ_ANY(float, float); +DEFINE_PGM_READ_ANY(signed char, byte); + +#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \ +static const PROGMEM type array##_P[3] = \ + { X_##CONFIG, Y_##CONFIG, Z_##CONFIG }; \ +static inline type array(int axis) \ + { return pgm_read_any(&array##_P[axis]); } + +XYZ_CONSTS_FROM_CONFIG(float, base_min_pos, MIN_POS); +XYZ_CONSTS_FROM_CONFIG(float, base_max_pos, MAX_POS); +XYZ_CONSTS_FROM_CONFIG(float, base_home_pos, HOME_POS); +XYZ_CONSTS_FROM_CONFIG(float, max_length, MAX_LENGTH); +XYZ_CONSTS_FROM_CONFIG(float, home_bump_mm, HOME_BUMP_MM); +XYZ_CONSTS_FROM_CONFIG(signed char, home_dir, HOME_DIR); + +#ifdef DUAL_X_CARRIAGE + + #define DXC_FULL_CONTROL_MODE 0 + #define DXC_AUTO_PARK_MODE 1 + #define DXC_DUPLICATION_MODE 2 + + static int dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE; + + static float x_home_pos(int extruder) { + if (extruder == 0) + return base_home_pos(X_AXIS) + home_offset[X_AXIS]; + else + // In dual carriage mode the extruder offset provides an override of the + // second X-carriage offset when homed - otherwise X2_HOME_POS is used. + // This allow soft recalibration of the second extruder offset position without firmware reflash + // (through the M218 command). + return (extruder_offset[X_AXIS][1] > 0) ? extruder_offset[X_AXIS][1] : X2_HOME_POS; + } + + static int x_home_dir(int extruder) { + return (extruder == 0) ? X_HOME_DIR : X2_HOME_DIR; + } + + static float inactive_extruder_x_pos = X2_MAX_POS; // used in mode 0 & 1 + static bool active_extruder_parked = false; // used in mode 1 & 2 + static float raised_parked_position[NUM_AXIS]; // used in mode 1 + static millis_t delayed_move_time = 0; // used in mode 1 + static float duplicate_extruder_x_offset = DEFAULT_DUPLICATION_X_OFFSET; // used in mode 2 + static float duplicate_extruder_temp_offset = 0; // used in mode 2 + bool extruder_duplication_enabled = false; // used in mode 2 + +#endif //DUAL_X_CARRIAGE + +static void axis_is_at_home(int axis) { + + #ifdef DUAL_X_CARRIAGE + if (axis == X_AXIS) { + if (active_extruder != 0) { + current_position[X_AXIS] = x_home_pos(active_extruder); + min_pos[X_AXIS] = X2_MIN_POS; + max_pos[X_AXIS] = max(extruder_offset[X_AXIS][1], X2_MAX_POS); + return; + } + else if (dual_x_carriage_mode == DXC_DUPLICATION_MODE) { + float xoff = home_offset[X_AXIS]; + current_position[X_AXIS] = base_home_pos(X_AXIS) + xoff; + min_pos[X_AXIS] = base_min_pos(X_AXIS) + xoff; + max_pos[X_AXIS] = min(base_max_pos(X_AXIS) + xoff, max(extruder_offset[X_AXIS][1], X2_MAX_POS) - duplicate_extruder_x_offset); + return; + } + } + #endif + + #ifdef SCARA + float homeposition[3]; + + if (axis < 2) { + + for (int i = 0; i < 3; i++) homeposition[i] = base_home_pos(i); + + // SERIAL_ECHOPGM("homeposition[x]= "); SERIAL_ECHO(homeposition[0]); + // SERIAL_ECHOPGM("homeposition[y]= "); SERIAL_ECHOLN(homeposition[1]); + // Works out real Homeposition angles using inverse kinematics, + // and calculates homing offset using forward kinematics + calculate_delta(homeposition); + + // SERIAL_ECHOPGM("base Theta= "); SERIAL_ECHO(delta[X_AXIS]); + // SERIAL_ECHOPGM(" base Psi+Theta="); SERIAL_ECHOLN(delta[Y_AXIS]); + + for (int i = 0; i < 2; i++) delta[i] -= home_offset[i]; + + // SERIAL_ECHOPGM("addhome X="); SERIAL_ECHO(home_offset[X_AXIS]); + // SERIAL_ECHOPGM(" addhome Y="); SERIAL_ECHO(home_offset[Y_AXIS]); + // SERIAL_ECHOPGM(" addhome Theta="); SERIAL_ECHO(delta[X_AXIS]); + // SERIAL_ECHOPGM(" addhome Psi+Theta="); SERIAL_ECHOLN(delta[Y_AXIS]); + + calculate_SCARA_forward_Transform(delta); + + // SERIAL_ECHOPGM("Delta X="); SERIAL_ECHO(delta[X_AXIS]); + // SERIAL_ECHOPGM(" Delta Y="); SERIAL_ECHOLN(delta[Y_AXIS]); + + current_position[axis] = delta[axis]; + + // SCARA home positions are based on configuration since the actual limits are determined by the + // inverse kinematic transform. + min_pos[axis] = base_min_pos(axis); // + (delta[axis] - base_home_pos(axis)); + max_pos[axis] = base_max_pos(axis); // + (delta[axis] - base_home_pos(axis)); + } + else { + current_position[axis] = base_home_pos(axis) + home_offset[axis]; + min_pos[axis] = base_min_pos(axis) + home_offset[axis]; + max_pos[axis] = base_max_pos(axis) + home_offset[axis]; + } + #else + current_position[axis] = base_home_pos(axis) + home_offset[axis]; + min_pos[axis] = base_min_pos(axis) + home_offset[axis]; + max_pos[axis] = base_max_pos(axis) + home_offset[axis]; + #endif +} + +/** + * Some planner shorthand inline functions + */ +inline void set_homing_bump_feedrate(AxisEnum axis) { + const int homing_bump_divisor[] = HOMING_BUMP_DIVISOR; + if (homing_bump_divisor[axis] >= 1) + feedrate = homing_feedrate[axis] / homing_bump_divisor[axis]; + else { + feedrate = homing_feedrate[axis] / 10; + SERIAL_ECHOLN("Warning: The Homing Bump Feedrate Divisor cannot be less than 1"); + } +} +inline void line_to_current_position() { + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder); +} +inline void line_to_z(float zPosition) { + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS], feedrate/60, active_extruder); +} +inline void line_to_destination(float mm_m) { + plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], mm_m/60, active_extruder); +} +inline void line_to_destination() { + line_to_destination(feedrate); +} +inline void sync_plan_position() { + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); +} +#if defined(DELTA) || defined(SCARA) + inline void sync_plan_position_delta() { + calculate_delta(current_position); + plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]); + } +#endif +inline void set_current_to_destination() { memcpy(current_position, destination, sizeof(current_position)); } +inline void set_destination_to_current() { memcpy(destination, current_position, sizeof(destination)); } + +#ifdef ENABLE_AUTO_BED_LEVELING + + #ifdef DELTA + /** + * Calculate delta, start a line, and set current_position to destination + */ + void prepare_move_raw() { + refresh_cmd_timeout(); + calculate_delta(destination); + plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], destination[E_AXIS], (feedrate/60)*(feedmultiply/100.0), active_extruder); + set_current_to_destination(); + } + #endif + + #ifdef AUTO_BED_LEVELING_GRID + + #ifndef DELTA + + static void set_bed_level_equation_lsq(double *plane_equation_coefficients) { + vector_3 planeNormal = vector_3(-plane_equation_coefficients[0], -plane_equation_coefficients[1], 1); + planeNormal.debug("planeNormal"); + plan_bed_level_matrix = matrix_3x3::create_look_at(planeNormal); + //bedLevel.debug("bedLevel"); + + //plan_bed_level_matrix.debug("bed level before"); + //vector_3 uncorrected_position = plan_get_position_mm(); + //uncorrected_position.debug("position before"); + + vector_3 corrected_position = plan_get_position(); + //corrected_position.debug("position after"); + current_position[X_AXIS] = corrected_position.x; + current_position[Y_AXIS] = corrected_position.y; + current_position[Z_AXIS] = corrected_position.z; + + sync_plan_position(); + } + + #endif // !DELTA + + #else // !AUTO_BED_LEVELING_GRID + + static void set_bed_level_equation_3pts(float z_at_pt_1, float z_at_pt_2, float z_at_pt_3) { + + plan_bed_level_matrix.set_to_identity(); + + vector_3 pt1 = vector_3(ABL_PROBE_PT_1_X, ABL_PROBE_PT_1_Y, z_at_pt_1); + vector_3 pt2 = vector_3(ABL_PROBE_PT_2_X, ABL_PROBE_PT_2_Y, z_at_pt_2); + vector_3 pt3 = vector_3(ABL_PROBE_PT_3_X, ABL_PROBE_PT_3_Y, z_at_pt_3); + vector_3 planeNormal = vector_3::cross(pt1 - pt2, pt3 - pt2).get_normal(); + + if (planeNormal.z < 0) { + planeNormal.x = -planeNormal.x; + planeNormal.y = -planeNormal.y; + planeNormal.z = -planeNormal.z; + } + + plan_bed_level_matrix = matrix_3x3::create_look_at(planeNormal); + + vector_3 corrected_position = plan_get_position(); + current_position[X_AXIS] = corrected_position.x; + current_position[Y_AXIS] = corrected_position.y; + current_position[Z_AXIS] = corrected_position.z; + + sync_plan_position(); + } + + #endif // !AUTO_BED_LEVELING_GRID + + static void run_z_probe() { + + #ifdef DELTA + + float start_z = current_position[Z_AXIS]; + long start_steps = st_get_position(Z_AXIS); + + // move down slowly until you find the bed + feedrate = homing_feedrate[Z_AXIS] / 4; + destination[Z_AXIS] = -10; + prepare_move_raw(); // this will also set_current_to_destination + st_synchronize(); + endstops_hit_on_purpose(); // clear endstop hit flags + + // we have to let the planner know where we are right now as it is not where we said to go. + long stop_steps = st_get_position(Z_AXIS); + float mm = start_z - float(start_steps - stop_steps) / axis_steps_per_unit[Z_AXIS]; + current_position[Z_AXIS] = mm; + sync_plan_position_delta(); + + #else // !DELTA + + plan_bed_level_matrix.set_to_identity(); + feedrate = homing_feedrate[Z_AXIS]; + + // move down until you find the bed + float zPosition = -10; + line_to_z(zPosition); + st_synchronize(); + + // we have to let the planner know where we are right now as it is not where we said to go. + zPosition = st_get_position_mm(Z_AXIS); + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS]); + + // move up the retract distance + zPosition += home_bump_mm(Z_AXIS); + line_to_z(zPosition); + st_synchronize(); + endstops_hit_on_purpose(); // clear endstop hit flags + + // move back down slowly to find bed + set_homing_bump_feedrate(Z_AXIS); + + zPosition -= home_bump_mm(Z_AXIS) * 2; + line_to_z(zPosition); + st_synchronize(); + endstops_hit_on_purpose(); // clear endstop hit flags + + current_position[Z_AXIS] = st_get_position_mm(Z_AXIS); + // make sure the planner knows where we are as it may be a bit different than we last said to move to + sync_plan_position(); + + #endif // !DELTA + } + + /** + * Plan a move to (X, Y, Z) and set the current_position + * The final current_position may not be the one that was requested + */ + static void do_blocking_move_to(float x, float y, float z) { + float oldFeedRate = feedrate; + + #ifdef DELTA + + feedrate = XY_TRAVEL_SPEED; + + destination[X_AXIS] = x; + destination[Y_AXIS] = y; + destination[Z_AXIS] = z; + prepare_move_raw(); // this will also set_current_to_destination + st_synchronize(); + + #else + + feedrate = homing_feedrate[Z_AXIS]; + + current_position[Z_AXIS] = z; + line_to_current_position(); + st_synchronize(); + + feedrate = xy_travel_speed; + + current_position[X_AXIS] = x; + current_position[Y_AXIS] = y; + line_to_current_position(); + st_synchronize(); + + #endif + + feedrate = oldFeedRate; + } + + static void setup_for_endstop_move() { + saved_feedrate = feedrate; + saved_feedmultiply = feedmultiply; + feedmultiply = 100; + refresh_cmd_timeout(); + enable_endstops(true); + } + + static void clean_up_after_endstop_move() { + #ifdef ENDSTOPS_ONLY_FOR_HOMING + enable_endstops(false); + #endif + feedrate = saved_feedrate; + feedmultiply = saved_feedmultiply; + refresh_cmd_timeout(); + } + + static void deploy_z_probe() { + + #ifdef SERVO_ENDSTOPS + + // Engage Z Servo endstop if enabled + if (servo_endstops[Z_AXIS] >= 0) { + #if SERVO_LEVELING + servos[servo_endstops[Z_AXIS]].attach(0); + #endif + servos[servo_endstops[Z_AXIS]].write(servo_endstop_angles[Z_AXIS * 2]); + #if SERVO_LEVELING + delay(PROBE_SERVO_DEACTIVATION_DELAY); + servos[servo_endstops[Z_AXIS]].detach(); + #endif + } + + #elif defined(Z_PROBE_ALLEN_KEY) + + feedrate = homing_feedrate[X_AXIS]; + + // Move to the start position to initiate deployment + destination[X_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_X; + destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_Y; + destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_Z; + prepare_move_raw(); // this will also set_current_to_destination + + // Home X to touch the belt + feedrate = homing_feedrate[X_AXIS]/10; + destination[X_AXIS] = 0; + prepare_move_raw(); // this will also set_current_to_destination + + // Home Y for safety + feedrate = homing_feedrate[X_AXIS]/2; + destination[Y_AXIS] = 0; + prepare_move_raw(); // this will also set_current_to_destination + + st_synchronize(); + + #ifdef Z_PROBE_ENDSTOP + bool z_probe_endstop = (READ(Z_PROBE_PIN) != Z_PROBE_ENDSTOP_INVERTING); + if (z_probe_endstop) + #else + bool z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + if (z_min_endstop) + #endif + { + if (IsRunning()) { + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM("Z-Probe failed to engage!"); + LCD_ALERTMESSAGEPGM("Err: ZPROBE"); + } + Stop(); + } + + #endif // Z_PROBE_ALLEN_KEY + + } + + static void stow_z_probe() { + + #ifdef SERVO_ENDSTOPS + + // Retract Z Servo endstop if enabled + if (servo_endstops[Z_AXIS] >= 0) { + + #if Z_RAISE_AFTER_PROBING > 0 + do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING); // this also updates current_position + st_synchronize(); + #endif + + #if SERVO_LEVELING + servos[servo_endstops[Z_AXIS]].attach(0); + #endif + + servos[servo_endstops[Z_AXIS]].write(servo_endstop_angles[Z_AXIS * 2 + 1]); + + #if SERVO_LEVELING + delay(PROBE_SERVO_DEACTIVATION_DELAY); + servos[servo_endstops[Z_AXIS]].detach(); + #endif + } + + #elif defined(Z_PROBE_ALLEN_KEY) + + // Move up for safety + feedrate = homing_feedrate[X_AXIS]; + destination[Z_AXIS] = current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING; + prepare_move_raw(); // this will also set_current_to_destination + + // Move to the start position to initiate retraction + destination[X_AXIS] = Z_PROBE_ALLEN_KEY_STOW_X; + destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_Y; + destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_Z; + prepare_move_raw(); // this will also set_current_to_destination + + // Move the nozzle down to push the probe into retracted position + feedrate = homing_feedrate[Z_AXIS]/10; + destination[Z_AXIS] = current_position[Z_AXIS] - Z_PROBE_ALLEN_KEY_STOW_DEPTH; + prepare_move_raw(); // this will also set_current_to_destination + + // Move up for safety + feedrate = homing_feedrate[Z_AXIS]/2; + destination[Z_AXIS] = current_position[Z_AXIS] + Z_PROBE_ALLEN_KEY_STOW_DEPTH * 2; + prepare_move_raw(); // this will also set_current_to_destination + + // Home XY for safety + feedrate = homing_feedrate[X_AXIS]/2; + destination[X_AXIS] = 0; + destination[Y_AXIS] = 0; + prepare_move_raw(); // this will also set_current_to_destination + + st_synchronize(); + + #ifdef Z_PROBE_ENDSTOP + bool z_probe_endstop = (READ(Z_PROBE_PIN) != Z_PROBE_ENDSTOP_INVERTING); + if (!z_probe_endstop) + #else + bool z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + if (!z_min_endstop) + #endif + { + if (IsRunning()) { + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM("Z-Probe failed to retract!"); + LCD_ALERTMESSAGEPGM("Err: ZPROBE"); + } + Stop(); + } + + #endif + + } + + enum ProbeAction { + ProbeStay = 0, + ProbeDeploy = BIT(0), + ProbeStow = BIT(1), + ProbeDeployAndStow = (ProbeDeploy | ProbeStow) + }; + + // Probe bed height at position (x,y), returns the measured z value + static float probe_pt(float x, float y, float z_before, ProbeAction retract_action=ProbeDeployAndStow, int verbose_level=1) { + // move to right place + do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z_before); // this also updates current_position + do_blocking_move_to(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER, current_position[Z_AXIS]); // this also updates current_position + + #if !defined(Z_PROBE_SLED) && !defined(Z_PROBE_ALLEN_KEY) + if (retract_action & ProbeDeploy) deploy_z_probe(); + #endif + + run_z_probe(); + float measured_z = current_position[Z_AXIS]; + + #if Z_RAISE_BETWEEN_PROBINGS > 0 + if (retract_action == ProbeStay) { + do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS); // this also updates current_position + st_synchronize(); + } + #endif + + #if !defined(Z_PROBE_SLED) && !defined(Z_PROBE_ALLEN_KEY) + if (retract_action & ProbeStow) stow_z_probe(); + #endif + + if (verbose_level > 2) { + SERIAL_PROTOCOLPGM("Bed"); + SERIAL_PROTOCOLPGM(" X: "); + SERIAL_PROTOCOL_F(x, 3); + SERIAL_PROTOCOLPGM(" Y: "); + SERIAL_PROTOCOL_F(y, 3); + SERIAL_PROTOCOLPGM(" Z: "); + SERIAL_PROTOCOL_F(measured_z, 3); + SERIAL_EOL; + } + return measured_z; + } + + #ifdef DELTA + + /** + * All DELTA leveling in the Marlin uses NONLINEAR_BED_LEVELING + */ + + static void extrapolate_one_point(int x, int y, int xdir, int ydir) { + if (bed_level[x][y] != 0.0) { + return; // Don't overwrite good values. + } + float a = 2*bed_level[x+xdir][y] - bed_level[x+xdir*2][y]; // Left to right. + float b = 2*bed_level[x][y+ydir] - bed_level[x][y+ydir*2]; // Front to back. + float c = 2*bed_level[x+xdir][y+ydir] - bed_level[x+xdir*2][y+ydir*2]; // Diagonal. + float median = c; // Median is robust (ignores outliers). + if (a < b) { + if (b < c) median = b; + if (c < a) median = a; + } else { // b <= a + if (c < b) median = b; + if (a < c) median = a; + } + bed_level[x][y] = median; + } + + // Fill in the unprobed points (corners of circular print surface) + // using linear extrapolation, away from the center. + static void extrapolate_unprobed_bed_level() { + int half = (AUTO_BED_LEVELING_GRID_POINTS-1)/2; + for (int y = 0; y <= half; y++) { + for (int x = 0; x <= half; x++) { + if (x + y < 3) continue; + extrapolate_one_point(half-x, half-y, x>1?+1:0, y>1?+1:0); + extrapolate_one_point(half+x, half-y, x>1?-1:0, y>1?+1:0); + extrapolate_one_point(half-x, half+y, x>1?+1:0, y>1?-1:0); + extrapolate_one_point(half+x, half+y, x>1?-1:0, y>1?-1:0); + } + } + } + + // Print calibration results for plotting or manual frame adjustment. + static void print_bed_level() { + for (int y = 0; y < AUTO_BED_LEVELING_GRID_POINTS; y++) { + for (int x = 0; x < AUTO_BED_LEVELING_GRID_POINTS; x++) { + SERIAL_PROTOCOL_F(bed_level[x][y], 2); + SERIAL_PROTOCOLCHAR(' '); + } + SERIAL_EOL; + } + } + + // Reset calibration results to zero. + void reset_bed_level() { + for (int y = 0; y < AUTO_BED_LEVELING_GRID_POINTS; y++) { + for (int x = 0; x < AUTO_BED_LEVELING_GRID_POINTS; x++) { + bed_level[x][y] = 0.0; + } + } + } + + #endif // DELTA + +#endif // ENABLE_AUTO_BED_LEVELING + +/** + * Home an individual axis + */ + +#define HOMEAXIS(LETTER) homeaxis(LETTER##_AXIS) + +static void homeaxis(AxisEnum axis) { + #define HOMEAXIS_DO(LETTER) \ + ((LETTER##_MIN_PIN > -1 && LETTER##_HOME_DIR==-1) || (LETTER##_MAX_PIN > -1 && LETTER##_HOME_DIR==1)) + + if (axis == X_AXIS ? HOMEAXIS_DO(X) : axis == Y_AXIS ? HOMEAXIS_DO(Y) : axis == Z_AXIS ? HOMEAXIS_DO(Z) : 0) { + + int axis_home_dir; + + #ifdef DUAL_X_CARRIAGE + if (axis == X_AXIS) axis_home_dir = x_home_dir(active_extruder); + #else + axis_home_dir = home_dir(axis); + #endif + + // Set the axis position as setup for the move + current_position[axis] = 0; + sync_plan_position(); + + // Engage Servo endstop if enabled + #if defined(SERVO_ENDSTOPS) && !defined(Z_PROBE_SLED) + + #if SERVO_LEVELING + if (axis == Z_AXIS) deploy_z_probe(); else + #endif + { + if (servo_endstops[axis] > -1) + servos[servo_endstops[axis]].write(servo_endstop_angles[axis * 2]); + } + + #endif // SERVO_ENDSTOPS && !Z_PROBE_SLED + + #ifdef Z_DUAL_ENDSTOPS + if (axis == Z_AXIS) In_Homing_Process(true); + #endif + + // Move towards the endstop until an endstop is triggered + destination[axis] = 1.5 * max_length(axis) * axis_home_dir; + feedrate = homing_feedrate[axis]; + line_to_destination(); + st_synchronize(); + + // Set the axis position as setup for the move + current_position[axis] = 0; + sync_plan_position(); + + // Move away from the endstop by the axis HOME_BUMP_MM + destination[axis] = -home_bump_mm(axis) * axis_home_dir; + line_to_destination(); + st_synchronize(); + + // Slow down the feedrate for the next move + set_homing_bump_feedrate(axis); + + // Move slowly towards the endstop until triggered + destination[axis] = 2 * home_bump_mm(axis) * axis_home_dir; + line_to_destination(); + st_synchronize(); + + #ifdef Z_DUAL_ENDSTOPS + if (axis == Z_AXIS) { + float adj = fabs(z_endstop_adj); + bool lockZ1; + if (axis_home_dir > 0) { + adj = -adj; + lockZ1 = (z_endstop_adj > 0); + } + else + lockZ1 = (z_endstop_adj < 0); + + if (lockZ1) Lock_z_motor(true); else Lock_z2_motor(true); + sync_plan_position(); + + // Move to the adjusted endstop height + feedrate = homing_feedrate[axis]; + destination[Z_AXIS] = adj; + line_to_destination(); + st_synchronize(); + + if (lockZ1) Lock_z_motor(false); else Lock_z2_motor(false); + In_Homing_Process(false); + } // Z_AXIS + #endif + + #ifdef DELTA + // retrace by the amount specified in endstop_adj + if (endstop_adj[axis] * axis_home_dir < 0) { + sync_plan_position(); + destination[axis] = endstop_adj[axis]; + line_to_destination(); + st_synchronize(); + } + #endif + + // Set the axis position to its home position (plus home offsets) + axis_is_at_home(axis); + + destination[axis] = current_position[axis]; + feedrate = 0.0; + endstops_hit_on_purpose(); // clear endstop hit flags + axis_known_position[axis] = true; + + // Retract Servo endstop if enabled + #ifdef SERVO_ENDSTOPS + if (servo_endstops[axis] > -1) + servos[servo_endstops[axis]].write(servo_endstop_angles[axis * 2 + 1]); + #endif + + #if SERVO_LEVELING && !defined(Z_PROBE_SLED) + if (axis == Z_AXIS) stow_z_probe(); + #endif + + } +} + +#ifdef FWRETRACT + + void retract(bool retracting, bool swapretract = false) { + + if (retracting == retracted[active_extruder]) return; + + float oldFeedrate = feedrate; + + set_destination_to_current(); + + if (retracting) { + + feedrate = retract_feedrate * 60; + current_position[E_AXIS] += (swapretract ? retract_length_swap : retract_length) / volumetric_multiplier[active_extruder]; + plan_set_e_position(current_position[E_AXIS]); + prepare_move(); + + if (retract_zlift > 0.01) { + current_position[Z_AXIS] -= retract_zlift; + #ifdef DELTA + sync_plan_position_delta(); + #else + sync_plan_position(); + #endif + prepare_move(); + } + } + else { + + if (retract_zlift > 0.01) { + current_position[Z_AXIS] += retract_zlift; + #ifdef DELTA + sync_plan_position_delta(); + #else + sync_plan_position(); + #endif + //prepare_move(); + } + + feedrate = retract_recover_feedrate * 60; + float move_e = swapretract ? retract_length_swap + retract_recover_length_swap : retract_length + retract_recover_length; + current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder]; + plan_set_e_position(current_position[E_AXIS]); + prepare_move(); + } + + feedrate = oldFeedrate; + retracted[active_extruder] = retracting; + + } // retract() + +#endif // FWRETRACT + +#ifdef Z_PROBE_SLED + + #ifndef SLED_DOCKING_OFFSET + #define SLED_DOCKING_OFFSET 0 + #endif + + // + // Method to dock/undock a sled designed by Charles Bell. + // + // dock[in] If true, move to MAX_X and engage the electromagnet + // offset[in] The additional distance to move to adjust docking location + // + static void dock_sled(bool dock, int offset=0) { + if (!axis_known_position[X_AXIS] || !axis_known_position[Y_AXIS]) { + LCD_MESSAGEPGM(MSG_POSITION_UNKNOWN); + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_POSITION_UNKNOWN); + return; + } + + if (dock) { + do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset, current_position[Y_AXIS], current_position[Z_AXIS]); // this also updates current_position + digitalWrite(SERVO0_PIN, LOW); // turn off magnet + } else { + float z_loc = current_position[Z_AXIS]; + if (z_loc < Z_RAISE_BEFORE_PROBING + 5) z_loc = Z_RAISE_BEFORE_PROBING; + do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset, Y_PROBE_OFFSET_FROM_EXTRUDER, z_loc); // this also updates current_position + digitalWrite(SERVO0_PIN, HIGH); // turn on magnet + } + } + +#endif // Z_PROBE_SLED + +/** + * + * G-Code Handler functions + * + */ + +/** + * G0, G1: Coordinated movement of X Y Z E axes + */ +inline void gcode_G0_G1() { + if (IsRunning()) { + get_coordinates(); // For X Y Z E F + #ifdef FWRETRACT + if (autoretract_enabled) + if (!(code_seen('X') || code_seen('Y') || code_seen('Z')) && code_seen('E')) { + float echange = destination[E_AXIS] - current_position[E_AXIS]; + // Is this move an attempt to retract or recover? + if ((echange < -MIN_RETRACT && !retracted[active_extruder]) || (echange > MIN_RETRACT && retracted[active_extruder])) { + current_position[E_AXIS] = destination[E_AXIS]; // hide the slicer-generated retract/recover from calculations + plan_set_e_position(current_position[E_AXIS]); // AND from the planner + retract(!retracted[active_extruder]); + return; + } + } + #endif //FWRETRACT + prepare_move(); + //ClearToSend(); + } +} + +/** + * G2: Clockwise Arc + * G3: Counterclockwise Arc + */ +inline void gcode_G2_G3(bool clockwise) { + if (IsRunning()) { + get_arc_coordinates(); + prepare_arc_move(clockwise); + } +} + +/** + * G4: Dwell S or P + */ +inline void gcode_G4() { + millis_t codenum = 0; + + LCD_MESSAGEPGM(MSG_DWELL); + + if (code_seen('P')) codenum = code_value_long(); // milliseconds to wait + if (code_seen('S')) codenum = code_value_long() * 1000; // seconds to wait + + st_synchronize(); + refresh_cmd_timeout(); + codenum += previous_cmd_ms; // keep track of when we started waiting + while (millis() < codenum) { + manage_heater(); + manage_inactivity(); + lcd_update(); + } +} + +#ifdef FWRETRACT + + /** + * G10 - Retract filament according to settings of M207 + * G11 - Recover filament according to settings of M208 + */ + inline void gcode_G10_G11(bool doRetract=false) { + #if EXTRUDERS > 1 + if (doRetract) { + retracted_swap[active_extruder] = (code_seen('S') && code_value_short() == 1); // checks for swap retract argument + } + #endif + retract(doRetract + #if EXTRUDERS > 1 + , retracted_swap[active_extruder] + #endif + ); + } + +#endif //FWRETRACT + +/** + * G28: Home all axes according to settings + * + * Parameters + * + * None Home to all axes with no parameters. + * With QUICK_HOME enabled XY will home together, then Z. + * + * Cartesian parameters + * + * X Home to the X endstop + * Y Home to the Y endstop + * Z Home to the Z endstop + * + * If numbers are included with XYZ set the position as with G92 + * Currently adds the home_offset, which may be wrong and removed soon. + * + * Xn Home X, setting X to n + home_offset[X_AXIS] + * Yn Home Y, setting Y to n + home_offset[Y_AXIS] + * Zn Home Z, setting Z to n + home_offset[Z_AXIS] + */ +inline void gcode_G28() { + + // For auto bed leveling, clear the level matrix + #ifdef ENABLE_AUTO_BED_LEVELING + plan_bed_level_matrix.set_to_identity(); + #ifdef DELTA + reset_bed_level(); + #endif + #endif + + // For manual bed leveling deactivate the matrix temporarily + #ifdef MESH_BED_LEVELING + uint8_t mbl_was_active = mbl.active; + mbl.active = 0; + #endif + + saved_feedrate = feedrate; + saved_feedmultiply = feedmultiply; + feedmultiply = 100; + refresh_cmd_timeout(); + + enable_endstops(true); + + set_destination_to_current(); + + feedrate = 0.0; + + #ifdef DELTA + // A delta can only safely home all axis at the same time + // all axis have to home at the same time + + // Pretend the current position is 0,0,0 + for (int i = X_AXIS; i <= Z_AXIS; i++) current_position[i] = 0; + sync_plan_position(); + + // Move all carriages up together until the first endstop is hit. + for (int i = X_AXIS; i <= Z_AXIS; i++) destination[i] = 3 * Z_MAX_LENGTH; + feedrate = 1.732 * homing_feedrate[X_AXIS]; + line_to_destination(); + st_synchronize(); + endstops_hit_on_purpose(); // clear endstop hit flags + + // Destination reached + for (int i = X_AXIS; i <= Z_AXIS; i++) current_position[i] = destination[i]; + + // take care of back off and rehome now we are all at the top + HOMEAXIS(X); + HOMEAXIS(Y); + HOMEAXIS(Z); + + sync_plan_position_delta(); + + #else // NOT DELTA + + bool homeX = code_seen(axis_codes[X_AXIS]), + homeY = code_seen(axis_codes[Y_AXIS]), + homeZ = code_seen(axis_codes[Z_AXIS]); + + home_all_axis = !(homeX || homeY || homeZ) || (homeX && homeY && homeZ); + + if (home_all_axis || homeZ) { + + #if Z_HOME_DIR > 0 // If homing away from BED do Z first + + HOMEAXIS(Z); + + #elif !defined(Z_SAFE_HOMING) && defined(Z_RAISE_BEFORE_HOMING) && Z_RAISE_BEFORE_HOMING > 0 + + // Raise Z before homing any other axes + // (Does this need to be "negative home direction?" Why not just use Z_RAISE_BEFORE_HOMING?) + destination[Z_AXIS] = -Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS); + feedrate = max_feedrate[Z_AXIS] * 60; + line_to_destination(); + st_synchronize(); + + #endif + + } // home_all_axis || homeZ + + #ifdef QUICK_HOME + + if (home_all_axis || (homeX && homeY)) { // First diagonal move + + current_position[X_AXIS] = current_position[Y_AXIS] = 0; + + #ifdef DUAL_X_CARRIAGE + int x_axis_home_dir = x_home_dir(active_extruder); + extruder_duplication_enabled = false; + #else + int x_axis_home_dir = home_dir(X_AXIS); + #endif + + sync_plan_position(); + + float mlx = max_length(X_AXIS), mly = max_length(Y_AXIS), + mlratio = mlx>mly ? mly/mlx : mlx/mly; + + destination[X_AXIS] = 1.5 * mlx * x_axis_home_dir; + destination[Y_AXIS] = 1.5 * mly * home_dir(Y_AXIS); + feedrate = min(homing_feedrate[X_AXIS], homing_feedrate[Y_AXIS]) * sqrt(mlratio * mlratio + 1); + line_to_destination(); + st_synchronize(); + + axis_is_at_home(X_AXIS); + axis_is_at_home(Y_AXIS); + sync_plan_position(); + + destination[X_AXIS] = current_position[X_AXIS]; + destination[Y_AXIS] = current_position[Y_AXIS]; + line_to_destination(); + feedrate = 0.0; + st_synchronize(); + endstops_hit_on_purpose(); // clear endstop hit flags + + current_position[X_AXIS] = destination[X_AXIS]; + current_position[Y_AXIS] = destination[Y_AXIS]; + #ifndef SCARA + current_position[Z_AXIS] = destination[Z_AXIS]; + #endif + } + + #endif // QUICK_HOME + + // Home X + if (home_all_axis || homeX) { + #ifdef DUAL_X_CARRIAGE + int tmp_extruder = active_extruder; + extruder_duplication_enabled = false; + active_extruder = !active_extruder; + HOMEAXIS(X); + inactive_extruder_x_pos = current_position[X_AXIS]; + active_extruder = tmp_extruder; + HOMEAXIS(X); + // reset state used by the different modes + memcpy(raised_parked_position, current_position, sizeof(raised_parked_position)); + delayed_move_time = 0; + active_extruder_parked = true; + #else + HOMEAXIS(X); + #endif + } + + // Home Y + if (home_all_axis || homeY) HOMEAXIS(Y); + + // Set the X position, if included + if (code_seen(axis_codes[X_AXIS]) && code_has_value()) + current_position[X_AXIS] = code_value(); + + // Set the Y position, if included + if (code_seen(axis_codes[Y_AXIS]) && code_has_value()) + current_position[Y_AXIS] = code_value(); + + // Home Z last if homing towards the bed + #if Z_HOME_DIR < 0 + + if (home_all_axis || homeZ) { + + #ifdef Z_SAFE_HOMING + + if (home_all_axis) { + + current_position[Z_AXIS] = 0; + sync_plan_position(); + + // + // Set the probe (or just the nozzle) destination to the safe homing point + // + // NOTE: If current_position[X_AXIS] or current_position[Y_AXIS] were set above + // then this may not work as expected. + destination[X_AXIS] = round(Z_SAFE_HOMING_X_POINT - X_PROBE_OFFSET_FROM_EXTRUDER); + destination[Y_AXIS] = round(Z_SAFE_HOMING_Y_POINT - Y_PROBE_OFFSET_FROM_EXTRUDER); + destination[Z_AXIS] = -Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS); // Set destination away from bed + feedrate = XY_TRAVEL_SPEED; + // This could potentially move X, Y, Z all together + line_to_destination(); + st_synchronize(); + + // Set current X, Y is the Z_SAFE_HOMING_POINT minus PROBE_OFFSET_FROM_EXTRUDER + current_position[X_AXIS] = destination[X_AXIS]; + current_position[Y_AXIS] = destination[Y_AXIS]; + + // Home the Z axis + HOMEAXIS(Z); + } + + else if (homeZ) { // Don't need to Home Z twice + + // Let's see if X and Y are homed + if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) { + + // Make sure the probe is within the physical limits + // NOTE: This doesn't necessarily ensure the probe is also within the bed! + float cpx = current_position[X_AXIS], cpy = current_position[Y_AXIS]; + if ( cpx >= X_MIN_POS - X_PROBE_OFFSET_FROM_EXTRUDER + && cpx <= X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER + && cpy >= Y_MIN_POS - Y_PROBE_OFFSET_FROM_EXTRUDER + && cpy <= Y_MAX_POS - Y_PROBE_OFFSET_FROM_EXTRUDER) { + // Set the plan current position to X, Y, 0 + current_position[Z_AXIS] = 0; + plan_set_position(cpx, cpy, 0, current_position[E_AXIS]); // = sync_plan_position + + // Set Z destination away from bed and raise the axis + // NOTE: This should always just be Z_RAISE_BEFORE_HOMING unless...??? + destination[Z_AXIS] = -Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS); + feedrate = max_feedrate[Z_AXIS] * 60; // feedrate (mm/m) = max_feedrate (mm/s) + line_to_destination(); + st_synchronize(); + + // Home the Z axis + HOMEAXIS(Z); + } + else { + LCD_MESSAGEPGM(MSG_ZPROBE_OUT); + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_ZPROBE_OUT); + } + } + else { + LCD_MESSAGEPGM(MSG_POSITION_UNKNOWN); + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_POSITION_UNKNOWN); + } + + } // !home_all_axes && homeZ + + #else // !Z_SAFE_HOMING + + HOMEAXIS(Z); + + #endif // !Z_SAFE_HOMING + + } // home_all_axis || homeZ + + #endif // Z_HOME_DIR < 0 + + // Set the Z position, if included + if (code_seen(axis_codes[Z_AXIS]) && code_has_value()) + current_position[Z_AXIS] = code_value(); + + #if defined(ENABLE_AUTO_BED_LEVELING) && (Z_HOME_DIR < 0) + if (home_all_axis || homeZ) current_position[Z_AXIS] += zprobe_zoffset; // Add Z_Probe offset (the distance is negative) + #endif + + sync_plan_position(); + + #endif // else DELTA + + #ifdef SCARA + sync_plan_position_delta(); + #endif + + #ifdef ENDSTOPS_ONLY_FOR_HOMING + enable_endstops(false); + #endif + + // For manual leveling move back to 0,0 + #ifdef MESH_BED_LEVELING + if (mbl_was_active) { + current_position[X_AXIS] = mbl.get_x(0); + current_position[Y_AXIS] = mbl.get_y(0); + set_destination_to_current(); + feedrate = homing_feedrate[X_AXIS]; + line_to_destination(); + st_synchronize(); + current_position[Z_AXIS] = MESH_HOME_SEARCH_Z; + sync_plan_position(); + mbl.active = 1; + } + #endif + + feedrate = saved_feedrate; + feedmultiply = saved_feedmultiply; + refresh_cmd_timeout(); + endstops_hit_on_purpose(); // clear endstop hit flags +} + +#ifdef MESH_BED_LEVELING + + enum MeshLevelingState { MeshReport, MeshStart, MeshNext, MeshSet }; + + /** + * G29: Mesh-based Z-Probe, probes a grid and produces a + * mesh to compensate for variable bed height + * + * Parameters With MESH_BED_LEVELING: + * + * S0 Produce a mesh report + * S1 Start probing mesh points + * S2 Probe the next mesh point + * S3 Xn Yn Zn.nn Manually modify a single point + * + * The S0 report the points as below + * + * +----> X-axis + * | + * | + * v Y-axis + * + */ + inline void gcode_G29() { + + static int probe_point = -1; + MeshLevelingState state = code_seen('S') || code_seen('s') ? (MeshLevelingState)code_value_short() : MeshReport; + if (state < 0 || state > 3) { + SERIAL_PROTOCOLLNPGM("S out of range (0-3)."); + return; + } + + int ix, iy; + float z; + + switch(state) { + case MeshReport: + if (mbl.active) { + SERIAL_PROTOCOLPGM("Num X,Y: "); + SERIAL_PROTOCOL(MESH_NUM_X_POINTS); + SERIAL_PROTOCOLCHAR(','); + SERIAL_PROTOCOL(MESH_NUM_Y_POINTS); + SERIAL_PROTOCOLPGM("\nZ search height: "); + SERIAL_PROTOCOL(MESH_HOME_SEARCH_Z); + SERIAL_PROTOCOLLNPGM("\nMeasured points:"); + for (int y = 0; y < MESH_NUM_Y_POINTS; y++) { + for (int x = 0; x < MESH_NUM_X_POINTS; x++) { + SERIAL_PROTOCOLPGM(" "); + SERIAL_PROTOCOL_F(mbl.z_values[y][x], 5); + } + SERIAL_EOL; + } + } + else + SERIAL_PROTOCOLLNPGM("Mesh bed leveling not active."); + break; + + case MeshStart: + mbl.reset(); + probe_point = 0; + enqueuecommands_P(PSTR("G28\nG29 S2")); + break; + + case MeshNext: + if (probe_point < 0) { + SERIAL_PROTOCOLLNPGM("Start mesh probing with \"G29 S1\" first."); + return; + } + if (probe_point == 0) { + // Set Z to a positive value before recording the first Z. + current_position[Z_AXIS] = MESH_HOME_SEARCH_Z; + sync_plan_position(); + } + else { + // For others, save the Z of the previous point, then raise Z again. + ix = (probe_point - 1) % MESH_NUM_X_POINTS; + iy = (probe_point - 1) / MESH_NUM_X_POINTS; + if (iy & 1) ix = (MESH_NUM_X_POINTS - 1) - ix; // zig-zag + mbl.set_z(ix, iy, current_position[Z_AXIS]); + current_position[Z_AXIS] = MESH_HOME_SEARCH_Z; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[X_AXIS]/60, active_extruder); + st_synchronize(); + } + // Is there another point to sample? Move there. + if (probe_point < MESH_NUM_X_POINTS * MESH_NUM_Y_POINTS) { + ix = probe_point % MESH_NUM_X_POINTS; + iy = probe_point / MESH_NUM_X_POINTS; + if (iy & 1) ix = (MESH_NUM_X_POINTS - 1) - ix; // zig-zag + current_position[X_AXIS] = mbl.get_x(ix); + current_position[Y_AXIS] = mbl.get_y(iy); + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[X_AXIS]/60, active_extruder); + st_synchronize(); + probe_point++; + } + else { + // After recording the last point, activate the mbl and home + SERIAL_PROTOCOLLNPGM("Mesh probing done."); + probe_point = -1; + mbl.active = 1; + enqueuecommands_P(PSTR("G28")); + } + break; + + case MeshSet: + if (code_seen('X') || code_seen('x')) { + ix = code_value_long()-1; + if (ix < 0 || ix >= MESH_NUM_X_POINTS) { + SERIAL_PROTOCOLPGM("X out of range (1-" STRINGIFY(MESH_NUM_X_POINTS) ").\n"); + return; + } + } else { + SERIAL_PROTOCOLPGM("X not entered.\n"); + return; + } + if (code_seen('Y') || code_seen('y')) { + iy = code_value_long()-1; + if (iy < 0 || iy >= MESH_NUM_Y_POINTS) { + SERIAL_PROTOCOLPGM("Y out of range (1-" STRINGIFY(MESH_NUM_Y_POINTS) ").\n"); + return; + } + } else { + SERIAL_PROTOCOLPGM("Y not entered.\n"); + return; + } + if (code_seen('Z') || code_seen('z')) { + z = code_value(); + } else { + SERIAL_PROTOCOLPGM("Z not entered.\n"); + return; + } + mbl.z_values[iy][ix] = z; + + } // switch(state) + } + +#elif defined(ENABLE_AUTO_BED_LEVELING) + + /** + * G29: Detailed Z-Probe, probes the bed at 3 or more points. + * Will fail if the printer has not been homed with G28. + * + * Enhanced G29 Auto Bed Leveling Probe Routine + * + * Parameters With AUTO_BED_LEVELING_GRID: + * + * P Set the size of the grid that will be probed (P x P points). + * Not supported by non-linear delta printer bed leveling. + * Example: "G29 P4" + * + * S Set the XY travel speed between probe points (in mm/min) + * + * D Dry-Run mode. Just evaluate the bed Topology - Don't apply + * or clean the rotation Matrix. Useful to check the topology + * after a first run of G29. + * + * V Set the verbose level (0-4). Example: "G29 V3" + * + * T Generate a Bed Topology Report. Example: "G29 P5 T" for a detailed report. + * This is useful for manual bed leveling and finding flaws in the bed (to + * assist with part placement). + * Not supported by non-linear delta printer bed leveling. + * + * F Set the Front limit of the probing grid + * B Set the Back limit of the probing grid + * L Set the Left limit of the probing grid + * R Set the Right limit of the probing grid + * + * Global Parameters: + * + * E/e By default G29 will engage the probe, test the bed, then disengage. + * Include "E" to engage/disengage the probe for each sample. + * There's no extra effect if you have a fixed probe. + * Usage: "G29 E" or "G29 e" + * + */ + inline void gcode_G29() { + + // Don't allow auto-leveling without homing first + if (!axis_known_position[X_AXIS] || !axis_known_position[Y_AXIS]) { + LCD_MESSAGEPGM(MSG_POSITION_UNKNOWN); + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_POSITION_UNKNOWN); + return; + } + + int verbose_level = code_seen('V') || code_seen('v') ? code_value_short() : 1; + if (verbose_level < 0 || verbose_level > 4) { + SERIAL_ECHOLNPGM("?(V)erbose Level is implausible (0-4)."); + return; + } + + bool dryrun = code_seen('D') || code_seen('d'), + deploy_probe_for_each_reading = code_seen('E') || code_seen('e'); + + #ifdef AUTO_BED_LEVELING_GRID + + #ifndef DELTA + bool do_topography_map = verbose_level > 2 || code_seen('T') || code_seen('t'); + #endif + + if (verbose_level > 0) { + SERIAL_PROTOCOLPGM("G29 Auto Bed Leveling\n"); + if (dryrun) SERIAL_ECHOLNPGM("Running in DRY-RUN mode"); + } + + int auto_bed_leveling_grid_points = AUTO_BED_LEVELING_GRID_POINTS; + #ifndef DELTA + if (code_seen('P')) auto_bed_leveling_grid_points = code_value_short(); + if (auto_bed_leveling_grid_points < 2) { + SERIAL_PROTOCOLPGM("?Number of probed (P)oints is implausible (2 minimum).\n"); + return; + } + #endif + + xy_travel_speed = code_seen('S') ? code_value_short() : XY_TRAVEL_SPEED; + + int left_probe_bed_position = code_seen('L') ? code_value_short() : LEFT_PROBE_BED_POSITION, + right_probe_bed_position = code_seen('R') ? code_value_short() : RIGHT_PROBE_BED_POSITION, + front_probe_bed_position = code_seen('F') ? code_value_short() : FRONT_PROBE_BED_POSITION, + back_probe_bed_position = code_seen('B') ? code_value_short() : BACK_PROBE_BED_POSITION; + + bool left_out_l = left_probe_bed_position < MIN_PROBE_X, + left_out = left_out_l || left_probe_bed_position > right_probe_bed_position - MIN_PROBE_EDGE, + right_out_r = right_probe_bed_position > MAX_PROBE_X, + right_out = right_out_r || right_probe_bed_position < left_probe_bed_position + MIN_PROBE_EDGE, + front_out_f = front_probe_bed_position < MIN_PROBE_Y, + front_out = front_out_f || front_probe_bed_position > back_probe_bed_position - MIN_PROBE_EDGE, + back_out_b = back_probe_bed_position > MAX_PROBE_Y, + back_out = back_out_b || back_probe_bed_position < front_probe_bed_position + MIN_PROBE_EDGE; + + if (left_out || right_out || front_out || back_out) { + if (left_out) { + SERIAL_PROTOCOLPGM("?Probe (L)eft position out of range.\n"); + left_probe_bed_position = left_out_l ? MIN_PROBE_X : right_probe_bed_position - MIN_PROBE_EDGE; + } + if (right_out) { + SERIAL_PROTOCOLPGM("?Probe (R)ight position out of range.\n"); + right_probe_bed_position = right_out_r ? MAX_PROBE_X : left_probe_bed_position + MIN_PROBE_EDGE; + } + if (front_out) { + SERIAL_PROTOCOLPGM("?Probe (F)ront position out of range.\n"); + front_probe_bed_position = front_out_f ? MIN_PROBE_Y : back_probe_bed_position - MIN_PROBE_EDGE; + } + if (back_out) { + SERIAL_PROTOCOLPGM("?Probe (B)ack position out of range.\n"); + back_probe_bed_position = back_out_b ? MAX_PROBE_Y : front_probe_bed_position + MIN_PROBE_EDGE; + } + return; + } + + #endif // AUTO_BED_LEVELING_GRID + + #ifdef Z_PROBE_SLED + dock_sled(false); // engage (un-dock) the probe + #elif defined(Z_PROBE_ALLEN_KEY) //|| defined(SERVO_LEVELING) + deploy_z_probe(); + #endif + + st_synchronize(); + + if (!dryrun) { + // make sure the bed_level_rotation_matrix is identity or the planner will get it wrong + plan_bed_level_matrix.set_to_identity(); + + #ifdef DELTA + reset_bed_level(); + #else //!DELTA + //vector_3 corrected_position = plan_get_position_mm(); + //corrected_position.debug("position before G29"); + vector_3 uncorrected_position = plan_get_position(); + //uncorrected_position.debug("position during G29"); + current_position[X_AXIS] = uncorrected_position.x; + current_position[Y_AXIS] = uncorrected_position.y; + current_position[Z_AXIS] = uncorrected_position.z; + sync_plan_position(); + #endif // !DELTA + } + + setup_for_endstop_move(); + + feedrate = homing_feedrate[Z_AXIS]; + + #ifdef AUTO_BED_LEVELING_GRID + + // probe at the points of a lattice grid + const int xGridSpacing = (right_probe_bed_position - left_probe_bed_position) / (auto_bed_leveling_grid_points - 1), + yGridSpacing = (back_probe_bed_position - front_probe_bed_position) / (auto_bed_leveling_grid_points - 1); + + #ifdef DELTA + delta_grid_spacing[0] = xGridSpacing; + delta_grid_spacing[1] = yGridSpacing; + float z_offset = Z_PROBE_OFFSET_FROM_EXTRUDER; + if (code_seen(axis_codes[Z_AXIS])) z_offset += code_value(); + #else // !DELTA + // solve the plane equation ax + by + d = z + // A is the matrix with rows [x y 1] for all the probed points + // B is the vector of the Z positions + // the normal vector to the plane is formed by the coefficients of the plane equation in the standard form, which is Vx*x+Vy*y+Vz*z+d = 0 + // so Vx = -a Vy = -b Vz = 1 (we want the vector facing towards positive Z + + int abl2 = auto_bed_leveling_grid_points * auto_bed_leveling_grid_points; + + double eqnAMatrix[abl2 * 3], // "A" matrix of the linear system of equations + eqnBVector[abl2], // "B" vector of Z points + mean = 0.0; + #endif // !DELTA + + int probePointCounter = 0; + bool zig = true; + + for (int yCount = 0; yCount < auto_bed_leveling_grid_points; yCount++) { + double yProbe = front_probe_bed_position + yGridSpacing * yCount; + int xStart, xStop, xInc; + + if (zig) { + xStart = 0; + xStop = auto_bed_leveling_grid_points; + xInc = 1; + } + else { + xStart = auto_bed_leveling_grid_points - 1; + xStop = -1; + xInc = -1; + } + + #ifndef DELTA + // If do_topography_map is set then don't zig-zag. Just scan in one direction. + // This gets the probe points in more readable order. + if (!do_topography_map) zig = !zig; + #endif + + for (int xCount = xStart; xCount != xStop; xCount += xInc) { + double xProbe = left_probe_bed_position + xGridSpacing * xCount; + + // raise extruder + float measured_z, + z_before = probePointCounter ? Z_RAISE_BETWEEN_PROBINGS + current_position[Z_AXIS] : Z_RAISE_BEFORE_PROBING; + + #ifdef DELTA + // Avoid probing the corners (outside the round or hexagon print surface) on a delta printer. + float distance_from_center = sqrt(xProbe*xProbe + yProbe*yProbe); + if (distance_from_center > DELTA_PROBABLE_RADIUS) continue; + #endif //DELTA + + ProbeAction act; + if (deploy_probe_for_each_reading) // G29 E - Stow between probes + act = ProbeDeployAndStow; + else if (yCount == 0 && xCount == xStart) + act = ProbeDeploy; + else if (yCount == auto_bed_leveling_grid_points - 1 && xCount == xStop - xInc) + act = ProbeStow; + else + act = ProbeStay; + + measured_z = probe_pt(xProbe, yProbe, z_before, act, verbose_level); + + #ifndef DELTA + mean += measured_z; + + eqnBVector[probePointCounter] = measured_z; + eqnAMatrix[probePointCounter + 0 * abl2] = xProbe; + eqnAMatrix[probePointCounter + 1 * abl2] = yProbe; + eqnAMatrix[probePointCounter + 2 * abl2] = 1; + #else + bed_level[xCount][yCount] = measured_z + z_offset; + #endif + + probePointCounter++; + + manage_heater(); + manage_inactivity(); + lcd_update(); + + } //xProbe + } //yProbe + + clean_up_after_endstop_move(); + + #ifdef DELTA + + if (!dryrun) extrapolate_unprobed_bed_level(); + print_bed_level(); + + #else // !DELTA + + // solve lsq problem + double *plane_equation_coefficients = qr_solve(abl2, 3, eqnAMatrix, eqnBVector); + + mean /= abl2; + + if (verbose_level) { + SERIAL_PROTOCOLPGM("Eqn coefficients: a: "); + SERIAL_PROTOCOL_F(plane_equation_coefficients[0], 8); + SERIAL_PROTOCOLPGM(" b: "); + SERIAL_PROTOCOL_F(plane_equation_coefficients[1], 8); + SERIAL_PROTOCOLPGM(" d: "); + SERIAL_PROTOCOL_F(plane_equation_coefficients[2], 8); + SERIAL_EOL; + if (verbose_level > 2) { + SERIAL_PROTOCOLPGM("Mean of sampled points: "); + SERIAL_PROTOCOL_F(mean, 8); + SERIAL_EOL; + } + } + + // Show the Topography map if enabled + if (do_topography_map) { + + SERIAL_PROTOCOLPGM(" \nBed Height Topography: \n"); + SERIAL_PROTOCOLPGM("+-----------+\n"); + SERIAL_PROTOCOLPGM("|...Back....|\n"); + SERIAL_PROTOCOLPGM("|Left..Right|\n"); + SERIAL_PROTOCOLPGM("|...Front...|\n"); + SERIAL_PROTOCOLPGM("+-----------+\n"); + + for (int yy = auto_bed_leveling_grid_points - 1; yy >= 0; yy--) { + for (int xx = 0; xx < auto_bed_leveling_grid_points; xx++) { + int ind = yy * auto_bed_leveling_grid_points + xx; + float diff = eqnBVector[ind] - mean; + if (diff >= 0.0) + SERIAL_PROTOCOLPGM(" +"); // Include + for column alignment + else + SERIAL_PROTOCOLCHAR(' '); + SERIAL_PROTOCOL_F(diff, 5); + } // xx + SERIAL_EOL; + } // yy + SERIAL_EOL; + + } //do_topography_map + + + if (!dryrun) set_bed_level_equation_lsq(plane_equation_coefficients); + free(plane_equation_coefficients); + + #endif //!DELTA + + #else // !AUTO_BED_LEVELING_GRID + + // Actions for each probe + ProbeAction p1, p2, p3; + if (deploy_probe_for_each_reading) + p1 = p2 = p3 = ProbeDeployAndStow; + else + p1 = ProbeDeploy, p2 = ProbeStay, p3 = ProbeStow; + + // Probe at 3 arbitrary points + float z_at_pt_1 = probe_pt(ABL_PROBE_PT_1_X, ABL_PROBE_PT_1_Y, Z_RAISE_BEFORE_PROBING, p1, verbose_level), + z_at_pt_2 = probe_pt(ABL_PROBE_PT_2_X, ABL_PROBE_PT_2_Y, current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS, p2, verbose_level), + z_at_pt_3 = probe_pt(ABL_PROBE_PT_3_X, ABL_PROBE_PT_3_Y, current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS, p3, verbose_level); + clean_up_after_endstop_move(); + if (!dryrun) set_bed_level_equation_3pts(z_at_pt_1, z_at_pt_2, z_at_pt_3); + + #endif // !AUTO_BED_LEVELING_GRID + + #ifndef DELTA + if (verbose_level > 0) + plan_bed_level_matrix.debug(" \n\nBed Level Correction Matrix:"); + + if (!dryrun) { + // Correct the Z height difference from z-probe position and hotend tip position. + // The Z height on homing is measured by Z-Probe, but the probe is quite far from the hotend. + // When the bed is uneven, this height must be corrected. + float x_tmp = current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER, + y_tmp = current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER, + z_tmp = current_position[Z_AXIS], + real_z = (float)st_get_position(Z_AXIS) / axis_steps_per_unit[Z_AXIS]; //get the real Z (since the auto bed leveling is already correcting the plane) + + apply_rotation_xyz(plan_bed_level_matrix, x_tmp, y_tmp, z_tmp); //Apply the correction sending the probe offset + current_position[Z_AXIS] = z_tmp - real_z + current_position[Z_AXIS]; //The difference is added to current position and sent to planner. + sync_plan_position(); + } + #endif // !DELTA + + #ifdef Z_PROBE_SLED + dock_sled(true, -SLED_DOCKING_OFFSET); // dock the probe, correcting for over-travel + #elif defined(Z_PROBE_ALLEN_KEY) //|| defined(SERVO_LEVELING) + stow_z_probe(); + #endif + + #ifdef Z_PROBE_END_SCRIPT + enqueuecommands_P(PSTR(Z_PROBE_END_SCRIPT)); + st_synchronize(); + #endif + } + + #ifndef Z_PROBE_SLED + + inline void gcode_G30() { + deploy_z_probe(); // Engage Z Servo endstop if available + st_synchronize(); + // TODO: make sure the bed_level_rotation_matrix is identity or the planner will get set incorectly + setup_for_endstop_move(); + + feedrate = homing_feedrate[Z_AXIS]; + + run_z_probe(); + SERIAL_PROTOCOLPGM("Bed"); + SERIAL_PROTOCOLPGM(" X: "); + SERIAL_PROTOCOL(current_position[X_AXIS] + 0.0001); + SERIAL_PROTOCOLPGM(" Y: "); + SERIAL_PROTOCOL(current_position[Y_AXIS] + 0.0001); + SERIAL_PROTOCOLPGM(" Z: "); + SERIAL_PROTOCOL(current_position[Z_AXIS] + 0.0001); + SERIAL_EOL; + + clean_up_after_endstop_move(); + stow_z_probe(); // Retract Z Servo endstop if available + } + + #endif //!Z_PROBE_SLED + +#endif //ENABLE_AUTO_BED_LEVELING + +/** + * G92: Set current position to given X Y Z E + */ +inline void gcode_G92() { + if (!code_seen(axis_codes[E_AXIS])) + st_synchronize(); + + bool didXYZ = false; + for (int i = 0; i < NUM_AXIS; i++) { + if (code_seen(axis_codes[i])) { + float v = current_position[i] = code_value(); + if (i == E_AXIS) + plan_set_e_position(v); + else + didXYZ = true; + } + } + if (didXYZ) sync_plan_position(); +} + +#ifdef ULTIPANEL + + /** + * M0: // M0 - Unconditional stop - Wait for user button press on LCD + * M1: // M1 - Conditional stop - Wait for user button press on LCD + */ + inline void gcode_M0_M1() { + char *src = strchr_pointer + 2; + + millis_t codenum = 0; + bool hasP = false, hasS = false; + if (code_seen('P')) { + codenum = code_value_short(); // milliseconds to wait + hasP = codenum > 0; + } + if (code_seen('S')) { + codenum = code_value_short() * 1000UL; // seconds to wait + hasS = codenum > 0; + } + char* starpos = strchr(src, '*'); + if (starpos != NULL) *(starpos) = '\0'; + while (*src == ' ') ++src; + if (!hasP && !hasS && *src != '\0') + lcd_setstatus(src, true); + else { + LCD_MESSAGEPGM(MSG_USERWAIT); + #if defined(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0 + dontExpireStatus(); + #endif + } + + lcd_ignore_click(); + st_synchronize(); + refresh_cmd_timeout(); + if (codenum > 0) { + codenum += previous_cmd_ms; // keep track of when we started waiting + while(millis() < codenum && !lcd_clicked()) { + manage_heater(); + manage_inactivity(); + lcd_update(); + } + lcd_ignore_click(false); + } + else { + if (!lcd_detected()) return; + while (!lcd_clicked()) { + manage_heater(); + manage_inactivity(); + lcd_update(); + } + } + if (IS_SD_PRINTING) + LCD_MESSAGEPGM(MSG_RESUMING); + else + LCD_MESSAGEPGM(WELCOME_MSG); + } + +#endif // ULTIPANEL + +/** + * M17: Enable power on all stepper motors + */ +inline void gcode_M17() { + LCD_MESSAGEPGM(MSG_NO_MOVE); + enable_all_steppers(); +} + +#ifdef SDSUPPORT + + /** + * M20: List SD card to serial output + */ + inline void gcode_M20() { + SERIAL_PROTOCOLLNPGM(MSG_BEGIN_FILE_LIST); + card.ls(); + SERIAL_PROTOCOLLNPGM(MSG_END_FILE_LIST); + } + + /** + * M21: Init SD Card + */ + inline void gcode_M21() { + card.initsd(); + } + + /** + * M22: Release SD Card + */ + inline void gcode_M22() { + card.release(); + } + + /** + * M23: Select a file + */ + inline void gcode_M23() { + char* codepos = strchr_pointer + 4; + char* starpos = strchr(codepos, '*'); + if (starpos) *starpos = '\0'; + card.openFile(codepos, true); + } + + /** + * M24: Start SD Print + */ + inline void gcode_M24() { + card.startFileprint(); + starttime = millis(); + } + + /** + * M25: Pause SD Print + */ + inline void gcode_M25() { + card.pauseSDPrint(); + } + + /** + * M26: Set SD Card file index + */ + inline void gcode_M26() { + if (card.cardOK && code_seen('S')) + card.setIndex(code_value_short()); + } + + /** + * M27: Get SD Card status + */ + inline void gcode_M27() { + card.getStatus(); + } + + /** + * M28: Start SD Write + */ + inline void gcode_M28() { + char* codepos = strchr_pointer + 4; + char* starpos = strchr(codepos, '*'); + if (starpos) { + char* npos = strchr(cmdbuffer[bufindr], 'N'); + strchr_pointer = strchr(npos, ' ') + 1; + *(starpos) = '\0'; + } + card.openFile(codepos, false); + } + + /** + * M29: Stop SD Write + * Processed in write to file routine above + */ + inline void gcode_M29() { + // card.saving = false; + } + + /** + * M30 : Delete SD Card file + */ + inline void gcode_M30() { + if (card.cardOK) { + card.closefile(); + char* starpos = strchr(strchr_pointer + 4, '*'); + if (starpos) { + char* npos = strchr(cmdbuffer[bufindr], 'N'); + strchr_pointer = strchr(npos, ' ') + 1; + *(starpos) = '\0'; + } + card.removeFile(strchr_pointer + 4); + } + } + +#endif + +/** + * M31: Get the time since the start of SD Print (or last M109) + */ +inline void gcode_M31() { + stoptime = millis(); + millis_t t = (stoptime - starttime) / 1000; + int min = t / 60, sec = t % 60; + char time[30]; + sprintf_P(time, PSTR("%i min, %i sec"), min, sec); + SERIAL_ECHO_START; + SERIAL_ECHOLN(time); + lcd_setstatus(time); + autotempShutdown(); +} + +#ifdef SDSUPPORT + + /** + * M32: Select file and start SD Print + */ + inline void gcode_M32() { + if (card.sdprinting) + st_synchronize(); + + char* codepos = strchr_pointer + 4; + + char* namestartpos = strchr(codepos, '!'); //find ! to indicate filename string start. + if (! namestartpos) + namestartpos = codepos; //default name position, 4 letters after the M + else + namestartpos++; //to skip the '!' + + char* starpos = strchr(codepos, '*'); + if (starpos) *(starpos) = '\0'; + + bool call_procedure = code_seen('P') && (strchr_pointer < namestartpos); + + if (card.cardOK) { + card.openFile(namestartpos, true, !call_procedure); + + if (code_seen('S') && strchr_pointer < namestartpos) // "S" (must occur _before_ the filename!) + card.setIndex(code_value_short()); + + card.startFileprint(); + if (!call_procedure) + starttime = millis(); //procedure calls count as normal print time. + } + } + + /** + * M928: Start SD Write + */ + inline void gcode_M928() { + char* starpos = strchr(strchr_pointer + 5, '*'); + if (starpos) { + char* npos = strchr(cmdbuffer[bufindr], 'N'); + strchr_pointer = strchr(npos, ' ') + 1; + *(starpos) = '\0'; + } + card.openLogFile(strchr_pointer + 5); + } + +#endif // SDSUPPORT + +/** + * M42: Change pin status via GCode + */ +inline void gcode_M42() { + if (code_seen('S')) { + int pin_status = code_value_short(), + pin_number = LED_PIN; + + if (code_seen('P') && pin_status >= 0 && pin_status <= 255) + pin_number = code_value_short(); + + for (int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins) / sizeof(*sensitive_pins)); i++) { + if (sensitive_pins[i] == pin_number) { + pin_number = -1; + break; + } + } + + #if HAS_FAN + if (pin_number == FAN_PIN) fanSpeed = pin_status; + #endif + + if (pin_number > -1) { + pinMode(pin_number, OUTPUT); + digitalWrite(pin_number, pin_status); + analogWrite(pin_number, pin_status); + } + } // code_seen('S') +} + +#if defined(ENABLE_AUTO_BED_LEVELING) && defined(Z_PROBE_REPEATABILITY_TEST) + + // This is redundant since the SanityCheck.h already checks for a valid Z_PROBE_PIN, but here for clarity. + #ifdef Z_PROBE_ENDSTOP + #if !HAS_Z_PROBE + #error You must define Z_PROBE_PIN to enable Z-Probe repeatability calculation. + #endif + #elif !HAS_Z_MIN + #error You must define Z_MIN_PIN to enable Z-Probe repeatability calculation. + #endif + + /** + * M48: Z-Probe repeatability measurement function. + * + * Usage: + * M48 + * P = Number of sampled points (4-50, default 10) + * X = Sample X position + * Y = Sample Y position + * V = Verbose level (0-4, default=1) + * E = Engage probe for each reading + * L = Number of legs of movement before probe + * + * This function assumes the bed has been homed. Specifically, that a G28 command + * as been issued prior to invoking the M48 Z-Probe repeatability measurement function. + * Any information generated by a prior G29 Bed leveling command will be lost and need to be + * regenerated. + * + * The number of samples will default to 10 if not specified. You can use upper or lower case + * letters for any of the options EXCEPT n. n must be in lower case because Marlin uses a capital + * N for its communication protocol and will get horribly confused if you send it a capital N. + */ + inline void gcode_M48() { + + double sum = 0.0, mean = 0.0, sigma = 0.0, sample_set[50]; + uint8_t verbose_level = 1, n_samples = 10, n_legs = 0; + + if (code_seen('V') || code_seen('v')) { + verbose_level = code_value_short(); + if (verbose_level < 0 || verbose_level > 4 ) { + SERIAL_PROTOCOLPGM("?Verbose Level not plausible (0-4).\n"); + return; + } + } + + if (verbose_level > 0) + SERIAL_PROTOCOLPGM("M48 Z-Probe Repeatability test\n"); + + if (code_seen('P') || code_seen('p') || code_seen('n')) { // `n` for legacy support only - please use `P`! + n_samples = code_value_short(); + if (n_samples < 4 || n_samples > 50) { + SERIAL_PROTOCOLPGM("?Sample size not plausible (4-50).\n"); + return; + } + } + + double X_probe_location, Y_probe_location, + X_current = X_probe_location = st_get_position_mm(X_AXIS), + Y_current = Y_probe_location = st_get_position_mm(Y_AXIS), + Z_current = st_get_position_mm(Z_AXIS), + Z_start_location = Z_current + Z_RAISE_BEFORE_PROBING, + ext_position = st_get_position_mm(E_AXIS); + + bool deploy_probe_for_each_reading = code_seen('E') || code_seen('e'); + + if (code_seen('X') || code_seen('x')) { + X_probe_location = code_value() - X_PROBE_OFFSET_FROM_EXTRUDER; + if (X_probe_location < X_MIN_POS || X_probe_location > X_MAX_POS) { + SERIAL_PROTOCOLPGM("?X position out of range.\n"); + return; + } + } + + if (code_seen('Y') || code_seen('y')) { + Y_probe_location = code_value() - Y_PROBE_OFFSET_FROM_EXTRUDER; + if (Y_probe_location < Y_MIN_POS || Y_probe_location > Y_MAX_POS) { + SERIAL_PROTOCOLPGM("?Y position out of range.\n"); + return; + } + } + + if (code_seen('L') || code_seen('l')) { + n_legs = code_value_short(); + if (n_legs == 1) n_legs = 2; + if (n_legs < 0 || n_legs > 15) { + SERIAL_PROTOCOLPGM("?Number of legs in movement not plausible (0-15).\n"); + return; + } + } + + // + // Do all the preliminary setup work. First raise the probe. + // + + st_synchronize(); + plan_bed_level_matrix.set_to_identity(); + plan_buffer_line(X_current, Y_current, Z_start_location, + ext_position, + homing_feedrate[Z_AXIS] / 60, + active_extruder); + st_synchronize(); + + // + // Now get everything to the specified probe point So we can safely do a probe to + // get us close to the bed. If the Z-Axis is far from the bed, we don't want to + // use that as a starting point for each probe. + // + if (verbose_level > 2) + SERIAL_PROTOCOLPGM("Positioning the probe...\n"); + + plan_buffer_line( X_probe_location, Y_probe_location, Z_start_location, + ext_position, + homing_feedrate[X_AXIS]/60, + active_extruder); + st_synchronize(); + + current_position[X_AXIS] = X_current = st_get_position_mm(X_AXIS); + current_position[Y_AXIS] = Y_current = st_get_position_mm(Y_AXIS); + current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS); + current_position[E_AXIS] = ext_position = st_get_position_mm(E_AXIS); + + // + // OK, do the inital probe to get us close to the bed. + // Then retrace the right amount and use that in subsequent probes + // + + deploy_z_probe(); + + setup_for_endstop_move(); + run_z_probe(); + + current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS); + Z_start_location = st_get_position_mm(Z_AXIS) + Z_RAISE_BEFORE_PROBING; + + plan_buffer_line( X_probe_location, Y_probe_location, Z_start_location, + ext_position, + homing_feedrate[X_AXIS]/60, + active_extruder); + st_synchronize(); + current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS); + + if (deploy_probe_for_each_reading) stow_z_probe(); + + for (uint8_t n=0; n < n_samples; n++) { + // Make sure we are at the probe location + do_blocking_move_to(X_probe_location, Y_probe_location, Z_start_location); // this also updates current_position + + if (n_legs) { + millis_t ms = millis(); + double radius = ms % (X_MAX_LENGTH / 4), // limit how far out to go + theta = RADIANS(ms % 360L); + float dir = (ms & 0x0001) ? 1 : -1; // clockwise or counter clockwise + + //SERIAL_ECHOPAIR("starting radius: ",radius); + //SERIAL_ECHOPAIR(" theta: ",theta); + //SERIAL_ECHOPAIR(" direction: ",dir); + //SERIAL_EOL; + + for (uint8_t l = 0; l < n_legs - 1; l++) { + ms = millis(); + theta += RADIANS(dir * (ms % 20L)); + radius += (ms % 10L) - 5L; + if (radius < 0.0) radius = -radius; + + X_current = X_probe_location + cos(theta) * radius; + Y_current = Y_probe_location + sin(theta) * radius; + X_current = constrain(X_current, X_MIN_POS, X_MAX_POS); + Y_current = constrain(Y_current, Y_MIN_POS, Y_MAX_POS); + + if (verbose_level > 3) { + SERIAL_ECHOPAIR("x: ", X_current); + SERIAL_ECHOPAIR("y: ", Y_current); + SERIAL_EOL; + } + + do_blocking_move_to(X_current, Y_current, Z_current); // this also updates current_position + + } // n_legs loop + + // Go back to the probe location + do_blocking_move_to(X_probe_location, Y_probe_location, Z_start_location); // this also updates current_position + + } // n_legs + + if (deploy_probe_for_each_reading) { + deploy_z_probe(); + delay(1000); + } + + setup_for_endstop_move(); + run_z_probe(); + + sample_set[n] = current_position[Z_AXIS]; + + // + // Get the current mean for the data points we have so far + // + sum = 0.0; + for (uint8_t j = 0; j <= n; j++) sum += sample_set[j]; + mean = sum / (n + 1); + + // + // Now, use that mean to calculate the standard deviation for the + // data points we have so far + // + sum = 0.0; + for (uint8_t j = 0; j <= n; j++) { + float ss = sample_set[j] - mean; + sum += ss * ss; + } + sigma = sqrt(sum / (n + 1)); + + if (verbose_level > 1) { + SERIAL_PROTOCOL(n+1); + SERIAL_PROTOCOLPGM(" of "); + SERIAL_PROTOCOL(n_samples); + SERIAL_PROTOCOLPGM(" z: "); + SERIAL_PROTOCOL_F(current_position[Z_AXIS], 6); + if (verbose_level > 2) { + SERIAL_PROTOCOLPGM(" mean: "); + SERIAL_PROTOCOL_F(mean,6); + SERIAL_PROTOCOLPGM(" sigma: "); + SERIAL_PROTOCOL_F(sigma,6); + } + } + + if (verbose_level > 0) SERIAL_EOL; + + plan_buffer_line(X_probe_location, Y_probe_location, Z_start_location, current_position[E_AXIS], homing_feedrate[Z_AXIS]/60, active_extruder); + st_synchronize(); + + if (deploy_probe_for_each_reading) { + stow_z_probe(); + delay(1000); + } + } + + if (!deploy_probe_for_each_reading) { + stow_z_probe(); + delay(1000); + } + + clean_up_after_endstop_move(); + + // enable_endstops(true); + + if (verbose_level > 0) { + SERIAL_PROTOCOLPGM("Mean: "); + SERIAL_PROTOCOL_F(mean, 6); + SERIAL_EOL; + } + + SERIAL_PROTOCOLPGM("Standard Deviation: "); + SERIAL_PROTOCOL_F(sigma, 6); + SERIAL_EOL; SERIAL_EOL; + } + +#endif // ENABLE_AUTO_BED_LEVELING && Z_PROBE_REPEATABILITY_TEST + +/** + * M104: Set hot end temperature + */ +inline void gcode_M104() { + if (setTargetedHotend(104)) return; + + if (code_seen('S')) { + float temp = code_value(); + setTargetHotend(temp, target_extruder); + #ifdef DUAL_X_CARRIAGE + if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && target_extruder == 0) + setTargetHotend1(temp == 0.0 ? 0.0 : temp + duplicate_extruder_temp_offset); + #endif + setWatch(); + } +} + +/** + * M105: Read hot end and bed temperature + */ +inline void gcode_M105() { + if (setTargetedHotend(105)) return; + + #if HAS_TEMP_0 || HAS_TEMP_BED + SERIAL_PROTOCOLPGM("ok"); + #if HAS_TEMP_0 + SERIAL_PROTOCOLPGM(" T:"); + SERIAL_PROTOCOL_F(degHotend(target_extruder), 1); + SERIAL_PROTOCOLPGM(" /"); + SERIAL_PROTOCOL_F(degTargetHotend(target_extruder), 1); + #endif + #if HAS_TEMP_BED + SERIAL_PROTOCOLPGM(" B:"); + SERIAL_PROTOCOL_F(degBed(), 1); + SERIAL_PROTOCOLPGM(" /"); + SERIAL_PROTOCOL_F(degTargetBed(), 1); + #endif + for (int8_t e = 0; e < EXTRUDERS; ++e) { + SERIAL_PROTOCOLPGM(" T"); + SERIAL_PROTOCOL(e); + SERIAL_PROTOCOLCHAR(':'); + SERIAL_PROTOCOL_F(degHotend(e), 1); + SERIAL_PROTOCOLPGM(" /"); + SERIAL_PROTOCOL_F(degTargetHotend(e), 1); + } + #else // !HAS_TEMP_0 && !HAS_TEMP_BED + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_ERR_NO_THERMISTORS); + #endif + + SERIAL_PROTOCOLPGM(" @:"); + #ifdef EXTRUDER_WATTS + SERIAL_PROTOCOL((EXTRUDER_WATTS * getHeaterPower(target_extruder))/127); + SERIAL_PROTOCOLCHAR('W'); + #else + SERIAL_PROTOCOL(getHeaterPower(target_extruder)); + #endif + + SERIAL_PROTOCOLPGM(" B@:"); + #ifdef BED_WATTS + SERIAL_PROTOCOL((BED_WATTS * getHeaterPower(-1))/127); + SERIAL_PROTOCOLCHAR('W'); + #else + SERIAL_PROTOCOL(getHeaterPower(-1)); + #endif + + #ifdef SHOW_TEMP_ADC_VALUES + #if HAS_TEMP_BED + SERIAL_PROTOCOLPGM(" ADC B:"); + SERIAL_PROTOCOL_F(degBed(),1); + SERIAL_PROTOCOLPGM("C->"); + SERIAL_PROTOCOL_F(rawBedTemp()/OVERSAMPLENR,0); + #endif + for (int8_t cur_extruder = 0; cur_extruder < EXTRUDERS; ++cur_extruder) { + SERIAL_PROTOCOLPGM(" T"); + SERIAL_PROTOCOL(cur_extruder); + SERIAL_PROTOCOLCHAR(':'); + SERIAL_PROTOCOL_F(degHotend(cur_extruder),1); + SERIAL_PROTOCOLPGM("C->"); + SERIAL_PROTOCOL_F(rawHotendTemp(cur_extruder)/OVERSAMPLENR,0); + } + #endif + + SERIAL_EOL; +} + +#if HAS_FAN + + /** + * M106: Set Fan Speed + */ + inline void gcode_M106() { fanSpeed = code_seen('S') ? constrain(code_value_short(), 0, 255) : 255; } + + /** + * M107: Fan Off + */ + inline void gcode_M107() { fanSpeed = 0; } + +#endif // HAS_FAN + +/** + * M109: Wait for extruder(s) to reach temperature + */ +inline void gcode_M109() { + if (setTargetedHotend(109)) return; + + LCD_MESSAGEPGM(MSG_HEATING); + + CooldownNoWait = code_seen('S'); + if (CooldownNoWait || code_seen('R')) { + float temp = code_value(); + setTargetHotend(temp, target_extruder); + #ifdef DUAL_X_CARRIAGE + if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && target_extruder == 0) + setTargetHotend1(temp == 0.0 ? 0.0 : temp + duplicate_extruder_temp_offset); + #endif + } + + #ifdef AUTOTEMP + autotemp_enabled = code_seen('F'); + if (autotemp_enabled) autotemp_factor = code_value(); + if (code_seen('S')) autotemp_min = code_value(); + if (code_seen('B')) autotemp_max = code_value(); + #endif + + setWatch(); + + millis_t temp_ms = millis(); + + /* See if we are heating up or cooling down */ + target_direction = isHeatingHotend(target_extruder); // true if heating, false if cooling + + cancel_heatup = false; + + #ifdef TEMP_RESIDENCY_TIME + long residency_start_ms = -1; + /* continue to loop until we have reached the target temp + _and_ until TEMP_RESIDENCY_TIME hasn't passed since we reached it */ + while((!cancel_heatup)&&((residency_start_ms == -1) || + (residency_start_ms >= 0 && (((unsigned int) (millis() - residency_start_ms)) < (TEMP_RESIDENCY_TIME * 1000UL)))) ) + #else + while ( target_direction ? (isHeatingHotend(target_extruder)) : (isCoolingHotend(target_extruder)&&(CooldownNoWait==false)) ) + #endif //TEMP_RESIDENCY_TIME + + { // while loop + if (millis() > temp_ms + 1000UL) { //Print temp & remaining time every 1s while waiting + SERIAL_PROTOCOLPGM("T:"); + SERIAL_PROTOCOL_F(degHotend(target_extruder),1); + SERIAL_PROTOCOLPGM(" E:"); + SERIAL_PROTOCOL((int)target_extruder); + #ifdef TEMP_RESIDENCY_TIME + SERIAL_PROTOCOLPGM(" W:"); + if (residency_start_ms > -1) { + temp_ms = ((TEMP_RESIDENCY_TIME * 1000UL) - (millis() - residency_start_ms)) / 1000UL; + SERIAL_PROTOCOLLN(temp_ms); + } + else { + SERIAL_PROTOCOLLNPGM("?"); + } + #else + SERIAL_EOL; + #endif + temp_ms = millis(); + } + manage_heater(); + manage_inactivity(); + lcd_update(); + #ifdef TEMP_RESIDENCY_TIME + // start/restart the TEMP_RESIDENCY_TIME timer whenever we reach target temp for the first time + // or when current temp falls outside the hysteresis after target temp was reached + if ((residency_start_ms == -1 && target_direction && (degHotend(target_extruder) >= (degTargetHotend(target_extruder)-TEMP_WINDOW))) || + (residency_start_ms == -1 && !target_direction && (degHotend(target_extruder) <= (degTargetHotend(target_extruder)+TEMP_WINDOW))) || + (residency_start_ms > -1 && labs(degHotend(target_extruder) - degTargetHotend(target_extruder)) > TEMP_HYSTERESIS) ) + { + residency_start_ms = millis(); + } + #endif //TEMP_RESIDENCY_TIME + } + + LCD_MESSAGEPGM(MSG_HEATING_COMPLETE); + refresh_cmd_timeout(); + starttime = previous_cmd_ms; +} + +#if HAS_TEMP_BED + + /** + * M190: Sxxx Wait for bed current temp to reach target temp. Waits only when heating + * Rxxx Wait for bed current temp to reach target temp. Waits when heating and cooling + */ + inline void gcode_M190() { + LCD_MESSAGEPGM(MSG_BED_HEATING); + CooldownNoWait = code_seen('S'); + if (CooldownNoWait || code_seen('R')) + setTargetBed(code_value()); + + millis_t temp_ms = millis(); + + cancel_heatup = false; + target_direction = isHeatingBed(); // true if heating, false if cooling + + while ( (target_direction)&&(!cancel_heatup) ? (isHeatingBed()) : (isCoolingBed()&&(CooldownNoWait==false)) ) { + millis_t ms = millis(); + if (ms > temp_ms + 1000UL) { //Print Temp Reading every 1 second while heating up. + temp_ms = ms; + float tt = degHotend(active_extruder); + SERIAL_PROTOCOLPGM("T:"); + SERIAL_PROTOCOL(tt); + SERIAL_PROTOCOLPGM(" E:"); + SERIAL_PROTOCOL((int)active_extruder); + SERIAL_PROTOCOLPGM(" B:"); + SERIAL_PROTOCOL_F(degBed(), 1); + SERIAL_EOL; + } + manage_heater(); + manage_inactivity(); + lcd_update(); + } + LCD_MESSAGEPGM(MSG_BED_DONE); + refresh_cmd_timeout(); + } + +#endif // HAS_TEMP_BED + +/** + * M112: Emergency Stop + */ +inline void gcode_M112() { + kill(); +} + +#ifdef BARICUDA + + #if HAS_HEATER_1 + /** + * M126: Heater 1 valve open + */ + inline void gcode_M126() { ValvePressure = code_seen('S') ? constrain(code_value(), 0, 255) : 255; } + /** + * M127: Heater 1 valve close + */ + inline void gcode_M127() { ValvePressure = 0; } + #endif + + #if HAS_HEATER_2 + /** + * M128: Heater 2 valve open + */ + inline void gcode_M128() { EtoPPressure = code_seen('S') ? constrain(code_value(), 0, 255) : 255; } + /** + * M129: Heater 2 valve close + */ + inline void gcode_M129() { EtoPPressure = 0; } + #endif + +#endif //BARICUDA + +/** + * M140: Set bed temperature + */ +inline void gcode_M140() { + if (code_seen('S')) setTargetBed(code_value()); +} + +#if HAS_POWER_SWITCH + + /** + * M80: Turn on Power Supply + */ + inline void gcode_M80() { + OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE); //GND + + // If you have a switch on suicide pin, this is useful + // if you want to start another print with suicide feature after + // a print without suicide... + #if HAS_SUICIDE + OUT_WRITE(SUICIDE_PIN, HIGH); + #endif + + #ifdef ULTIPANEL + powersupply = true; + LCD_MESSAGEPGM(WELCOME_MSG); + lcd_update(); + #endif + } + +#endif // HAS_POWER_SWITCH + +/** + * M81: Turn off Power, including Power Supply, if there is one. + * + * This code should ALWAYS be available for EMERGENCY SHUTDOWN! + */ +inline void gcode_M81() { + disable_heater(); + st_synchronize(); + disable_e0(); + disable_e1(); + disable_e2(); + disable_e3(); + finishAndDisableSteppers(); + fanSpeed = 0; + delay(1000); // Wait 1 second before switching off + #if HAS_SUICIDE + st_synchronize(); + suicide(); + #elif HAS_POWER_SWITCH + OUT_WRITE(PS_ON_PIN, PS_ON_ASLEEP); + #endif + #ifdef ULTIPANEL + #if HAS_POWER_SWITCH + powersupply = false; + #endif + LCD_MESSAGEPGM(MACHINE_NAME " " MSG_OFF "."); + lcd_update(); + #endif +} + + +/** + * M82: Set E codes absolute (default) + */ +inline void gcode_M82() { axis_relative_modes[E_AXIS] = false; } + +/** + * M82: Set E codes relative while in Absolute Coordinates (G90) mode + */ +inline void gcode_M83() { axis_relative_modes[E_AXIS] = true; } + +/** + * M18, M84: Disable all stepper motors + */ +inline void gcode_M18_M84() { + if (code_seen('S')) { + stepper_inactive_time = code_value() * 1000; + } + else { + bool all_axis = !((code_seen(axis_codes[X_AXIS])) || (code_seen(axis_codes[Y_AXIS])) || (code_seen(axis_codes[Z_AXIS]))|| (code_seen(axis_codes[E_AXIS]))); + if (all_axis) { + st_synchronize(); + disable_e0(); + disable_e1(); + disable_e2(); + disable_e3(); + finishAndDisableSteppers(); + } + else { + st_synchronize(); + if (code_seen('X')) disable_x(); + if (code_seen('Y')) disable_y(); + if (code_seen('Z')) disable_z(); + #if ((E0_ENABLE_PIN != X_ENABLE_PIN) && (E1_ENABLE_PIN != Y_ENABLE_PIN)) // Only enable on boards that have seperate ENABLE_PINS + if (code_seen('E')) { + disable_e0(); + disable_e1(); + disable_e2(); + disable_e3(); + } + #endif + } + } +} + +/** + * M85: Set inactivity shutdown timer with parameter S. To disable set zero (default) + */ +inline void gcode_M85() { + if (code_seen('S')) max_inactive_time = code_value() * 1000; +} + +/** + * M92: Set inactivity shutdown timer with parameter S. To disable set zero (default) + */ +inline void gcode_M92() { + for(int8_t i=0; i < NUM_AXIS; i++) { + if (code_seen(axis_codes[i])) { + if (i == E_AXIS) { + float value = code_value(); + if (value < 20.0) { + float factor = axis_steps_per_unit[i] / value; // increase e constants if M92 E14 is given for netfab. + max_e_jerk *= factor; + max_feedrate[i] *= factor; + axis_steps_per_sqr_second[i] *= factor; + } + axis_steps_per_unit[i] = value; + } + else { + axis_steps_per_unit[i] = code_value(); + } + } + } +} + +/** + * M114: Output current position to serial port + */ +inline void gcode_M114() { + SERIAL_PROTOCOLPGM("X:"); + SERIAL_PROTOCOL(current_position[X_AXIS]); + SERIAL_PROTOCOLPGM(" Y:"); + SERIAL_PROTOCOL(current_position[Y_AXIS]); + SERIAL_PROTOCOLPGM(" Z:"); + SERIAL_PROTOCOL(current_position[Z_AXIS]); + SERIAL_PROTOCOLPGM(" E:"); + SERIAL_PROTOCOL(current_position[E_AXIS]); + + SERIAL_PROTOCOLPGM(MSG_COUNT_X); + SERIAL_PROTOCOL(float(st_get_position(X_AXIS))/axis_steps_per_unit[X_AXIS]); + SERIAL_PROTOCOLPGM(" Y:"); + SERIAL_PROTOCOL(float(st_get_position(Y_AXIS))/axis_steps_per_unit[Y_AXIS]); + SERIAL_PROTOCOLPGM(" Z:"); + SERIAL_PROTOCOL(float(st_get_position(Z_AXIS))/axis_steps_per_unit[Z_AXIS]); + + SERIAL_EOL; + + #ifdef SCARA + SERIAL_PROTOCOLPGM("SCARA Theta:"); + SERIAL_PROTOCOL(delta[X_AXIS]); + SERIAL_PROTOCOLPGM(" Psi+Theta:"); + SERIAL_PROTOCOL(delta[Y_AXIS]); + SERIAL_EOL; + + SERIAL_PROTOCOLPGM("SCARA Cal - Theta:"); + SERIAL_PROTOCOL(delta[X_AXIS]+home_offset[X_AXIS]); + SERIAL_PROTOCOLPGM(" Psi+Theta (90):"); + SERIAL_PROTOCOL(delta[Y_AXIS]-delta[X_AXIS]-90+home_offset[Y_AXIS]); + SERIAL_EOL; + + SERIAL_PROTOCOLPGM("SCARA step Cal - Theta:"); + SERIAL_PROTOCOL(delta[X_AXIS]/90*axis_steps_per_unit[X_AXIS]); + SERIAL_PROTOCOLPGM(" Psi+Theta:"); + SERIAL_PROTOCOL((delta[Y_AXIS]-delta[X_AXIS])/90*axis_steps_per_unit[Y_AXIS]); + SERIAL_EOL; SERIAL_EOL; + #endif +} + +/** + * M115: Capabilities string + */ +inline void gcode_M115() { + SERIAL_PROTOCOLPGM(MSG_M115_REPORT); +} + +/** + * M117: Set LCD Status Message + */ +inline void gcode_M117() { + char* codepos = strchr_pointer + 5; + char* starpos = strchr(codepos, '*'); + if (starpos) *starpos = '\0'; + lcd_setstatus(codepos); +} + +/** + * M119: Output endstop states to serial output + */ +inline void gcode_M119() { + SERIAL_PROTOCOLLN(MSG_M119_REPORT); + #if HAS_X_MIN + SERIAL_PROTOCOLPGM(MSG_X_MIN); + SERIAL_PROTOCOLLN(((READ(X_MIN_PIN)^X_MIN_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN)); + #endif + #if HAS_X_MAX + SERIAL_PROTOCOLPGM(MSG_X_MAX); + SERIAL_PROTOCOLLN(((READ(X_MAX_PIN)^X_MAX_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN)); + #endif + #if HAS_Y_MIN + SERIAL_PROTOCOLPGM(MSG_Y_MIN); + SERIAL_PROTOCOLLN(((READ(Y_MIN_PIN)^Y_MIN_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN)); + #endif + #if HAS_Y_MAX + SERIAL_PROTOCOLPGM(MSG_Y_MAX); + SERIAL_PROTOCOLLN(((READ(Y_MAX_PIN)^Y_MAX_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN)); + #endif + #if HAS_Z_MIN + SERIAL_PROTOCOLPGM(MSG_Z_MIN); + SERIAL_PROTOCOLLN(((READ(Z_MIN_PIN)^Z_MIN_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN)); + #endif + #if HAS_Z_MAX + SERIAL_PROTOCOLPGM(MSG_Z_MAX); + SERIAL_PROTOCOLLN(((READ(Z_MAX_PIN)^Z_MAX_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN)); + #endif + #if HAS_Z2_MAX + SERIAL_PROTOCOLPGM(MSG_Z2_MAX); + SERIAL_PROTOCOLLN(((READ(Z2_MAX_PIN)^Z2_MAX_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN)); + #endif + #if HAS_Z_PROBE + SERIAL_PROTOCOLPGM(MSG_Z_PROBE); + SERIAL_PROTOCOLLN(((READ(Z_PROBE_PIN)^Z_PROBE_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN)); + #endif +} + +/** + * M120: Enable endstops + */ +inline void gcode_M120() { enable_endstops(false); } + +/** + * M121: Disable endstops + */ +inline void gcode_M121() { enable_endstops(true); } + +#ifdef BLINKM + + /** + * M150: Set Status LED Color - Use R-U-B for R-G-B + */ + inline void gcode_M150() { + SendColors( + code_seen('R') ? (byte)code_value_short() : 0, + code_seen('U') ? (byte)code_value_short() : 0, + code_seen('B') ? (byte)code_value_short() : 0 + ); + } + +#endif // BLINKM + +/** + * M200: Set filament diameter and set E axis units to cubic millimeters (use S0 to set back to millimeters). + * T + * D + */ +inline void gcode_M200() { + int tmp_extruder = active_extruder; + if (code_seen('T')) { + tmp_extruder = code_value_short(); + if (tmp_extruder >= EXTRUDERS) { + SERIAL_ECHO_START; + SERIAL_ECHO(MSG_M200_INVALID_EXTRUDER); + return; + } + } + + if (code_seen('D')) { + float diameter = code_value(); + // setting any extruder filament size disables volumetric on the assumption that + // slicers either generate in extruder values as cubic mm or as as filament feeds + // for all extruders + volumetric_enabled = (diameter != 0.0); + if (volumetric_enabled) { + filament_size[tmp_extruder] = diameter; + // make sure all extruders have some sane value for the filament size + for (int i=0; i 1 + + /** + * M218 - set hotend offset (in mm), T X Y + */ + inline void gcode_M218() { + if (setTargetedHotend(218)) return; + + if (code_seen('X')) extruder_offset[X_AXIS][target_extruder] = code_value(); + if (code_seen('Y')) extruder_offset[Y_AXIS][target_extruder] = code_value(); + + #ifdef DUAL_X_CARRIAGE + if (code_seen('Z')) extruder_offset[Z_AXIS][target_extruder] = code_value(); + #endif + + SERIAL_ECHO_START; + SERIAL_ECHOPGM(MSG_HOTEND_OFFSET); + for (int e = 0; e < EXTRUDERS; e++) { + SERIAL_CHAR(' '); + SERIAL_ECHO(extruder_offset[X_AXIS][e]); + SERIAL_CHAR(','); + SERIAL_ECHO(extruder_offset[Y_AXIS][e]); + #ifdef DUAL_X_CARRIAGE + SERIAL_CHAR(','); + SERIAL_ECHO(extruder_offset[Z_AXIS][e]); + #endif + } + SERIAL_EOL; + } + +#endif // EXTRUDERS > 1 + +/** + * M220: Set speed percentage factor, aka "Feed Rate" (M220 S95) + */ +inline void gcode_M220() { + if (code_seen('S')) feedmultiply = code_value(); +} + +/** + * M221: Set extrusion percentage (M221 T0 S95) + */ +inline void gcode_M221() { + if (code_seen('S')) { + int sval = code_value(); + if (code_seen('T')) { + if (setTargetedHotend(221)) return; + extruder_multiply[target_extruder] = sval; + } + else { + extruder_multiply[active_extruder] = sval; + } + } +} + +/** + * M226: Wait until the specified pin reaches the state required (M226 P S) + */ +inline void gcode_M226() { + if (code_seen('P')) { + int pin_number = code_value(); + + int pin_state = code_seen('S') ? code_value() : -1; // required pin state - default is inverted + + if (pin_state >= -1 && pin_state <= 1) { + + for (int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(*sensitive_pins)); i++) { + if (sensitive_pins[i] == pin_number) { + pin_number = -1; + break; + } + } + + if (pin_number > -1) { + int target = LOW; + + st_synchronize(); + + pinMode(pin_number, INPUT); + + switch(pin_state){ + case 1: + target = HIGH; + break; + + case 0: + target = LOW; + break; + + case -1: + target = !digitalRead(pin_number); + break; + } + + while(digitalRead(pin_number) != target) { + manage_heater(); + manage_inactivity(); + lcd_update(); + } + + } // pin_number > -1 + } // pin_state -1 0 1 + } // code_seen('P') +} + +#if NUM_SERVOS > 0 + + /** + * M280: Set servo position absolute. P: servo index, S: angle or microseconds + */ + inline void gcode_M280() { + int servo_index = code_seen('P') ? code_value() : -1; + int servo_position = 0; + if (code_seen('S')) { + servo_position = code_value(); + if ((servo_index >= 0) && (servo_index < NUM_SERVOS)) { + #if SERVO_LEVELING + servos[servo_index].attach(0); + #endif + servos[servo_index].write(servo_position); + #if SERVO_LEVELING + delay(PROBE_SERVO_DEACTIVATION_DELAY); + servos[servo_index].detach(); + #endif + } + else { + SERIAL_ECHO_START; + SERIAL_ECHO("Servo "); + SERIAL_ECHO(servo_index); + SERIAL_ECHOLN(" out of range"); + } + } + else if (servo_index >= 0) { + SERIAL_PROTOCOL(MSG_OK); + SERIAL_PROTOCOL(" Servo "); + SERIAL_PROTOCOL(servo_index); + SERIAL_PROTOCOL(": "); + SERIAL_PROTOCOL(servos[servo_index].read()); + SERIAL_EOL; + } + } + +#endif // NUM_SERVOS > 0 + +#if BEEPER > 0 || defined(ULTRALCD) || defined(LCD_USE_I2C_BUZZER) + + /** + * M300: Play beep sound S P + */ + inline void gcode_M300() { + uint16_t beepS = code_seen('S') ? code_value_short() : 110; + uint32_t beepP = code_seen('P') ? code_value_long() : 1000; + if (beepS > 0) { + #if BEEPER > 0 + tone(BEEPER, beepS); + delay(beepP); + noTone(BEEPER); + #elif defined(ULTRALCD) + lcd_buzz(beepS, beepP); + #elif defined(LCD_USE_I2C_BUZZER) + lcd_buzz(beepP, beepS); + #endif + } + else { + delay(beepP); + } + } + +#endif // BEEPER>0 || ULTRALCD || LCD_USE_I2C_BUZZER + +#ifdef PIDTEMP + + /** + * M301: Set PID parameters P I D (and optionally C) + */ + inline void gcode_M301() { + + // multi-extruder PID patch: M301 updates or prints a single extruder's PID values + // default behaviour (omitting E parameter) is to update for extruder 0 only + int e = code_seen('E') ? code_value() : 0; // extruder being updated + + if (e < EXTRUDERS) { // catch bad input value + if (code_seen('P')) PID_PARAM(Kp, e) = code_value(); + if (code_seen('I')) PID_PARAM(Ki, e) = scalePID_i(code_value()); + if (code_seen('D')) PID_PARAM(Kd, e) = scalePID_d(code_value()); + #ifdef PID_ADD_EXTRUSION_RATE + if (code_seen('C')) PID_PARAM(Kc, e) = code_value(); + #endif + + updatePID(); + SERIAL_PROTOCOL(MSG_OK); + #ifdef PID_PARAMS_PER_EXTRUDER + SERIAL_PROTOCOL(" e:"); // specify extruder in serial output + SERIAL_PROTOCOL(e); + #endif // PID_PARAMS_PER_EXTRUDER + SERIAL_PROTOCOL(" p:"); + SERIAL_PROTOCOL(PID_PARAM(Kp, e)); + SERIAL_PROTOCOL(" i:"); + SERIAL_PROTOCOL(unscalePID_i(PID_PARAM(Ki, e))); + SERIAL_PROTOCOL(" d:"); + SERIAL_PROTOCOL(unscalePID_d(PID_PARAM(Kd, e))); + #ifdef PID_ADD_EXTRUSION_RATE + SERIAL_PROTOCOL(" c:"); + //Kc does not have scaling applied above, or in resetting defaults + SERIAL_PROTOCOL(PID_PARAM(Kc, e)); + #endif + SERIAL_EOL; + } + else { + SERIAL_ECHO_START; + SERIAL_ECHOLN(MSG_INVALID_EXTRUDER); + } + } + +#endif // PIDTEMP + +#ifdef PIDTEMPBED + + inline void gcode_M304() { + if (code_seen('P')) bedKp = code_value(); + if (code_seen('I')) bedKi = scalePID_i(code_value()); + if (code_seen('D')) bedKd = scalePID_d(code_value()); + + updatePID(); + SERIAL_PROTOCOL(MSG_OK); + SERIAL_PROTOCOL(" p:"); + SERIAL_PROTOCOL(bedKp); + SERIAL_PROTOCOL(" i:"); + SERIAL_PROTOCOL(unscalePID_i(bedKi)); + SERIAL_PROTOCOL(" d:"); + SERIAL_PROTOCOL(unscalePID_d(bedKd)); + SERIAL_EOL; + } + +#endif // PIDTEMPBED + +#if defined(CHDK) || HAS_PHOTOGRAPH + + /** + * M240: Trigger a camera by emulating a Canon RC-1 + * See http://www.doc-diy.net/photo/rc-1_hacked/ + */ + inline void gcode_M240() { + #ifdef CHDK + + OUT_WRITE(CHDK, HIGH); + chdkHigh = millis(); + chdkActive = true; + + #elif HAS_PHOTOGRAPH + + const uint8_t NUM_PULSES = 16; + const float PULSE_LENGTH = 0.01524; + for (int i = 0; i < NUM_PULSES; i++) { + WRITE(PHOTOGRAPH_PIN, HIGH); + _delay_ms(PULSE_LENGTH); + WRITE(PHOTOGRAPH_PIN, LOW); + _delay_ms(PULSE_LENGTH); + } + delay(7.33); + for (int i = 0; i < NUM_PULSES; i++) { + WRITE(PHOTOGRAPH_PIN, HIGH); + _delay_ms(PULSE_LENGTH); + WRITE(PHOTOGRAPH_PIN, LOW); + _delay_ms(PULSE_LENGTH); + } + + #endif // !CHDK && HAS_PHOTOGRAPH + } + +#endif // CHDK || PHOTOGRAPH_PIN + +#ifdef HAS_LCD_CONTRAST + + /** + * M250: Read and optionally set the LCD contrast + */ + inline void gcode_M250() { + if (code_seen('C')) lcd_setcontrast(code_value_short() & 0x3F); + SERIAL_PROTOCOLPGM("lcd contrast value: "); + SERIAL_PROTOCOL(lcd_contrast); + SERIAL_EOL; + } + +#endif // HAS_LCD_CONTRAST + +#ifdef PREVENT_DANGEROUS_EXTRUDE + + void set_extrude_min_temp(float temp) { extrude_min_temp = temp; } + + /** + * M302: Allow cold extrudes, or set the minimum extrude S. + */ + inline void gcode_M302() { + set_extrude_min_temp(code_seen('S') ? code_value() : 0); + } + +#endif // PREVENT_DANGEROUS_EXTRUDE + +/** + * M303: PID relay autotune + * S sets the target temperature. (default target temperature = 150C) + * E (-1 for the bed) + * C + */ +inline void gcode_M303() { + int e = code_seen('E') ? code_value_short() : 0; + int c = code_seen('C') ? code_value_short() : 5; + float temp = code_seen('S') ? code_value() : (e < 0 ? 70.0 : 150.0); + PID_autotune(temp, e, c); +} + +#ifdef SCARA + bool SCARA_move_to_cal(uint8_t delta_x, uint8_t delta_y) { + //SoftEndsEnabled = false; // Ignore soft endstops during calibration + //SERIAL_ECHOLN(" Soft endstops disabled "); + if (IsRunning()) { + //get_coordinates(); // For X Y Z E F + delta[X_AXIS] = delta_x; + delta[Y_AXIS] = delta_y; + calculate_SCARA_forward_Transform(delta); + destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS]; + destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS]; + prepare_move(); + //ClearToSend(); + return true; + } + return false; + } + + /** + * M360: SCARA calibration: Move to cal-position ThetaA (0 deg calibration) + */ + inline bool gcode_M360() { + SERIAL_ECHOLN(" Cal: Theta 0 "); + return SCARA_move_to_cal(0, 120); + } + + /** + * M361: SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree) + */ + inline bool gcode_M361() { + SERIAL_ECHOLN(" Cal: Theta 90 "); + return SCARA_move_to_cal(90, 130); + } + + /** + * M362: SCARA calibration: Move to cal-position PsiA (0 deg calibration) + */ + inline bool gcode_M362() { + SERIAL_ECHOLN(" Cal: Psi 0 "); + return SCARA_move_to_cal(60, 180); + } + + /** + * M363: SCARA calibration: Move to cal-position PsiB (90 deg calibration - steps per degree) + */ + inline bool gcode_M363() { + SERIAL_ECHOLN(" Cal: Psi 90 "); + return SCARA_move_to_cal(50, 90); + } + + /** + * M364: SCARA calibration: Move to cal-position PSIC (90 deg to Theta calibration position) + */ + inline bool gcode_M364() { + SERIAL_ECHOLN(" Cal: Theta-Psi 90 "); + return SCARA_move_to_cal(45, 135); + } + + /** + * M365: SCARA calibration: Scaling factor, X, Y, Z axis + */ + inline void gcode_M365() { + for (int8_t i = X_AXIS; i <= Z_AXIS; i++) { + if (code_seen(axis_codes[i])) { + axis_scaling[i] = code_value(); + } + } + } + +#endif // SCARA + +#ifdef EXT_SOLENOID + + void enable_solenoid(uint8_t num) { + switch(num) { + case 0: + OUT_WRITE(SOL0_PIN, HIGH); + break; + #if HAS_SOLENOID_1 + case 1: + OUT_WRITE(SOL1_PIN, HIGH); + break; + #endif + #if HAS_SOLENOID_2 + case 2: + OUT_WRITE(SOL2_PIN, HIGH); + break; + #endif + #if HAS_SOLENOID_3 + case 3: + OUT_WRITE(SOL3_PIN, HIGH); + break; + #endif + default: + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_INVALID_SOLENOID); + break; + } + } + + void enable_solenoid_on_active_extruder() { enable_solenoid(active_extruder); } + + void disable_all_solenoids() { + OUT_WRITE(SOL0_PIN, LOW); + OUT_WRITE(SOL1_PIN, LOW); + OUT_WRITE(SOL2_PIN, LOW); + OUT_WRITE(SOL3_PIN, LOW); + } + + /** + * M380: Enable solenoid on the active extruder + */ + inline void gcode_M380() { enable_solenoid_on_active_extruder(); } + + /** + * M381: Disable all solenoids + */ + inline void gcode_M381() { disable_all_solenoids(); } + +#endif // EXT_SOLENOID + +/** + * M400: Finish all moves + */ +inline void gcode_M400() { st_synchronize(); } + +#if defined(ENABLE_AUTO_BED_LEVELING) && (defined(SERVO_ENDSTOPS) || defined(Z_PROBE_ALLEN_KEY)) && not defined(Z_PROBE_SLED) + + /** + * M401: Engage Z Servo endstop if available + */ + inline void gcode_M401() { deploy_z_probe(); } + /** + * M402: Retract Z Servo endstop if enabled + */ + inline void gcode_M402() { stow_z_probe(); } + +#endif + +#ifdef FILAMENT_SENSOR + + /** + * M404: Display or set the nominal filament width (3mm, 1.75mm ) W<3.0> + */ + inline void gcode_M404() { + #if HAS_FILWIDTH + if (code_seen('W')) { + filament_width_nominal = code_value(); + } + else { + SERIAL_PROTOCOLPGM("Filament dia (nominal mm):"); + SERIAL_PROTOCOLLN(filament_width_nominal); + } + #endif + } + + /** + * M405: Turn on filament sensor for control + */ + inline void gcode_M405() { + if (code_seen('D')) meas_delay_cm = code_value(); + if (meas_delay_cm > MAX_MEASUREMENT_DELAY) meas_delay_cm = MAX_MEASUREMENT_DELAY; + + if (delay_index2 == -1) { //initialize the ring buffer if it has not been done since startup + int temp_ratio = widthFil_to_size_ratio(); + + for (delay_index1 = 0; delay_index1 < MAX_MEASUREMENT_DELAY + 1; ++delay_index1) + measurement_delay[delay_index1] = temp_ratio - 100; //subtract 100 to scale within a signed byte + + delay_index1 = delay_index2 = 0; + } + + filament_sensor = true; + + //SERIAL_PROTOCOLPGM("Filament dia (measured mm):"); + //SERIAL_PROTOCOL(filament_width_meas); + //SERIAL_PROTOCOLPGM("Extrusion ratio(%):"); + //SERIAL_PROTOCOL(extruder_multiply[active_extruder]); + } + + /** + * M406: Turn off filament sensor for control + */ + inline void gcode_M406() { filament_sensor = false; } + + /** + * M407: Get measured filament diameter on serial output + */ + inline void gcode_M407() { + SERIAL_PROTOCOLPGM("Filament dia (measured mm):"); + SERIAL_PROTOCOLLN(filament_width_meas); + } + +#endif // FILAMENT_SENSOR + +/** + * M500: Store settings in EEPROM + */ +inline void gcode_M500() { + Config_StoreSettings(); +} + +/** + * M501: Read settings from EEPROM + */ +inline void gcode_M501() { + Config_RetrieveSettings(); +} + +/** + * M502: Revert to default settings + */ +inline void gcode_M502() { + Config_ResetDefault(); +} + +/** + * M503: print settings currently in memory + */ +inline void gcode_M503() { + Config_PrintSettings(code_seen('S') && code_value() == 0); +} + +#ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + + /** + * M540: Set whether SD card print should abort on endstop hit (M540 S<0|1>) + */ + inline void gcode_M540() { + if (code_seen('S')) abort_on_endstop_hit = (code_value() > 0); + } + +#endif // ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + +#ifdef CUSTOM_M_CODE_SET_Z_PROBE_OFFSET + + inline void gcode_SET_Z_PROBE_OFFSET() { + float value; + if (code_seen('Z')) { + value = code_value(); + if (Z_PROBE_OFFSET_RANGE_MIN <= value && value <= Z_PROBE_OFFSET_RANGE_MAX) { + zprobe_zoffset = -value; // compare w/ line 278 of ConfigurationStore.cpp + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_ZPROBE_ZOFFSET " " MSG_OK); + SERIAL_EOL; + } + else { + SERIAL_ECHO_START; + SERIAL_ECHOPGM(MSG_ZPROBE_ZOFFSET); + SERIAL_ECHOPGM(MSG_Z_MIN); + SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MIN); + SERIAL_ECHOPGM(MSG_Z_MAX); + SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MAX); + SERIAL_EOL; + } + } + else { + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_ZPROBE_ZOFFSET " : "); + SERIAL_ECHO(-zprobe_zoffset); + SERIAL_EOL; + } + } + +#endif // CUSTOM_M_CODE_SET_Z_PROBE_OFFSET + +#ifdef FILAMENTCHANGEENABLE + + /** + * M600: Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] + */ + inline void gcode_M600() { + float target[NUM_AXIS], lastpos[NUM_AXIS], fr60 = feedrate / 60; + for (int i=0; i S) + */ + inline void gcode_M908() { + digitalPotWrite( + code_seen('P') ? code_value() : 0, + code_seen('S') ? code_value() : 0 + ); + } + +#endif // HAS_DIGIPOTSS + +#if HAS_MICROSTEPS + + // M350 Set microstepping mode. Warning: Steps per unit remains unchanged. S code sets stepping mode for all drivers. + inline void gcode_M350() { + if(code_seen('S')) for(int i=0;i<=4;i++) microstep_mode(i,code_value()); + for(int i=0;i= EXTRUDERS) { + SERIAL_ECHO_START; + SERIAL_CHAR('T'); + SERIAL_ECHO(tmp_extruder); + SERIAL_ECHOLN(MSG_INVALID_EXTRUDER); + } + else { + target_extruder = tmp_extruder; + + #if EXTRUDERS > 1 + bool make_move = false; + #endif + + if (code_seen('F')) { + + #if EXTRUDERS > 1 + make_move = true; + #endif + + next_feedrate = code_value(); + if (next_feedrate > 0.0) feedrate = next_feedrate; + } + #if EXTRUDERS > 1 + if (tmp_extruder != active_extruder) { + // Save current position to return to after applying extruder offset + set_destination_to_current(); + #ifdef DUAL_X_CARRIAGE + if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE && IsRunning() && + (delayed_move_time != 0 || current_position[X_AXIS] != x_home_pos(active_extruder))) { + // Park old head: 1) raise 2) move to park position 3) lower + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + TOOLCHANGE_PARK_ZLIFT, + current_position[E_AXIS], max_feedrate[Z_AXIS], active_extruder); + plan_buffer_line(x_home_pos(active_extruder), current_position[Y_AXIS], current_position[Z_AXIS] + TOOLCHANGE_PARK_ZLIFT, + current_position[E_AXIS], max_feedrate[X_AXIS], active_extruder); + plan_buffer_line(x_home_pos(active_extruder), current_position[Y_AXIS], current_position[Z_AXIS], + current_position[E_AXIS], max_feedrate[Z_AXIS], active_extruder); + st_synchronize(); + } + + // apply Y & Z extruder offset (x offset is already used in determining home pos) + current_position[Y_AXIS] = current_position[Y_AXIS] - + extruder_offset[Y_AXIS][active_extruder] + + extruder_offset[Y_AXIS][tmp_extruder]; + current_position[Z_AXIS] = current_position[Z_AXIS] - + extruder_offset[Z_AXIS][active_extruder] + + extruder_offset[Z_AXIS][tmp_extruder]; + + active_extruder = tmp_extruder; + + // This function resets the max/min values - the current position may be overwritten below. + axis_is_at_home(X_AXIS); + + if (dual_x_carriage_mode == DXC_FULL_CONTROL_MODE) { + current_position[X_AXIS] = inactive_extruder_x_pos; + inactive_extruder_x_pos = destination[X_AXIS]; + } + else if (dual_x_carriage_mode == DXC_DUPLICATION_MODE) { + active_extruder_parked = (active_extruder == 0); // this triggers the second extruder to move into the duplication position + if (active_extruder == 0 || active_extruder_parked) + current_position[X_AXIS] = inactive_extruder_x_pos; + else + current_position[X_AXIS] = destination[X_AXIS] + duplicate_extruder_x_offset; + inactive_extruder_x_pos = destination[X_AXIS]; + extruder_duplication_enabled = false; + } + else { + // record raised toolhead position for use by unpark + memcpy(raised_parked_position, current_position, sizeof(raised_parked_position)); + raised_parked_position[Z_AXIS] += TOOLCHANGE_UNPARK_ZLIFT; + active_extruder_parked = true; + delayed_move_time = 0; + } + #else // !DUAL_X_CARRIAGE + // Offset extruder (only by XY) + for (int i=X_AXIS; i<=Y_AXIS; i++) + current_position[i] += extruder_offset[i][tmp_extruder] - extruder_offset[i][active_extruder]; + // Set the new active extruder and position + active_extruder = tmp_extruder; + #endif // !DUAL_X_CARRIAGE + #ifdef DELTA + sync_plan_position_delta(); + #else + sync_plan_position(); + #endif + // Move to the old position if 'F' was in the parameters + if (make_move && IsRunning()) prepare_move(); + } + + #ifdef EXT_SOLENOID + st_synchronize(); + disable_all_solenoids(); + enable_solenoid_on_active_extruder(); + #endif // EXT_SOLENOID + + #endif // EXTRUDERS > 1 + SERIAL_ECHO_START; + SERIAL_ECHO(MSG_ACTIVE_EXTRUDER); + SERIAL_PROTOCOLLN((int)active_extruder); + } +} + +/** + * Process Commands and dispatch them to handlers + * This is called from the main loop() + */ +void process_commands() { + if (code_seen('G')) { + + int gCode = code_value_short(); + + switch(gCode) { + + // G0, G1 + case 0: + case 1: + gcode_G0_G1(); + break; + + // G2, G3 + #ifndef SCARA + case 2: // G2 - CW ARC + case 3: // G3 - CCW ARC + gcode_G2_G3(gCode == 2); + break; + #endif + + // G4 Dwell + case 4: + gcode_G4(); + break; + + #ifdef FWRETRACT + + case 10: // G10: retract + case 11: // G11: retract_recover + gcode_G10_G11(gCode == 10); + break; + + #endif //FWRETRACT + + case 28: // G28: Home all axes, one at a time + gcode_G28(); + break; + + #if defined(ENABLE_AUTO_BED_LEVELING) || defined(MESH_BED_LEVELING) + case 29: // G29 Detailed Z-Probe, probes the bed at 3 or more points. + gcode_G29(); + break; + #endif + + #ifdef ENABLE_AUTO_BED_LEVELING + + #ifndef Z_PROBE_SLED + + case 30: // G30 Single Z Probe + gcode_G30(); + break; + + #else // Z_PROBE_SLED + + case 31: // G31: dock the sled + case 32: // G32: undock the sled + dock_sled(gCode == 31); + break; + + #endif // Z_PROBE_SLED + + #endif // ENABLE_AUTO_BED_LEVELING + + case 90: // G90 + relative_mode = false; + break; + case 91: // G91 + relative_mode = true; + break; + + case 92: // G92 + gcode_G92(); + break; + } + } + + else if (code_seen('M')) { + switch(code_value_short()) { + #ifdef ULTIPANEL + case 0: // M0 - Unconditional stop - Wait for user button press on LCD + case 1: // M1 - Conditional stop - Wait for user button press on LCD + gcode_M0_M1(); + break; + #endif // ULTIPANEL + + case 17: + gcode_M17(); + break; + + #ifdef SDSUPPORT + + case 20: // M20 - list SD card + gcode_M20(); break; + case 21: // M21 - init SD card + gcode_M21(); break; + case 22: //M22 - release SD card + gcode_M22(); break; + case 23: //M23 - Select file + gcode_M23(); break; + case 24: //M24 - Start SD print + gcode_M24(); break; + case 25: //M25 - Pause SD print + gcode_M25(); break; + case 26: //M26 - Set SD index + gcode_M26(); break; + case 27: //M27 - Get SD status + gcode_M27(); break; + case 28: //M28 - Start SD write + gcode_M28(); break; + case 29: //M29 - Stop SD write + gcode_M29(); break; + case 30: //M30 Delete File + gcode_M30(); break; + case 32: //M32 - Select file and start SD print + gcode_M32(); break; + case 928: //M928 - Start SD write + gcode_M928(); break; + + #endif //SDSUPPORT + + case 31: //M31 take time since the start of the SD print or an M109 command + gcode_M31(); + break; + + case 42: //M42 -Change pin status via gcode + gcode_M42(); + break; + + #if defined(ENABLE_AUTO_BED_LEVELING) && defined(Z_PROBE_REPEATABILITY_TEST) + case 48: // M48 Z-Probe repeatability + gcode_M48(); + break; + #endif // ENABLE_AUTO_BED_LEVELING && Z_PROBE_REPEATABILITY_TEST + + case 104: // M104 + gcode_M104(); + break; + + case 112: // M112 Emergency Stop + gcode_M112(); + break; + + case 140: // M140 Set bed temp + gcode_M140(); + break; + + case 105: // M105 Read current temperature + gcode_M105(); + return; + break; + + case 109: // M109 Wait for temperature + gcode_M109(); + break; + + #if HAS_TEMP_BED + case 190: // M190 - Wait for bed heater to reach target. + gcode_M190(); + break; + #endif // HAS_TEMP_BED + + #if HAS_FAN + case 106: //M106 Fan On + gcode_M106(); + break; + case 107: //M107 Fan Off + gcode_M107(); + break; + #endif // HAS_FAN + + #ifdef BARICUDA + // PWM for HEATER_1_PIN + #if HAS_HEATER_1 + case 126: // M126 valve open + gcode_M126(); + break; + case 127: // M127 valve closed + gcode_M127(); + break; + #endif // HAS_HEATER_1 + + // PWM for HEATER_2_PIN + #if HAS_HEATER_2 + case 128: // M128 valve open + gcode_M128(); + break; + case 129: // M129 valve closed + gcode_M129(); + break; + #endif // HAS_HEATER_2 + #endif // BARICUDA + + #if HAS_POWER_SWITCH + + case 80: // M80 - Turn on Power Supply + gcode_M80(); + break; + + #endif // HAS_POWER_SWITCH + + case 81: // M81 - Turn off Power, including Power Supply, if possible + gcode_M81(); + break; + + case 82: + gcode_M82(); + break; + case 83: + gcode_M83(); + break; + case 18: //compatibility + case 84: // M84 + gcode_M18_M84(); + break; + case 85: // M85 + gcode_M85(); + break; + case 92: // M92 + gcode_M92(); + break; + case 115: // M115 + gcode_M115(); + break; + case 117: // M117 display message + gcode_M117(); + break; + case 114: // M114 + gcode_M114(); + break; + case 120: // M120 + gcode_M120(); + break; + case 121: // M121 + gcode_M121(); + break; + case 119: // M119 + gcode_M119(); + break; + //TODO: update for all axis, use for loop + + #ifdef BLINKM + + case 150: // M150 + gcode_M150(); + break; + + #endif //BLINKM + + case 200: // M200 D set filament diameter and set E axis units to cubic millimeters (use S0 to set back to millimeters). + gcode_M200(); + break; + case 201: // M201 + gcode_M201(); + break; + #if 0 // Not used for Sprinter/grbl gen6 + case 202: // M202 + gcode_M202(); + break; + #endif + case 203: // M203 max feedrate mm/sec + gcode_M203(); + break; + case 204: // M204 acclereration S normal moves T filmanent only moves + gcode_M204(); + break; + case 205: //M205 advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk + gcode_M205(); + break; + case 206: // M206 additional homing offset + gcode_M206(); + break; + + #ifdef DELTA + case 665: // M665 set delta configurations L R S + gcode_M665(); + break; + #endif + + #if defined(DELTA) || defined(Z_DUAL_ENDSTOPS) + case 666: // M666 set delta / dual endstop adjustment + gcode_M666(); + break; + #endif + + #ifdef FWRETRACT + case 207: //M207 - set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop] + gcode_M207(); + break; + case 208: // M208 - set retract recover length S[positive mm surplus to the M207 S*] F[feedrate mm/min] + gcode_M208(); + break; + case 209: // M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction. + gcode_M209(); + break; + #endif // FWRETRACT + + #if EXTRUDERS > 1 + case 218: // M218 - set hotend offset (in mm), T X Y + gcode_M218(); + break; + #endif + + case 220: // M220 S- set speed factor override percentage + gcode_M220(); + break; + + case 221: // M221 S- set extrude factor override percentage + gcode_M221(); + break; + + case 226: // M226 P S- Wait until the specified pin reaches the state required + gcode_M226(); + break; + + #if NUM_SERVOS > 0 + case 280: // M280 - set servo position absolute. P: servo index, S: angle or microseconds + gcode_M280(); + break; + #endif // NUM_SERVOS > 0 + + #if BEEPER > 0 || defined(ULTRALCD) || defined(LCD_USE_I2C_BUZZER) + case 300: // M300 - Play beep tone + gcode_M300(); + break; + #endif // BEEPER > 0 || ULTRALCD || LCD_USE_I2C_BUZZER + + #ifdef PIDTEMP + case 301: // M301 + gcode_M301(); + break; + #endif // PIDTEMP + + #ifdef PIDTEMPBED + case 304: // M304 + gcode_M304(); + break; + #endif // PIDTEMPBED + + #if defined(CHDK) || HAS_PHOTOGRAPH + case 240: // M240 Triggers a camera by emulating a Canon RC-1 : http://www.doc-diy.net/photo/rc-1_hacked/ + gcode_M240(); + break; + #endif // CHDK || PHOTOGRAPH_PIN + + #ifdef HAS_LCD_CONTRAST + case 250: // M250 Set LCD contrast value: C (value 0..63) + gcode_M250(); + break; + #endif // HAS_LCD_CONTRAST + + #ifdef PREVENT_DANGEROUS_EXTRUDE + case 302: // allow cold extrudes, or set the minimum extrude temperature + gcode_M302(); + break; + #endif // PREVENT_DANGEROUS_EXTRUDE + + case 303: // M303 PID autotune + gcode_M303(); + break; + + #ifdef SCARA + case 360: // M360 SCARA Theta pos1 + if (gcode_M360()) return; + break; + case 361: // M361 SCARA Theta pos2 + if (gcode_M361()) return; + break; + case 362: // M362 SCARA Psi pos1 + if (gcode_M362()) return; + break; + case 363: // M363 SCARA Psi pos2 + if (gcode_M363()) return; + break; + case 364: // M364 SCARA Psi pos3 (90 deg to Theta) + if (gcode_M364()) return; + break; + case 365: // M365 Set SCARA scaling for X Y Z + gcode_M365(); + break; + #endif // SCARA + + case 400: // M400 finish all moves + gcode_M400(); + break; + + #if defined(ENABLE_AUTO_BED_LEVELING) && (defined(SERVO_ENDSTOPS) || defined(Z_PROBE_ALLEN_KEY)) && not defined(Z_PROBE_SLED) + case 401: + gcode_M401(); + break; + case 402: + gcode_M402(); + break; + #endif + + #ifdef FILAMENT_SENSOR + case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or display nominal filament width + gcode_M404(); + break; + case 405: //M405 Turn on filament sensor for control + gcode_M405(); + break; + case 406: //M406 Turn off filament sensor for control + gcode_M406(); + break; + case 407: //M407 Display measured filament diameter + gcode_M407(); + break; + #endif // FILAMENT_SENSOR + + case 500: // M500 Store settings in EEPROM + gcode_M500(); + break; + case 501: // M501 Read settings from EEPROM + gcode_M501(); + break; + case 502: // M502 Revert to default settings + gcode_M502(); + break; + case 503: // M503 print settings currently in memory + gcode_M503(); + break; + + #ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + case 540: + gcode_M540(); + break; + #endif + + #ifdef CUSTOM_M_CODE_SET_Z_PROBE_OFFSET + case CUSTOM_M_CODE_SET_Z_PROBE_OFFSET: + gcode_SET_Z_PROBE_OFFSET(); + break; + #endif // CUSTOM_M_CODE_SET_Z_PROBE_OFFSET + + #ifdef FILAMENTCHANGEENABLE + case 600: //Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] + gcode_M600(); + break; + #endif // FILAMENTCHANGEENABLE + + #ifdef DUAL_X_CARRIAGE + case 605: + gcode_M605(); + break; + #endif // DUAL_X_CARRIAGE + + case 907: // M907 Set digital trimpot motor current using axis codes. + gcode_M907(); + break; + + #if HAS_DIGIPOTSS + case 908: // M908 Control digital trimpot directly. + gcode_M908(); + break; + #endif // HAS_DIGIPOTSS + + #if HAS_MICROSTEPS + + case 350: // M350 Set microstepping mode. Warning: Steps per unit remains unchanged. S code sets stepping mode for all drivers. + gcode_M350(); + break; + + case 351: // M351 Toggle MS1 MS2 pins directly, S# determines MS1 or MS2, X# sets the pin high/low. + gcode_M351(); + break; + + #endif // HAS_MICROSTEPS + + case 999: // M999: Restart after being Stopped + gcode_M999(); + break; + } + } + + else if (code_seen('T')) { + gcode_T(); + } + + else { + SERIAL_ECHO_START; + SERIAL_ECHOPGM(MSG_UNKNOWN_COMMAND); + SERIAL_ECHO(cmdbuffer[bufindr]); + SERIAL_ECHOLNPGM("\""); + } + + ClearToSend(); +} + +void FlushSerialRequestResend() { + //char cmdbuffer[bufindr][100]="Resend:"; + MYSERIAL.flush(); + SERIAL_PROTOCOLPGM(MSG_RESEND); + SERIAL_PROTOCOLLN(gcode_LastN + 1); + ClearToSend(); +} + +void ClearToSend() { + refresh_cmd_timeout(); + #ifdef SDSUPPORT + if (fromsd[bufindr]) return; + #endif + SERIAL_PROTOCOLLNPGM(MSG_OK); +} + +void get_coordinates() { + for (int i = 0; i < NUM_AXIS; i++) { + if (code_seen(axis_codes[i])) + destination[i] = code_value() + (axis_relative_modes[i] || relative_mode ? current_position[i] : 0); + else + destination[i] = current_position[i]; + } + if (code_seen('F')) { + next_feedrate = code_value(); + if (next_feedrate > 0.0) feedrate = next_feedrate; + } +} + +void get_arc_coordinates() { + #ifdef SF_ARC_FIX + bool relative_mode_backup = relative_mode; + relative_mode = true; + #endif + get_coordinates(); + #ifdef SF_ARC_FIX + relative_mode = relative_mode_backup; + #endif + + offset[0] = code_seen('I') ? code_value() : 0; + offset[1] = code_seen('J') ? code_value() : 0; +} + +void clamp_to_software_endstops(float target[3]) { + if (min_software_endstops) { + NOLESS(target[X_AXIS], min_pos[X_AXIS]); + NOLESS(target[Y_AXIS], min_pos[Y_AXIS]); + + float negative_z_offset = 0; + #ifdef ENABLE_AUTO_BED_LEVELING + if (Z_PROBE_OFFSET_FROM_EXTRUDER < 0) negative_z_offset += Z_PROBE_OFFSET_FROM_EXTRUDER; + if (home_offset[Z_AXIS] < 0) negative_z_offset += home_offset[Z_AXIS]; + #endif + NOLESS(target[Z_AXIS], min_pos[Z_AXIS] + negative_z_offset); + } + + if (max_software_endstops) { + NOMORE(target[X_AXIS], max_pos[X_AXIS]); + NOMORE(target[Y_AXIS], max_pos[Y_AXIS]); + NOMORE(target[Z_AXIS], max_pos[Z_AXIS]); + } +} + +#ifdef DELTA + + void recalc_delta_settings(float radius, float diagonal_rod) { + delta_tower1_x = -SIN_60 * radius; // front left tower + delta_tower1_y = -COS_60 * radius; + delta_tower2_x = SIN_60 * radius; // front right tower + delta_tower2_y = -COS_60 * radius; + delta_tower3_x = 0.0; // back middle tower + delta_tower3_y = radius; + delta_diagonal_rod_2 = sq(diagonal_rod); + } + + void calculate_delta(float cartesian[3]) { + delta[X_AXIS] = sqrt(delta_diagonal_rod_2 + - sq(delta_tower1_x-cartesian[X_AXIS]) + - sq(delta_tower1_y-cartesian[Y_AXIS]) + ) + cartesian[Z_AXIS]; + delta[Y_AXIS] = sqrt(delta_diagonal_rod_2 + - sq(delta_tower2_x-cartesian[X_AXIS]) + - sq(delta_tower2_y-cartesian[Y_AXIS]) + ) + cartesian[Z_AXIS]; + delta[Z_AXIS] = sqrt(delta_diagonal_rod_2 + - sq(delta_tower3_x-cartesian[X_AXIS]) + - sq(delta_tower3_y-cartesian[Y_AXIS]) + ) + cartesian[Z_AXIS]; + /* + SERIAL_ECHOPGM("cartesian x="); SERIAL_ECHO(cartesian[X_AXIS]); + SERIAL_ECHOPGM(" y="); SERIAL_ECHO(cartesian[Y_AXIS]); + SERIAL_ECHOPGM(" z="); SERIAL_ECHOLN(cartesian[Z_AXIS]); + + SERIAL_ECHOPGM("delta x="); SERIAL_ECHO(delta[X_AXIS]); + SERIAL_ECHOPGM(" y="); SERIAL_ECHO(delta[Y_AXIS]); + SERIAL_ECHOPGM(" z="); SERIAL_ECHOLN(delta[Z_AXIS]); + */ + } + + #ifdef ENABLE_AUTO_BED_LEVELING + + // Adjust print surface height by linear interpolation over the bed_level array. + void adjust_delta(float cartesian[3]) { + if (delta_grid_spacing[0] == 0 || delta_grid_spacing[1] == 0) return; // G29 not done! + + int half = (AUTO_BED_LEVELING_GRID_POINTS - 1) / 2; + float h1 = 0.001 - half, h2 = half - 0.001, + grid_x = max(h1, min(h2, cartesian[X_AXIS] / delta_grid_spacing[0])), + grid_y = max(h1, min(h2, cartesian[Y_AXIS] / delta_grid_spacing[1])); + int floor_x = floor(grid_x), floor_y = floor(grid_y); + float ratio_x = grid_x - floor_x, ratio_y = grid_y - floor_y, + z1 = bed_level[floor_x + half][floor_y + half], + z2 = bed_level[floor_x + half][floor_y + half + 1], + z3 = bed_level[floor_x + half + 1][floor_y + half], + z4 = bed_level[floor_x + half + 1][floor_y + half + 1], + left = (1 - ratio_y) * z1 + ratio_y * z2, + right = (1 - ratio_y) * z3 + ratio_y * z4, + offset = (1 - ratio_x) * left + ratio_x * right; + + delta[X_AXIS] += offset; + delta[Y_AXIS] += offset; + delta[Z_AXIS] += offset; + + /* + SERIAL_ECHOPGM("grid_x="); SERIAL_ECHO(grid_x); + SERIAL_ECHOPGM(" grid_y="); SERIAL_ECHO(grid_y); + SERIAL_ECHOPGM(" floor_x="); SERIAL_ECHO(floor_x); + SERIAL_ECHOPGM(" floor_y="); SERIAL_ECHO(floor_y); + SERIAL_ECHOPGM(" ratio_x="); SERIAL_ECHO(ratio_x); + SERIAL_ECHOPGM(" ratio_y="); SERIAL_ECHO(ratio_y); + SERIAL_ECHOPGM(" z1="); SERIAL_ECHO(z1); + SERIAL_ECHOPGM(" z2="); SERIAL_ECHO(z2); + SERIAL_ECHOPGM(" z3="); SERIAL_ECHO(z3); + SERIAL_ECHOPGM(" z4="); SERIAL_ECHO(z4); + SERIAL_ECHOPGM(" left="); SERIAL_ECHO(left); + SERIAL_ECHOPGM(" right="); SERIAL_ECHO(right); + SERIAL_ECHOPGM(" offset="); SERIAL_ECHOLN(offset); + */ + } + #endif // ENABLE_AUTO_BED_LEVELING + +#endif // DELTA + +#ifdef MESH_BED_LEVELING + + #if !defined(MIN) + #define MIN(_v1, _v2) (((_v1) < (_v2)) ? (_v1) : (_v2)) + #endif // ! MIN + +// This function is used to split lines on mesh borders so each segment is only part of one mesh area +void mesh_plan_buffer_line(float x, float y, float z, const float e, float feed_rate, const uint8_t &extruder, uint8_t x_splits=0xff, uint8_t y_splits=0xff) +{ + if (!mbl.active) { + plan_buffer_line(x, y, z, e, feed_rate, extruder); + set_current_to_destination(); + return; + } + int pix = mbl.select_x_index(current_position[X_AXIS]); + int piy = mbl.select_y_index(current_position[Y_AXIS]); + int ix = mbl.select_x_index(x); + int iy = mbl.select_y_index(y); + pix = MIN(pix, MESH_NUM_X_POINTS-2); + piy = MIN(piy, MESH_NUM_Y_POINTS-2); + ix = MIN(ix, MESH_NUM_X_POINTS-2); + iy = MIN(iy, MESH_NUM_Y_POINTS-2); + if (pix == ix && piy == iy) { + // Start and end on same mesh square + plan_buffer_line(x, y, z, e, feed_rate, extruder); + set_current_to_destination(); + return; + } + float nx, ny, ne, normalized_dist; + if (ix > pix && (x_splits) & BIT(ix)) { + nx = mbl.get_x(ix); + normalized_dist = (nx - current_position[X_AXIS])/(x - current_position[X_AXIS]); + ny = current_position[Y_AXIS] + (y - current_position[Y_AXIS]) * normalized_dist; + ne = current_position[E_AXIS] + (e - current_position[E_AXIS]) * normalized_dist; + x_splits ^= BIT(ix); + } else if (ix < pix && (x_splits) & BIT(pix)) { + nx = mbl.get_x(pix); + normalized_dist = (nx - current_position[X_AXIS])/(x - current_position[X_AXIS]); + ny = current_position[Y_AXIS] + (y - current_position[Y_AXIS]) * normalized_dist; + ne = current_position[E_AXIS] + (e - current_position[E_AXIS]) * normalized_dist; + x_splits ^= BIT(pix); + } else if (iy > piy && (y_splits) & BIT(iy)) { + ny = mbl.get_y(iy); + normalized_dist = (ny - current_position[Y_AXIS])/(y - current_position[Y_AXIS]); + nx = current_position[X_AXIS] + (x - current_position[X_AXIS]) * normalized_dist; + ne = current_position[E_AXIS] + (e - current_position[E_AXIS]) * normalized_dist; + y_splits ^= BIT(iy); + } else if (iy < piy && (y_splits) & BIT(piy)) { + ny = mbl.get_y(piy); + normalized_dist = (ny - current_position[Y_AXIS])/(y - current_position[Y_AXIS]); + nx = current_position[X_AXIS] + (x - current_position[X_AXIS]) * normalized_dist; + ne = current_position[E_AXIS] + (e - current_position[E_AXIS]) * normalized_dist; + y_splits ^= BIT(piy); + } else { + // Already split on a border + plan_buffer_line(x, y, z, e, feed_rate, extruder); + set_current_to_destination(); + return; + } + // Do the split and look for more borders + destination[X_AXIS] = nx; + destination[Y_AXIS] = ny; + destination[E_AXIS] = ne; + mesh_plan_buffer_line(nx, ny, z, ne, feed_rate, extruder, x_splits, y_splits); + destination[X_AXIS] = x; + destination[Y_AXIS] = y; + destination[E_AXIS] = e; + mesh_plan_buffer_line(x, y, z, e, feed_rate, extruder, x_splits, y_splits); +} +#endif // MESH_BED_LEVELING + +#ifdef PREVENT_DANGEROUS_EXTRUDE + + inline float prevent_dangerous_extrude(float &curr_e, float &dest_e) { + float de = dest_e - curr_e; + if (de) { + if (degHotend(active_extruder) < extrude_min_temp) { + curr_e = dest_e; // Behave as if the move really took place, but ignore E part + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_ERR_COLD_EXTRUDE_STOP); + return 0; + } + #ifdef PREVENT_LENGTHY_EXTRUDE + if (labs(de) > EXTRUDE_MAXLENGTH) { + curr_e = dest_e; // Behave as if the move really took place, but ignore E part + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_ERR_LONG_EXTRUDE_STOP); + return 0; + } + #endif + } + return de; + } + +#endif // PREVENT_DANGEROUS_EXTRUDE + +void prepare_move() { + clamp_to_software_endstops(destination); + refresh_cmd_timeout(); + + #ifdef PREVENT_DANGEROUS_EXTRUDE + (void)prevent_dangerous_extrude(current_position[E_AXIS], destination[E_AXIS]); + #endif + + #ifdef SCARA //for now same as delta-code + + float difference[NUM_AXIS]; + for (int8_t i = 0; i < NUM_AXIS; i++) difference[i] = destination[i] - current_position[i]; + + float cartesian_mm = sqrt(sq(difference[X_AXIS]) + sq(difference[Y_AXIS]) + sq(difference[Z_AXIS])); + if (cartesian_mm < 0.000001) { cartesian_mm = abs(difference[E_AXIS]); } + if (cartesian_mm < 0.000001) { return; } + float seconds = 6000 * cartesian_mm / feedrate / feedmultiply; + int steps = max(1, int(scara_segments_per_second * seconds)); + + //SERIAL_ECHOPGM("mm="); SERIAL_ECHO(cartesian_mm); + //SERIAL_ECHOPGM(" seconds="); SERIAL_ECHO(seconds); + //SERIAL_ECHOPGM(" steps="); SERIAL_ECHOLN(steps); + + for (int s = 1; s <= steps; s++) { + float fraction = float(s) / float(steps); + for (int8_t i = 0; i < NUM_AXIS; i++) destination[i] = current_position[i] + difference[i] * fraction; + + calculate_delta(destination); + //SERIAL_ECHOPGM("destination[X_AXIS]="); SERIAL_ECHOLN(destination[X_AXIS]); + //SERIAL_ECHOPGM("destination[Y_AXIS]="); SERIAL_ECHOLN(destination[Y_AXIS]); + //SERIAL_ECHOPGM("destination[Z_AXIS]="); SERIAL_ECHOLN(destination[Z_AXIS]); + //SERIAL_ECHOPGM("delta[X_AXIS]="); SERIAL_ECHOLN(delta[X_AXIS]); + //SERIAL_ECHOPGM("delta[Y_AXIS]="); SERIAL_ECHOLN(delta[Y_AXIS]); + //SERIAL_ECHOPGM("delta[Z_AXIS]="); SERIAL_ECHOLN(delta[Z_AXIS]); + + plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], destination[E_AXIS], feedrate/60*feedmultiply/100.0, active_extruder); + } + + #endif // SCARA + + #ifdef DELTA + + float difference[NUM_AXIS]; + for (int8_t i=0; i < NUM_AXIS; i++) difference[i] = destination[i] - current_position[i]; + + float cartesian_mm = sqrt(sq(difference[X_AXIS]) + sq(difference[Y_AXIS]) + sq(difference[Z_AXIS])); + if (cartesian_mm < 0.000001) cartesian_mm = abs(difference[E_AXIS]); + if (cartesian_mm < 0.000001) return; + float seconds = 6000 * cartesian_mm / feedrate / feedmultiply; + int steps = max(1, int(delta_segments_per_second * seconds)); + + // SERIAL_ECHOPGM("mm="); SERIAL_ECHO(cartesian_mm); + // SERIAL_ECHOPGM(" seconds="); SERIAL_ECHO(seconds); + // SERIAL_ECHOPGM(" steps="); SERIAL_ECHOLN(steps); + + for (int s = 1; s <= steps; s++) { + float fraction = float(s) / float(steps); + for (int8_t i = 0; i < NUM_AXIS; i++) destination[i] = current_position[i] + difference[i] * fraction; + calculate_delta(destination); + #ifdef ENABLE_AUTO_BED_LEVELING + adjust_delta(destination); + #endif + plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], destination[E_AXIS], feedrate/60*feedmultiply/100.0, active_extruder); + } + + #endif // DELTA + + #ifdef DUAL_X_CARRIAGE + if (active_extruder_parked) { + if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && active_extruder == 0) { + // move duplicate extruder into correct duplication position. + plan_set_position(inactive_extruder_x_pos, current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + plan_buffer_line(current_position[X_AXIS] + duplicate_extruder_x_offset, + current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], max_feedrate[X_AXIS], 1); + sync_plan_position(); + st_synchronize(); + extruder_duplication_enabled = true; + active_extruder_parked = false; + } + else if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE) { // handle unparking of head + if (current_position[E_AXIS] == destination[E_AXIS]) { + // This is a travel move (with no extrusion) + // Skip it, but keep track of the current position + // (so it can be used as the start of the next non-travel move) + if (delayed_move_time != 0xFFFFFFFFUL) { + set_current_to_destination(); + NOLESS(raised_parked_position[Z_AXIS], destination[Z_AXIS]); + delayed_move_time = millis(); + return; + } + } + delayed_move_time = 0; + // unpark extruder: 1) raise, 2) move into starting XY position, 3) lower + plan_buffer_line(raised_parked_position[X_AXIS], raised_parked_position[Y_AXIS], raised_parked_position[Z_AXIS], current_position[E_AXIS], max_feedrate[Z_AXIS], active_extruder); + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], raised_parked_position[Z_AXIS], current_position[E_AXIS], min(max_feedrate[X_AXIS], max_feedrate[Y_AXIS]), active_extruder); + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], max_feedrate[Z_AXIS], active_extruder); + active_extruder_parked = false; + } + } + #endif // DUAL_X_CARRIAGE + + #if !defined(DELTA) && !defined(SCARA) + // Do not use feedmultiply for E or Z only moves + if (current_position[X_AXIS] == destination[X_AXIS] && current_position[Y_AXIS] == destination[Y_AXIS]) { + line_to_destination(); + } + else { + #ifdef MESH_BED_LEVELING + mesh_plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], (feedrate/60)*(feedmultiply/100.0), active_extruder); + return; + #else + line_to_destination(feedrate * feedmultiply / 100.0); + #endif // MESH_BED_LEVELING + } + #endif // !(DELTA || SCARA) + + set_current_to_destination(); +} + +void prepare_arc_move(char isclockwise) { + float r = hypot(offset[X_AXIS], offset[Y_AXIS]); // Compute arc radius for mc_arc + + // Trace the arc + mc_arc(current_position, destination, offset, X_AXIS, Y_AXIS, Z_AXIS, feedrate*feedmultiply/60/100.0, r, isclockwise, active_extruder); + + // As far as the parser is concerned, the position is now == target. In reality the + // motion control system might still be processing the action and the real tool position + // in any intermediate location. + set_current_to_destination(); + refresh_cmd_timeout(); +} + +#if HAS_CONTROLLERFAN + +millis_t lastMotor = 0; // Last time a motor was turned on +millis_t lastMotorCheck = 0; // Last time the state was checked + +void controllerFan() { + millis_t ms = millis(); + if (ms >= lastMotorCheck + 2500) { // Not a time critical function, so we only check every 2500ms + lastMotorCheck = ms; + if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON || soft_pwm_bed > 0 + || E0_ENABLE_READ == E_ENABLE_ON // If any of the drivers are enabled... + #if EXTRUDERS > 1 + || E1_ENABLE_READ == E_ENABLE_ON + #if HAS_X2_ENABLE + || X2_ENABLE_READ == X_ENABLE_ON + #endif + #if EXTRUDERS > 2 + || E2_ENABLE_READ == E_ENABLE_ON + #if EXTRUDERS > 3 + || E3_ENABLE_READ == E_ENABLE_ON + #endif + #endif + #endif + ) { + lastMotor = ms; //... set time to NOW so the fan will turn on + } + uint8_t speed = (lastMotor == 0 || ms >= lastMotor + (CONTROLLERFAN_SECS * 1000UL)) ? 0 : CONTROLLERFAN_SPEED; + // allows digital or PWM fan output to be used (see M42 handling) + digitalWrite(CONTROLLERFAN_PIN, speed); + analogWrite(CONTROLLERFAN_PIN, speed); + } +} +#endif + +#ifdef SCARA +void calculate_SCARA_forward_Transform(float f_scara[3]) +{ + // Perform forward kinematics, and place results in delta[3] + // The maths and first version has been done by QHARLEY . Integrated into masterbranch 06/2014 and slightly restructured by Joachim Cerny in June 2014 + + float x_sin, x_cos, y_sin, y_cos; + + //SERIAL_ECHOPGM("f_delta x="); SERIAL_ECHO(f_scara[X_AXIS]); + //SERIAL_ECHOPGM(" y="); SERIAL_ECHO(f_scara[Y_AXIS]); + + x_sin = sin(f_scara[X_AXIS]/SCARA_RAD2DEG) * Linkage_1; + x_cos = cos(f_scara[X_AXIS]/SCARA_RAD2DEG) * Linkage_1; + y_sin = sin(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2; + y_cos = cos(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2; + + // SERIAL_ECHOPGM(" x_sin="); SERIAL_ECHO(x_sin); + // SERIAL_ECHOPGM(" x_cos="); SERIAL_ECHO(x_cos); + // SERIAL_ECHOPGM(" y_sin="); SERIAL_ECHO(y_sin); + // SERIAL_ECHOPGM(" y_cos="); SERIAL_ECHOLN(y_cos); + + delta[X_AXIS] = x_cos + y_cos + SCARA_offset_x; //theta + delta[Y_AXIS] = x_sin + y_sin + SCARA_offset_y; //theta+phi + + //SERIAL_ECHOPGM(" delta[X_AXIS]="); SERIAL_ECHO(delta[X_AXIS]); + //SERIAL_ECHOPGM(" delta[Y_AXIS]="); SERIAL_ECHOLN(delta[Y_AXIS]); +} + +void calculate_delta(float cartesian[3]){ + //reverse kinematics. + // Perform reversed kinematics, and place results in delta[3] + // The maths and first version has been done by QHARLEY . Integrated into masterbranch 06/2014 and slightly restructured by Joachim Cerny in June 2014 + + float SCARA_pos[2]; + static float SCARA_C2, SCARA_S2, SCARA_K1, SCARA_K2, SCARA_theta, SCARA_psi; + + SCARA_pos[X_AXIS] = cartesian[X_AXIS] * axis_scaling[X_AXIS] - SCARA_offset_x; //Translate SCARA to standard X Y + SCARA_pos[Y_AXIS] = cartesian[Y_AXIS] * axis_scaling[Y_AXIS] - SCARA_offset_y; // With scaling factor. + + #if (Linkage_1 == Linkage_2) + SCARA_C2 = ( ( sq(SCARA_pos[X_AXIS]) + sq(SCARA_pos[Y_AXIS]) ) / (2 * (float)L1_2) ) - 1; + #else + SCARA_C2 = ( sq(SCARA_pos[X_AXIS]) + sq(SCARA_pos[Y_AXIS]) - (float)L1_2 - (float)L2_2 ) / 45000; + #endif + + SCARA_S2 = sqrt( 1 - sq(SCARA_C2) ); + + SCARA_K1 = Linkage_1 + Linkage_2 * SCARA_C2; + SCARA_K2 = Linkage_2 * SCARA_S2; + + SCARA_theta = ( atan2(SCARA_pos[X_AXIS],SCARA_pos[Y_AXIS])-atan2(SCARA_K1, SCARA_K2) ) * -1; + SCARA_psi = atan2(SCARA_S2,SCARA_C2); + + delta[X_AXIS] = SCARA_theta * SCARA_RAD2DEG; // Multiply by 180/Pi - theta is support arm angle + delta[Y_AXIS] = (SCARA_theta + SCARA_psi) * SCARA_RAD2DEG; // - equal to sub arm angle (inverted motor) + delta[Z_AXIS] = cartesian[Z_AXIS]; + + /* + SERIAL_ECHOPGM("cartesian x="); SERIAL_ECHO(cartesian[X_AXIS]); + SERIAL_ECHOPGM(" y="); SERIAL_ECHO(cartesian[Y_AXIS]); + SERIAL_ECHOPGM(" z="); SERIAL_ECHOLN(cartesian[Z_AXIS]); + + SERIAL_ECHOPGM("scara x="); SERIAL_ECHO(SCARA_pos[X_AXIS]); + SERIAL_ECHOPGM(" y="); SERIAL_ECHOLN(SCARA_pos[Y_AXIS]); + + SERIAL_ECHOPGM("delta x="); SERIAL_ECHO(delta[X_AXIS]); + SERIAL_ECHOPGM(" y="); SERIAL_ECHO(delta[Y_AXIS]); + SERIAL_ECHOPGM(" z="); SERIAL_ECHOLN(delta[Z_AXIS]); + + SERIAL_ECHOPGM("C2="); SERIAL_ECHO(SCARA_C2); + SERIAL_ECHOPGM(" S2="); SERIAL_ECHO(SCARA_S2); + SERIAL_ECHOPGM(" Theta="); SERIAL_ECHO(SCARA_theta); + SERIAL_ECHOPGM(" Psi="); SERIAL_ECHOLN(SCARA_psi); + SERIAL_ECHOLN(" ");*/ +} + +#endif + +#ifdef TEMP_STAT_LEDS + + static bool red_led = false; + static millis_t next_status_led_update_ms = 0; + + void handle_status_leds(void) { + float max_temp = 0.0; + if (millis() > next_status_led_update_ms) { + next_status_led_update_ms += 500; // Update every 0.5s + for (int8_t cur_extruder = 0; cur_extruder < EXTRUDERS; ++cur_extruder) + max_temp = max(max(max_temp, degHotend(cur_extruder)), degTargetHotend(cur_extruder)); + #if HAS_TEMP_BED + max_temp = max(max(max_temp, degTargetBed()), degBed()); + #endif + bool new_led = (max_temp > 55.0) ? true : (max_temp < 54.0) ? false : red_led; + if (new_led != red_led) { + red_led = new_led; + digitalWrite(STAT_LED_RED, new_led ? HIGH : LOW); + digitalWrite(STAT_LED_BLUE, new_led ? LOW : HIGH); + } + } + } + +#endif + +void enable_all_steppers() { + enable_x(); + enable_y(); + enable_z(); + enable_e0(); + enable_e1(); + enable_e2(); + enable_e3(); +} + +void disable_all_steppers() { + disable_x(); + disable_y(); + disable_z(); + disable_e0(); + disable_e1(); + disable_e2(); + disable_e3(); +} + +/** + * Manage several activities: + * - Check for Filament Runout + * - Keep the command buffer full + * - Check for maximum inactive time between commands + * - Check for maximum inactive time between stepper commands + * - Check if pin CHDK needs to go LOW + * - Check for KILL button held down + * - Check for HOME button held down + * - Check if cooling fan needs to be switched on + * - Check if an idle but hot extruder needs filament extruded (EXTRUDER_RUNOUT_PREVENT) + */ +void manage_inactivity(bool ignore_stepper_queue/*=false*/) { + + #if HAS_FILRUNOUT + if (card.sdprinting && !(READ(FILRUNOUT_PIN) ^ FIL_RUNOUT_INVERTING)) + filrunout(); + #endif + + if (buflen < BUFSIZE - 1) get_command(); + + millis_t ms = millis(); + + if (max_inactive_time && ms > previous_cmd_ms + max_inactive_time) kill(); + + if (stepper_inactive_time && ms > previous_cmd_ms + stepper_inactive_time + && !ignore_stepper_queue && !blocks_queued()) + disable_all_steppers(); + + #ifdef CHDK // Check if pin should be set to LOW after M240 set it to HIGH + if (chdkActive && ms > chdkHigh + CHDK_DELAY) { + chdkActive = false; + WRITE(CHDK, LOW); + } + #endif + + #if HAS_KILL + + // Check if the kill button was pressed and wait just in case it was an accidental + // key kill key press + // ------------------------------------------------------------------------------- + static int killCount = 0; // make the inactivity button a bit less responsive + const int KILL_DELAY = 750; + if (!READ(KILL_PIN)) + killCount++; + else if (killCount > 0) + killCount--; + + // Exceeded threshold and we can confirm that it was not accidental + // KILL the machine + // ---------------------------------------------------------------- + if (killCount >= KILL_DELAY) kill(); + #endif + + #if HAS_HOME + // Check to see if we have to home, use poor man's debouncer + // --------------------------------------------------------- + static int homeDebounceCount = 0; // poor man's debouncing count + const int HOME_DEBOUNCE_DELAY = 750; + if (!READ(HOME_PIN)) { + if (!homeDebounceCount) { + enqueuecommands_P(PSTR("G28")); + LCD_ALERTMESSAGEPGM(MSG_AUTO_HOME); + } + if (homeDebounceCount < HOME_DEBOUNCE_DELAY) + homeDebounceCount++; + else + homeDebounceCount = 0; + } + #endif + + #if HAS_CONTROLLERFAN + controllerFan(); // Check if fan should be turned on to cool stepper drivers down + #endif + + #ifdef EXTRUDER_RUNOUT_PREVENT + if (ms > previous_cmd_ms + EXTRUDER_RUNOUT_SECONDS * 1000) + if (degHotend(active_extruder) > EXTRUDER_RUNOUT_MINTEMP) { + bool oldstatus; + switch(active_extruder) { + case 0: + oldstatus = E0_ENABLE_READ; + enable_e0(); + break; + #if EXTRUDERS > 1 + case 1: + oldstatus = E1_ENABLE_READ; + enable_e1(); + break; + #if EXTRUDERS > 2 + case 2: + oldstatus = E2_ENABLE_READ; + enable_e2(); + break; + #if EXTRUDERS > 3 + case 3: + oldstatus = E3_ENABLE_READ; + enable_e3(); + break; + #endif + #endif + #endif + } + float oldepos = current_position[E_AXIS], oldedes = destination[E_AXIS]; + plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], + destination[E_AXIS] + EXTRUDER_RUNOUT_EXTRUDE * EXTRUDER_RUNOUT_ESTEPS / axis_steps_per_unit[E_AXIS], + EXTRUDER_RUNOUT_SPEED / 60. * EXTRUDER_RUNOUT_ESTEPS / axis_steps_per_unit[E_AXIS], active_extruder); + current_position[E_AXIS] = oldepos; + destination[E_AXIS] = oldedes; + plan_set_e_position(oldepos); + previous_cmd_ms = ms; // refresh_cmd_timeout() + st_synchronize(); + switch(active_extruder) { + case 0: + E0_ENABLE_WRITE(oldstatus); + break; + #if EXTRUDERS > 1 + case 1: + E1_ENABLE_WRITE(oldstatus); + break; + #if EXTRUDERS > 2 + case 2: + E2_ENABLE_WRITE(oldstatus); + break; + #if EXTRUDERS > 3 + case 3: + E3_ENABLE_WRITE(oldstatus); + break; + #endif + #endif + #endif + } + } + #endif + + #ifdef DUAL_X_CARRIAGE + // handle delayed move timeout + if (delayed_move_time && ms > delayed_move_time + 1000 && IsRunning()) { + // travel moves have been received so enact them + delayed_move_time = 0xFFFFFFFFUL; // force moves to be done + set_destination_to_current(); + prepare_move(); + } + #endif + + #ifdef TEMP_STAT_LEDS + handle_status_leds(); + #endif + + check_axes_activity(); +} + +void kill() +{ + cli(); // Stop interrupts + disable_heater(); + + disable_all_steppers(); + + #if HAS_POWER_SWITCH + pinMode(PS_ON_PIN, INPUT); + #endif + + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_ERR_KILLED); + LCD_ALERTMESSAGEPGM(MSG_KILLED); + + // FMC small patch to update the LCD before ending + sei(); // enable interrupts + for (int i = 5; i--; lcd_update()) delay(200); // Wait a short time + cli(); // disable interrupts + suicide(); + while(1) { /* Intentionally left empty */ } // Wait for reset +} + +#ifdef FILAMENT_RUNOUT_SENSOR + void filrunout() + { + if filrunoutEnqued == false { + filrunoutEnqued = true; + enqueuecommand("M600"); + } + } +#endif + +void Stop() +{ + disable_heater(); + if (IsRunning()) { + Running = false; + Stopped_gcode_LastN = gcode_LastN; // Save last g_code for restart + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_ERR_STOPPED); + LCD_MESSAGEPGM(MSG_STOPPED); + } +} + +#ifdef FAST_PWM_FAN +void setPwmFrequency(uint8_t pin, int val) +{ + val &= 0x07; + switch(digitalPinToTimer(pin)) + { + + #if defined(TCCR0A) + case TIMER0A: + case TIMER0B: +// TCCR0B &= ~(_BV(CS00) | _BV(CS01) | _BV(CS02)); +// TCCR0B |= val; + break; + #endif + + #if defined(TCCR1A) + case TIMER1A: + case TIMER1B: +// TCCR1B &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12)); +// TCCR1B |= val; + break; + #endif + + #if defined(TCCR2) + case TIMER2: + case TIMER2: + TCCR2 &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12)); + TCCR2 |= val; + break; + #endif + + #if defined(TCCR2A) + case TIMER2A: + case TIMER2B: + TCCR2B &= ~(_BV(CS20) | _BV(CS21) | _BV(CS22)); + TCCR2B |= val; + break; + #endif + + #if defined(TCCR3A) + case TIMER3A: + case TIMER3B: + case TIMER3C: + TCCR3B &= ~(_BV(CS30) | _BV(CS31) | _BV(CS32)); + TCCR3B |= val; + break; + #endif + + #if defined(TCCR4A) + case TIMER4A: + case TIMER4B: + case TIMER4C: + TCCR4B &= ~(_BV(CS40) | _BV(CS41) | _BV(CS42)); + TCCR4B |= val; + break; + #endif + + #if defined(TCCR5A) + case TIMER5A: + case TIMER5B: + case TIMER5C: + TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52)); + TCCR5B |= val; + break; + #endif + + } +} +#endif //FAST_PWM_FAN + +bool setTargetedHotend(int code){ + target_extruder = active_extruder; + if (code_seen('T')) { + target_extruder = code_value_short(); + if (target_extruder >= EXTRUDERS) { + SERIAL_ECHO_START; + switch(code){ + case 104: + SERIAL_ECHO(MSG_M104_INVALID_EXTRUDER); + break; + case 105: + SERIAL_ECHO(MSG_M105_INVALID_EXTRUDER); + break; + case 109: + SERIAL_ECHO(MSG_M109_INVALID_EXTRUDER); + break; + case 218: + SERIAL_ECHO(MSG_M218_INVALID_EXTRUDER); + break; + case 221: + SERIAL_ECHO(MSG_M221_INVALID_EXTRUDER); + break; + } + SERIAL_ECHOLN(target_extruder); + return true; + } + } + return false; +} + +float calculate_volumetric_multiplier(float diameter) { + if (!volumetric_enabled || diameter == 0) return 1.0; + float d2 = diameter * 0.5; + return 1.0 / (M_PI * d2 * d2); +} + +void calculate_volumetric_multipliers() { + for (int i=0; i 1 + + #if EXTRUDERS > 4 + #error The maximum number of EXTRUDERS in Marlin is 4. + #endif + + #ifdef TEMP_SENSOR_1_AS_REDUNDANT + #error EXTRUDERS must be 1 with TEMP_SENSOR_1_AS_REDUNDANT. + #endif + + #ifdef HEATERS_PARALLEL + #error EXTRUDERS must be 1 with HEATERS_PARALLEL. + #endif + + #ifdef Y_DUAL_STEPPER_DRIVERS + #error EXTRUDERS must be 1 with Y_DUAL_STEPPER_DRIVERS. + #endif + + #ifdef Z_DUAL_STEPPER_DRIVERS + #error EXTRUDERS must be 1 with Z_DUAL_STEPPER_DRIVERS. + #endif + + #endif // EXTRUDERS > 1 + + /** + * Limited number of servos + */ + #if NUM_SERVOS > 4 + #error The maximum number of SERVOS in Marlin is 4. + #endif + + /** + * Required LCD language + */ + #if !defined(DOGLCD) && defined(ULTRA_LCD) && !defined(DISPLAY_CHARSET_HD44780_JAPAN) && !defined(DISPLAY_CHARSET_HD44780_WESTERN) + #error You must enable either DISPLAY_CHARSET_HD44780_JAPAN or DISPLAY_CHARSET_HD44780_WESTERN for your LCD controller. + #endif + + /** + * Mesh Bed Leveling + */ + #ifdef MESH_BED_LEVELING + #ifdef DELTA + #error MESH_BED_LEVELING does not yet support DELTA printers + #endif + #ifdef ENABLE_AUTO_BED_LEVELING + #error Select ENABLE_AUTO_BED_LEVELING or MESH_BED_LEVELING, not both + #endif + #if MESH_NUM_X_POINTS > 7 || MESH_NUM_Y_POINTS > 7 + #error MESH_NUM_X_POINTS and MESH_NUM_Y_POINTS need to be less than 8 + #endif + #endif + + /** + * Auto Bed Leveling + */ + #ifdef ENABLE_AUTO_BED_LEVELING + + /** + * Require a Z Min pin + */ + #if Z_MIN_PIN == -1 + #if Z_PROBE_PIN == -1 || (!defined(Z_PROBE_ENDSTOP) || defined(DISABLE_Z_PROBE_ENDSTOP)) // It's possible for someone to set a pin for the Z Probe, but not enable it. + #ifdef Z_PROBE_REPEATABILITY_TEST + #error You must have a Z_MIN or Z_PROBE endstop to enable Z_PROBE_REPEATABILITY_TEST. + #else + #error ENABLE_AUTO_BED_LEVELING requires a Z_MIN or Z_PROBE endstop. Z_MIN_PIN or Z_PROBE_PIN must point to a valid hardware pin. + #endif + #endif + #endif + + /** + * Require a Z Probe Pin if Z_PROBE_ENDSTOP is enabled. + */ + #if defined(Z_PROBE_ENDSTOP) + #ifndef Z_PROBE_PIN + #error You must have a Z_PROBE_PIN defined in your pins_XXXX.h file if you enable Z_PROBE_ENDSTOP + #endif + #if Z_PROBE_PIN == -1 + #error You must set Z_PROBE_PIN to a valid pin if you enable Z_PROBE_ENDSTOP + #endif +// Forcing Servo definitions can break some hall effect sensor setups. Leaving these here for further comment. +// #ifndef NUM_SERVOS +// #error You must have NUM_SERVOS defined and there must be at least 1 configured to use Z_PROBE_ENDSTOP +// #endif +// #if defined(NUM_SERVOS) && NUM_SERVOS < 1 +// #error You must have at least 1 servo defined for NUM_SERVOS to use Z_PROBE_ENDSTOP +// #endif +// #ifndef SERVO_ENDSTOPS +// #error You must have SERVO_ENDSTOPS defined and have the Z index set to at least 0 or above to use Z_PROBE_ENDSTOP +// #endif +// #ifndef SERVO_ENDSTOP_ANGLES +// #error You must have SERVO_ENDSTOP_ANGLES defined for Z Extend and Retract to use Z_PROBE_AND_ENSTOP +// #endif + #endif + /** + * Check if Probe_Offset * Grid Points is greater than Probing Range + */ + #ifdef AUTO_BED_LEVELING_GRID + + // Make sure probing points are reachable + #if LEFT_PROBE_BED_POSITION < MIN_PROBE_X + #error "The given LEFT_PROBE_BED_POSITION can't be reached by the probe." + #elif RIGHT_PROBE_BED_POSITION > MAX_PROBE_X + #error "The given RIGHT_PROBE_BED_POSITION can't be reached by the probe." + #elif FRONT_PROBE_BED_POSITION < MIN_PROBE_Y + #error "The given FRONT_PROBE_BED_POSITION can't be reached by the probe." + #elif BACK_PROBE_BED_POSITION > MAX_PROBE_Y + #error "The given BACK_PROBE_BED_POSITION can't be reached by the probe." + #endif + + #define PROBE_SIZE_X (X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) + #define PROBE_SIZE_Y (Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) + #define PROBE_AREA_WIDTH (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION) + #define PROBE_AREA_DEPTH (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION) + #if X_PROBE_OFFSET_FROM_EXTRUDER < 0 + #if PROBE_SIZE_X <= -PROBE_AREA_WIDTH + #define X_PROBE_ERROR + #endif + #elif PROBE_SIZE_X >= PROBE_AREA_WIDTH + #define X_PROBE_ERROR + #endif + #ifdef X_PROBE_ERROR + #error The X axis probing range is too small to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS + #endif + #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0 + #if PROBE_SIZE_Y <= -PROBE_AREA_DEPTH + #define Y_PROBE_ERROR + #endif + #elif PROBE_SIZE_Y >= PROBE_AREA_DEPTH + #define Y_PROBE_ERROR + #endif + #ifdef Y_PROBE_ERROR + #error The Y axis probing range is too small to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS + #endif + + #undef PROBE_SIZE_X + #undef PROBE_SIZE_Y + #undef PROBE_AREA_WIDTH + #undef PROBE_AREA_DEPTH + + #else // !AUTO_BED_LEVELING_GRID + + // Check the triangulation points + #if ABL_PROBE_PT_1_X < MIN_PROBE_X || ABL_PROBE_PT_1_X > MAX_PROBE_X + #error "The given ABL_PROBE_PT_1_X can't be reached by the probe." + #elif ABL_PROBE_PT_2_X < MIN_PROBE_X || ABL_PROBE_PT_2_X > MAX_PROBE_X + #error "The given ABL_PROBE_PT_2_X can't be reached by the probe." + #elif ABL_PROBE_PT_3_X < MIN_PROBE_X || ABL_PROBE_PT_3_X > MAX_PROBE_X + #error "The given ABL_PROBE_PT_3_X can't be reached by the probe." + #elif ABL_PROBE_PT_1_Y < MIN_PROBE_Y || ABL_PROBE_PT_1_Y > MAX_PROBE_Y + #error "The given ABL_PROBE_PT_1_Y can't be reached by the probe." + #elif ABL_PROBE_PT_2_Y < MIN_PROBE_Y || ABL_PROBE_PT_2_Y > MAX_PROBE_Y + #error "The given ABL_PROBE_PT_2_Y can't be reached by the probe." + #elif ABL_PROBE_PT_3_Y < MIN_PROBE_Y || ABL_PROBE_PT_3_Y > MAX_PROBE_Y + #error "The given ABL_PROBE_PT_3_Y can't be reached by the probe." + #endif + + #endif // !AUTO_BED_LEVELING_GRID + + #endif // ENABLE_AUTO_BED_LEVELING + + /** + * ULTIPANEL encoder + */ + #if defined(ULTIPANEL) && !defined(NEWPANEL) && !defined(SR_LCD_2W_NL) && !defined(SHIFT_CLK) + #error ULTIPANEL requires some kind of encoder. + #endif + + /** + * Delta has limited bed leveling options + */ + #ifdef DELTA + + #ifdef ENABLE_AUTO_BED_LEVELING + + #ifndef AUTO_BED_LEVELING_GRID + #error Only AUTO_BED_LEVELING_GRID is supported with DELTA. + #endif + + #ifdef Z_PROBE_SLED + #error You cannot use Z_PROBE_SLED with DELTA. + #endif + + #ifdef Z_PROBE_REPEATABILITY_TEST + #error Z_PROBE_REPEATABILITY_TEST is not supported with DELTA yet. + #endif + + #endif + + #endif + + /** + * Allen Key Z Probe requires Auto Bed Leveling grid and Delta + */ + #if defined(Z_PROBE_ALLEN_KEY) && !(defined(AUTO_BED_LEVELING_GRID) && defined(DELTA)) + #error Invalid use of Z_PROBE_ALLEN_KEY. + #endif + + /** + * Dual X Carriage requirements + */ + #ifdef DUAL_X_CARRIAGE + #if EXTRUDERS == 1 || defined(COREXY) \ + || !HAS_X2_ENABLE || !HAS_X2_STEP || !HAS_X2_DIR \ + || !defined(X2_HOME_POS) || !defined(X2_MIN_POS) || !defined(X2_MAX_POS) \ + || !HAS_X_MAX + #error Missing or invalid definitions for DUAL_X_CARRIAGE mode. + #endif + #if X_HOME_DIR != -1 || X2_HOME_DIR != 1 + #error Please use canonical x-carriage assignment. + #endif + #endif // DUAL_X_CARRIAGE + + /** + * Make sure auto fan pins don't conflict with the fan pin + */ + #if HAS_AUTO_FAN && HAS_FAN + #if EXTRUDER_0_AUTO_FAN_PIN == FAN_PIN + #error You cannot set EXTRUDER_0_AUTO_FAN_PIN equal to FAN_PIN + #elif EXTRUDER_1_AUTO_FAN_PIN == FAN_PIN + #error You cannot set EXTRUDER_1_AUTO_FAN_PIN equal to FAN_PIN + #elif EXTRUDER_2_AUTO_FAN_PIN == FAN_PIN + #error You cannot set EXTRUDER_2_AUTO_FAN_PIN equal to FAN_PIN + #elif EXTRUDER_3_AUTO_FAN_PIN == FAN_PIN + #error You cannot set EXTRUDER_3_AUTO_FAN_PIN equal to FAN_PIN + #endif + #endif + + #if HAS_FAN && CONTROLLERFAN_PIN == FAN_PIN + #error You cannot set CONTROLLERFAN_PIN equal to FAN_PIN + #endif + + /** + * Test required HEATER defines + */ + #if EXTRUDERS > 3 + #if !HAS_HEATER_3 + #error HEATER_3_PIN not defined for this board + #endif + #elif EXTRUDERS > 2 + #if !HAS_HEATER_2 + #error HEATER_2_PIN not defined for this board + #endif + #elif EXTRUDERS > 1 || defined(HEATERS_PARALLEL) + #if !HAS_HEATER_1 + #error HEATER_1_PIN not defined for this board + #endif + #endif + #if !HAS_HEATER_0 + #error HEATER_0_PIN not defined for this board + #endif + + /** + * Warnings for old configurations + */ + #ifdef X_HOME_RETRACT_MM + #error [XYZ]_HOME_RETRACT_MM settings have been renamed [XYZ]_HOME_BUMP_MM + #endif + +#endif //SANITYCHECK_H diff --git a/Marlin/Sd2Card.cpp b/Marlin/Sd2Card.cpp new file mode 100644 index 0000000..1182c99 --- /dev/null +++ b/Marlin/Sd2Card.cpp @@ -0,0 +1,723 @@ +/* Arduino Sd2Card Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino Sd2Card Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino Sd2Card Library. If not, see + * . + */ +#include "Marlin.h" + +#ifdef SDSUPPORT +#include "Sd2Card.h" +//------------------------------------------------------------------------------ +#ifndef SOFTWARE_SPI +// functions for hardware SPI +//------------------------------------------------------------------------------ +// make sure SPCR rate is in expected bits +#if (SPR0 != 0 || SPR1 != 1) +#error unexpected SPCR bits +#endif +/** + * Initialize hardware SPI + * Set SCK rate to F_CPU/pow(2, 1 + spiRate) for spiRate [0,6] + */ +static void spiInit(uint8_t spiRate) { + // See avr processor documentation + SPCR = BIT(SPE) | BIT(MSTR) | (spiRate >> 1); + SPSR = spiRate & 1 || spiRate == 6 ? 0 : BIT(SPI2X); +} +//------------------------------------------------------------------------------ +/** SPI receive a byte */ +static uint8_t spiRec() { + SPDR = 0XFF; + while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } + return SPDR; +} +//------------------------------------------------------------------------------ +/** SPI read data - only one call so force inline */ +static inline __attribute__((always_inline)) +void spiRead(uint8_t* buf, uint16_t nbyte) { + if (nbyte-- == 0) return; + SPDR = 0XFF; + for (uint16_t i = 0; i < nbyte; i++) { + while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } + buf[i] = SPDR; + SPDR = 0XFF; + } + while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } + buf[nbyte] = SPDR; +} +//------------------------------------------------------------------------------ +/** SPI send a byte */ +static void spiSend(uint8_t b) { + SPDR = b; + while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } +} +//------------------------------------------------------------------------------ +/** SPI send block - only one call so force inline */ +static inline __attribute__((always_inline)) + void spiSendBlock(uint8_t token, const uint8_t* buf) { + SPDR = token; + for (uint16_t i = 0; i < 512; i += 2) { + while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } + SPDR = buf[i]; + while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } + SPDR = buf[i + 1]; + } + while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } +} +//------------------------------------------------------------------------------ +#else // SOFTWARE_SPI +//------------------------------------------------------------------------------ +/** nop to tune soft SPI timing */ +#define nop asm volatile ("nop\n\t") +//------------------------------------------------------------------------------ +/** Soft SPI receive byte */ +static uint8_t spiRec() { + uint8_t data = 0; + // no interrupts during byte receive - about 8 us + cli(); + // output pin high - like sending 0XFF + fastDigitalWrite(SPI_MOSI_PIN, HIGH); + + for (uint8_t i = 0; i < 8; i++) { + fastDigitalWrite(SPI_SCK_PIN, HIGH); + + // adjust so SCK is nice + nop; + nop; + + data <<= 1; + + if (fastDigitalRead(SPI_MISO_PIN)) data |= 1; + + fastDigitalWrite(SPI_SCK_PIN, LOW); + } + // enable interrupts + sei(); + return data; +} +//------------------------------------------------------------------------------ +/** Soft SPI read data */ +static void spiRead(uint8_t* buf, uint16_t nbyte) { + for (uint16_t i = 0; i < nbyte; i++) { + buf[i] = spiRec(); + } +} +//------------------------------------------------------------------------------ +/** Soft SPI send byte */ +static void spiSend(uint8_t data) { + // no interrupts during byte send - about 8 us + cli(); + for (uint8_t i = 0; i < 8; i++) { + fastDigitalWrite(SPI_SCK_PIN, LOW); + + fastDigitalWrite(SPI_MOSI_PIN, data & 0X80); + + data <<= 1; + + fastDigitalWrite(SPI_SCK_PIN, HIGH); + } + // hold SCK high for a few ns + nop; + nop; + nop; + nop; + + fastDigitalWrite(SPI_SCK_PIN, LOW); + // enable interrupts + sei(); +} +//------------------------------------------------------------------------------ +/** Soft SPI send block */ + void spiSendBlock(uint8_t token, const uint8_t* buf) { + spiSend(token); + for (uint16_t i = 0; i < 512; i++) { + spiSend(buf[i]); + } +} +#endif // SOFTWARE_SPI +//------------------------------------------------------------------------------ +// send command and return error code. Return zero for OK +uint8_t Sd2Card::cardCommand(uint8_t cmd, uint32_t arg) { + // select card + chipSelectLow(); + + // wait up to 300 ms if busy + waitNotBusy(300); + + // send command + spiSend(cmd | 0x40); + + // send argument + for (int8_t s = 24; s >= 0; s -= 8) spiSend(arg >> s); + + // send CRC + uint8_t crc = 0XFF; + if (cmd == CMD0) crc = 0X95; // correct crc for CMD0 with arg 0 + if (cmd == CMD8) crc = 0X87; // correct crc for CMD8 with arg 0X1AA + spiSend(crc); + + // skip stuff byte for stop read + if (cmd == CMD12) spiRec(); + + // wait for response + for (uint8_t i = 0; ((status_ = spiRec()) & 0X80) && i != 0XFF; i++) { /* Intentionally left empty */ } + return status_; +} +//------------------------------------------------------------------------------ +/** + * Determine the size of an SD flash memory card. + * + * \return The number of 512 byte data blocks in the card + * or zero if an error occurs. + */ +uint32_t Sd2Card::cardSize() { + csd_t csd; + if (!readCSD(&csd)) return 0; + if (csd.v1.csd_ver == 0) { + uint8_t read_bl_len = csd.v1.read_bl_len; + uint16_t c_size = (csd.v1.c_size_high << 10) + | (csd.v1.c_size_mid << 2) | csd.v1.c_size_low; + uint8_t c_size_mult = (csd.v1.c_size_mult_high << 1) + | csd.v1.c_size_mult_low; + return (uint32_t)(c_size + 1) << (c_size_mult + read_bl_len - 7); + } else if (csd.v2.csd_ver == 1) { + uint32_t c_size = ((uint32_t)csd.v2.c_size_high << 16) + | (csd.v2.c_size_mid << 8) | csd.v2.c_size_low; + return (c_size + 1) << 10; + } else { + error(SD_CARD_ERROR_BAD_CSD); + return 0; + } +} +//------------------------------------------------------------------------------ +void Sd2Card::chipSelectHigh() { + digitalWrite(chipSelectPin_, HIGH); +} +//------------------------------------------------------------------------------ +void Sd2Card::chipSelectLow() { +#ifndef SOFTWARE_SPI + spiInit(spiRate_); +#endif // SOFTWARE_SPI + digitalWrite(chipSelectPin_, LOW); +} +//------------------------------------------------------------------------------ +/** Erase a range of blocks. + * + * \param[in] firstBlock The address of the first block in the range. + * \param[in] lastBlock The address of the last block in the range. + * + * \note This function requests the SD card to do a flash erase for a + * range of blocks. The data on the card after an erase operation is + * either 0 or 1, depends on the card vendor. The card must support + * single block erase. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool Sd2Card::erase(uint32_t firstBlock, uint32_t lastBlock) { + csd_t csd; + if (!readCSD(&csd)) goto fail; + // check for single block erase + if (!csd.v1.erase_blk_en) { + // erase size mask + uint8_t m = (csd.v1.sector_size_high << 1) | csd.v1.sector_size_low; + if ((firstBlock & m) != 0 || ((lastBlock + 1) & m) != 0) { + // error card can't erase specified area + error(SD_CARD_ERROR_ERASE_SINGLE_BLOCK); + goto fail; + } + } + if (type_ != SD_CARD_TYPE_SDHC) { + firstBlock <<= 9; + lastBlock <<= 9; + } + if (cardCommand(CMD32, firstBlock) + || cardCommand(CMD33, lastBlock) + || cardCommand(CMD38, 0)) { + error(SD_CARD_ERROR_ERASE); + goto fail; + } + if (!waitNotBusy(SD_ERASE_TIMEOUT)) { + error(SD_CARD_ERROR_ERASE_TIMEOUT); + goto fail; + } + chipSelectHigh(); + return true; + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** Determine if card supports single block erase. + * + * \return The value one, true, is returned if single block erase is supported. + * The value zero, false, is returned if single block erase is not supported. + */ +bool Sd2Card::eraseSingleBlockEnable() { + csd_t csd; + return readCSD(&csd) ? csd.v1.erase_blk_en : false; +} +//------------------------------------------------------------------------------ +/** + * Initialize an SD flash memory card. + * + * \param[in] sckRateID SPI clock rate selector. See setSckRate(). + * \param[in] chipSelectPin SD chip select pin number. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. The reason for failure + * can be determined by calling errorCode() and errorData(). + */ +bool Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin) { + errorCode_ = type_ = 0; + chipSelectPin_ = chipSelectPin; + // 16-bit init start time allows over a minute + uint16_t t0 = (uint16_t)millis(); + uint32_t arg; + + // set pin modes + pinMode(chipSelectPin_, OUTPUT); + chipSelectHigh(); + pinMode(SPI_MISO_PIN, INPUT); + pinMode(SPI_MOSI_PIN, OUTPUT); + pinMode(SPI_SCK_PIN, OUTPUT); + +#ifndef SOFTWARE_SPI + // SS must be in output mode even it is not chip select + pinMode(SS_PIN, OUTPUT); + // set SS high - may be chip select for another SPI device +#if SET_SPI_SS_HIGH + digitalWrite(SS_PIN, HIGH); +#endif // SET_SPI_SS_HIGH + // set SCK rate for initialization commands + spiRate_ = SPI_SD_INIT_RATE; + spiInit(spiRate_); +#endif // SOFTWARE_SPI + + // must supply min of 74 clock cycles with CS high. + for (uint8_t i = 0; i < 10; i++) spiSend(0XFF); + + // command to go idle in SPI mode + while ((status_ = cardCommand(CMD0, 0)) != R1_IDLE_STATE) { + if (((uint16_t)millis() - t0) > SD_INIT_TIMEOUT) { + error(SD_CARD_ERROR_CMD0); + goto fail; + } + } + // check SD version + if ((cardCommand(CMD8, 0x1AA) & R1_ILLEGAL_COMMAND)) { + type(SD_CARD_TYPE_SD1); + } else { + // only need last byte of r7 response + for (uint8_t i = 0; i < 4; i++) status_ = spiRec(); + if (status_ != 0XAA) { + error(SD_CARD_ERROR_CMD8); + goto fail; + } + type(SD_CARD_TYPE_SD2); + } + // initialize card and send host supports SDHC if SD2 + arg = type() == SD_CARD_TYPE_SD2 ? 0X40000000 : 0; + + while ((status_ = cardAcmd(ACMD41, arg)) != R1_READY_STATE) { + // check for timeout + if (((uint16_t)millis() - t0) > SD_INIT_TIMEOUT) { + error(SD_CARD_ERROR_ACMD41); + goto fail; + } + } + // if SD2 read OCR register to check for SDHC card + if (type() == SD_CARD_TYPE_SD2) { + if (cardCommand(CMD58, 0)) { + error(SD_CARD_ERROR_CMD58); + goto fail; + } + if ((spiRec() & 0XC0) == 0XC0) type(SD_CARD_TYPE_SDHC); + // discard rest of ocr - contains allowed voltage range + for (uint8_t i = 0; i < 3; i++) spiRec(); + } + chipSelectHigh(); + +#ifndef SOFTWARE_SPI + return setSckRate(sckRateID); +#else // SOFTWARE_SPI + return true; +#endif // SOFTWARE_SPI + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** + * Read a 512 byte block from an SD card. + * + * \param[in] blockNumber Logical block to be read. + * \param[out] dst Pointer to the location that will receive the data. + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool Sd2Card::readBlock(uint32_t blockNumber, uint8_t* dst) { +#ifdef SD_CHECK_AND_RETRY + uint8_t retryCnt = 3; + // use address if not SDHC card + if (type()!= SD_CARD_TYPE_SDHC) blockNumber <<= 9; + retry2: + retryCnt --; + if (cardCommand(CMD17, blockNumber)) { + error(SD_CARD_ERROR_CMD17); + if (retryCnt > 0) goto retry; + goto fail; + } + if (!readData(dst, 512)) + { + if (retryCnt > 0) goto retry; + goto fail; + } + return true; + retry: + chipSelectHigh(); + cardCommand(CMD12, 0);//Try sending a stop command, but ignore the result. + errorCode_ = 0; + goto retry2; +#else + // use address if not SDHC card + if (type()!= SD_CARD_TYPE_SDHC) blockNumber <<= 9; + if (cardCommand(CMD17, blockNumber)) { + error(SD_CARD_ERROR_CMD17); + goto fail; + } + return readData(dst, 512); +#endif + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** Read one data block in a multiple block read sequence + * + * \param[in] dst Pointer to the location for the data to be read. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool Sd2Card::readData(uint8_t *dst) { + chipSelectLow(); + return readData(dst, 512); +} + +#ifdef SD_CHECK_AND_RETRY +static const uint16_t crctab[] PROGMEM = { + 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7, + 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF, + 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, + 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE, + 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, + 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D, + 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4, + 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC, + 0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823, + 0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B, + 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12, + 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A, + 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41, + 0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49, + 0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70, + 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78, + 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F, + 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067, + 0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E, + 0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256, + 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D, + 0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, + 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C, + 0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634, + 0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB, + 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3, + 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A, + 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92, + 0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9, + 0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1, + 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8, + 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0 +}; +static uint16_t CRC_CCITT(const uint8_t* data, size_t n) { + uint16_t crc = 0; + for (size_t i = 0; i < n; i++) { + crc = pgm_read_word(&crctab[(crc >> 8 ^ data[i]) & 0XFF]) ^ (crc << 8); + } + return crc; +} +#endif + +//------------------------------------------------------------------------------ +bool Sd2Card::readData(uint8_t* dst, uint16_t count) { + // wait for start block token + uint16_t t0 = millis(); + while ((status_ = spiRec()) == 0XFF) { + if (((uint16_t)millis() - t0) > SD_READ_TIMEOUT) { + error(SD_CARD_ERROR_READ_TIMEOUT); + goto fail; + } + } + if (status_ != DATA_START_BLOCK) { + error(SD_CARD_ERROR_READ); + goto fail; + } + // transfer data + spiRead(dst, count); + +#ifdef SD_CHECK_AND_RETRY + { + uint16_t calcCrc = CRC_CCITT(dst, count); + uint16_t recvCrc = spiRec() << 8; + recvCrc |= spiRec(); + if (calcCrc != recvCrc) + { + error(SD_CARD_ERROR_CRC); + goto fail; + } + } +#else + // discard CRC + spiRec(); + spiRec(); +#endif + chipSelectHigh(); + return true; + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** read CID or CSR register */ +bool Sd2Card::readRegister(uint8_t cmd, void* buf) { + uint8_t* dst = reinterpret_cast(buf); + if (cardCommand(cmd, 0)) { + error(SD_CARD_ERROR_READ_REG); + goto fail; + } + return readData(dst, 16); + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** Start a read multiple blocks sequence. + * + * \param[in] blockNumber Address of first block in sequence. + * + * \note This function is used with readData() and readStop() for optimized + * multiple block reads. SPI chipSelect must be low for the entire sequence. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool Sd2Card::readStart(uint32_t blockNumber) { + if (type()!= SD_CARD_TYPE_SDHC) blockNumber <<= 9; + if (cardCommand(CMD18, blockNumber)) { + error(SD_CARD_ERROR_CMD18); + goto fail; + } + chipSelectHigh(); + return true; + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** End a read multiple blocks sequence. + * +* \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool Sd2Card::readStop() { + chipSelectLow(); + if (cardCommand(CMD12, 0)) { + error(SD_CARD_ERROR_CMD12); + goto fail; + } + chipSelectHigh(); + return true; + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** + * Set the SPI clock rate. + * + * \param[in] sckRateID A value in the range [0, 6]. + * + * The SPI clock will be set to F_CPU/pow(2, 1 + sckRateID). The maximum + * SPI rate is F_CPU/2 for \a sckRateID = 0 and the minimum rate is F_CPU/128 + * for \a scsRateID = 6. + * + * \return The value one, true, is returned for success and the value zero, + * false, is returned for an invalid value of \a sckRateID. + */ +bool Sd2Card::setSckRate(uint8_t sckRateID) { + if (sckRateID > 6) { + error(SD_CARD_ERROR_SCK_RATE); + return false; + } + spiRate_ = sckRateID; + return true; +} +//------------------------------------------------------------------------------ +// wait for card to go not busy +bool Sd2Card::waitNotBusy(uint16_t timeoutMillis) { + uint16_t t0 = millis(); + while (spiRec() != 0XFF) { + if (((uint16_t)millis() - t0) >= timeoutMillis) goto fail; + } + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** + * Writes a 512 byte block to an SD card. + * + * \param[in] blockNumber Logical block to be written. + * \param[in] src Pointer to the location of the data to be written. + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool Sd2Card::writeBlock(uint32_t blockNumber, const uint8_t* src) { + // use address if not SDHC card + if (type() != SD_CARD_TYPE_SDHC) blockNumber <<= 9; + if (cardCommand(CMD24, blockNumber)) { + error(SD_CARD_ERROR_CMD24); + goto fail; + } + if (!writeData(DATA_START_BLOCK, src)) goto fail; + + // wait for flash programming to complete + if (!waitNotBusy(SD_WRITE_TIMEOUT)) { + error(SD_CARD_ERROR_WRITE_TIMEOUT); + goto fail; + } + // response is r2 so get and check two bytes for nonzero + if (cardCommand(CMD13, 0) || spiRec()) { + error(SD_CARD_ERROR_WRITE_PROGRAMMING); + goto fail; + } + chipSelectHigh(); + return true; + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** Write one data block in a multiple block write sequence + * \param[in] src Pointer to the location of the data to be written. + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool Sd2Card::writeData(const uint8_t* src) { + chipSelectLow(); + // wait for previous write to finish + if (!waitNotBusy(SD_WRITE_TIMEOUT)) goto fail; + if (!writeData(WRITE_MULTIPLE_TOKEN, src)) goto fail; + chipSelectHigh(); + return true; + + fail: + error(SD_CARD_ERROR_WRITE_MULTIPLE); + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +// send one block of data for write block or write multiple blocks +bool Sd2Card::writeData(uint8_t token, const uint8_t* src) { + spiSendBlock(token, src); + + spiSend(0xff); // dummy crc + spiSend(0xff); // dummy crc + + status_ = spiRec(); + if ((status_ & DATA_RES_MASK) != DATA_RES_ACCEPTED) { + error(SD_CARD_ERROR_WRITE); + goto fail; + } + return true; + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** Start a write multiple blocks sequence. + * + * \param[in] blockNumber Address of first block in sequence. + * \param[in] eraseCount The number of blocks to be pre-erased. + * + * \note This function is used with writeData() and writeStop() + * for optimized multiple block writes. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool Sd2Card::writeStart(uint32_t blockNumber, uint32_t eraseCount) { + // send pre-erase count + if (cardAcmd(ACMD23, eraseCount)) { + error(SD_CARD_ERROR_ACMD23); + goto fail; + } + // use address if not SDHC card + if (type() != SD_CARD_TYPE_SDHC) blockNumber <<= 9; + if (cardCommand(CMD25, blockNumber)) { + error(SD_CARD_ERROR_CMD25); + goto fail; + } + chipSelectHigh(); + return true; + + fail: + chipSelectHigh(); + return false; +} +//------------------------------------------------------------------------------ +/** End a write multiple blocks sequence. + * +* \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool Sd2Card::writeStop() { + chipSelectLow(); + if (!waitNotBusy(SD_WRITE_TIMEOUT)) goto fail; + spiSend(STOP_TRAN_TOKEN); + if (!waitNotBusy(SD_WRITE_TIMEOUT)) goto fail; + chipSelectHigh(); + return true; + + fail: + error(SD_CARD_ERROR_STOP_TRAN); + chipSelectHigh(); + return false; +} + +#endif diff --git a/Marlin/Sd2Card.h b/Marlin/Sd2Card.h new file mode 100644 index 0000000..d6b302b --- /dev/null +++ b/Marlin/Sd2Card.h @@ -0,0 +1,243 @@ +/* Arduino Sd2Card Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino Sd2Card Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino Sd2Card Library. If not, see + * . + */ + +#include "Marlin.h" +#ifdef SDSUPPORT + +#ifndef Sd2Card_h +#define Sd2Card_h +/** + * \file + * \brief Sd2Card class for V2 SD/SDHC cards + */ +#include "SdFatConfig.h" +#include "Sd2PinMap.h" +#include "SdInfo.h" +//------------------------------------------------------------------------------ +// SPI speed is F_CPU/2^(1 + index), 0 <= index <= 6 +/** Set SCK to max rate of F_CPU/2. See Sd2Card::setSckRate(). */ +uint8_t const SPI_FULL_SPEED = 0; +/** Set SCK rate to F_CPU/4. See Sd2Card::setSckRate(). */ +uint8_t const SPI_HALF_SPEED = 1; +/** Set SCK rate to F_CPU/8. See Sd2Card::setSckRate(). */ +uint8_t const SPI_QUARTER_SPEED = 2; +/** Set SCK rate to F_CPU/16. See Sd2Card::setSckRate(). */ +uint8_t const SPI_EIGHTH_SPEED = 3; +/** Set SCK rate to F_CPU/32. See Sd2Card::setSckRate(). */ +uint8_t const SPI_SIXTEENTH_SPEED = 4; +//------------------------------------------------------------------------------ +/** init timeout ms */ +uint16_t const SD_INIT_TIMEOUT = 2000; +/** erase timeout ms */ +uint16_t const SD_ERASE_TIMEOUT = 10000; +/** read timeout ms */ +uint16_t const SD_READ_TIMEOUT = 300; +/** write time out ms */ +uint16_t const SD_WRITE_TIMEOUT = 600; +//------------------------------------------------------------------------------ +// SD card errors +/** timeout error for command CMD0 (initialize card in SPI mode) */ +uint8_t const SD_CARD_ERROR_CMD0 = 0X1; +/** CMD8 was not accepted - not a valid SD card*/ +uint8_t const SD_CARD_ERROR_CMD8 = 0X2; +/** card returned an error response for CMD12 (write stop) */ +uint8_t const SD_CARD_ERROR_CMD12 = 0X3; +/** card returned an error response for CMD17 (read block) */ +uint8_t const SD_CARD_ERROR_CMD17 = 0X4; +/** card returned an error response for CMD18 (read multiple block) */ +uint8_t const SD_CARD_ERROR_CMD18 = 0X5; +/** card returned an error response for CMD24 (write block) */ +uint8_t const SD_CARD_ERROR_CMD24 = 0X6; +/** WRITE_MULTIPLE_BLOCKS command failed */ +uint8_t const SD_CARD_ERROR_CMD25 = 0X7; +/** card returned an error response for CMD58 (read OCR) */ +uint8_t const SD_CARD_ERROR_CMD58 = 0X8; +/** SET_WR_BLK_ERASE_COUNT failed */ +uint8_t const SD_CARD_ERROR_ACMD23 = 0X9; +/** ACMD41 initialization process timeout */ +uint8_t const SD_CARD_ERROR_ACMD41 = 0XA; +/** card returned a bad CSR version field */ +uint8_t const SD_CARD_ERROR_BAD_CSD = 0XB; +/** erase block group command failed */ +uint8_t const SD_CARD_ERROR_ERASE = 0XC; +/** card not capable of single block erase */ +uint8_t const SD_CARD_ERROR_ERASE_SINGLE_BLOCK = 0XD; +/** Erase sequence timed out */ +uint8_t const SD_CARD_ERROR_ERASE_TIMEOUT = 0XE; +/** card returned an error token instead of read data */ +uint8_t const SD_CARD_ERROR_READ = 0XF; +/** read CID or CSD failed */ +uint8_t const SD_CARD_ERROR_READ_REG = 0X10; +/** timeout while waiting for start of read data */ +uint8_t const SD_CARD_ERROR_READ_TIMEOUT = 0X11; +/** card did not accept STOP_TRAN_TOKEN */ +uint8_t const SD_CARD_ERROR_STOP_TRAN = 0X12; +/** card returned an error token as a response to a write operation */ +uint8_t const SD_CARD_ERROR_WRITE = 0X13; +/** attempt to write protected block zero */ +uint8_t const SD_CARD_ERROR_WRITE_BLOCK_ZERO = 0X14; // REMOVE - not used +/** card did not go ready for a multiple block write */ +uint8_t const SD_CARD_ERROR_WRITE_MULTIPLE = 0X15; +/** card returned an error to a CMD13 status check after a write */ +uint8_t const SD_CARD_ERROR_WRITE_PROGRAMMING = 0X16; +/** timeout occurred during write programming */ +uint8_t const SD_CARD_ERROR_WRITE_TIMEOUT = 0X17; +/** incorrect rate selected */ +uint8_t const SD_CARD_ERROR_SCK_RATE = 0X18; +/** init() not called */ +uint8_t const SD_CARD_ERROR_INIT_NOT_CALLED = 0X19; +/** crc check error */ +uint8_t const SD_CARD_ERROR_CRC = 0X20; +//------------------------------------------------------------------------------ +// card types +/** Standard capacity V1 SD card */ +uint8_t const SD_CARD_TYPE_SD1 = 1; +/** Standard capacity V2 SD card */ +uint8_t const SD_CARD_TYPE_SD2 = 2; +/** High Capacity SD card */ +uint8_t const SD_CARD_TYPE_SDHC = 3; +/** + * define SOFTWARE_SPI to use bit-bang SPI + */ +//------------------------------------------------------------------------------ +#if MEGA_SOFT_SPI && (defined(__AVR_ATmega1280__)||defined(__AVR_ATmega2560__)) +#define SOFTWARE_SPI +#elif USE_SOFTWARE_SPI +#define SOFTWARE_SPI +#endif // MEGA_SOFT_SPI +//------------------------------------------------------------------------------ +// SPI pin definitions - do not edit here - change in SdFatConfig.h +// +#ifndef SOFTWARE_SPI +// hardware pin defs +/** The default chip select pin for the SD card is SS. */ +uint8_t const SD_CHIP_SELECT_PIN = SS_PIN; +// The following three pins must not be redefined for hardware SPI. +/** SPI Master Out Slave In pin */ +uint8_t const SPI_MOSI_PIN = MOSI_PIN; +/** SPI Master In Slave Out pin */ +uint8_t const SPI_MISO_PIN = MISO_PIN; +/** SPI Clock pin */ +uint8_t const SPI_SCK_PIN = SCK_PIN; + +#else // SOFTWARE_SPI + +/** SPI chip select pin */ +uint8_t const SD_CHIP_SELECT_PIN = SOFT_SPI_CS_PIN; +/** SPI Master Out Slave In pin */ +uint8_t const SPI_MOSI_PIN = SOFT_SPI_MOSI_PIN; +/** SPI Master In Slave Out pin */ +uint8_t const SPI_MISO_PIN = SOFT_SPI_MISO_PIN; +/** SPI Clock pin */ +uint8_t const SPI_SCK_PIN = SOFT_SPI_SCK_PIN; +#endif // SOFTWARE_SPI +//------------------------------------------------------------------------------ +/** + * \class Sd2Card + * \brief Raw access to SD and SDHC flash memory cards. + */ +class Sd2Card { + public: + /** Construct an instance of Sd2Card. */ + Sd2Card() : errorCode_(SD_CARD_ERROR_INIT_NOT_CALLED), type_(0) {} + uint32_t cardSize(); + bool erase(uint32_t firstBlock, uint32_t lastBlock); + bool eraseSingleBlockEnable(); + /** + * Set SD error code. + * \param[in] code value for error code. + */ + void error(uint8_t code) {errorCode_ = code;} + /** + * \return error code for last error. See Sd2Card.h for a list of error codes. + */ + int errorCode() const {return errorCode_;} + /** \return error data for last error. */ + int errorData() const {return status_;} + /** + * Initialize an SD flash memory card with default clock rate and chip + * select pin. See sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin). + * + * \return true for success or false for failure. + */ + bool init(uint8_t sckRateID = SPI_FULL_SPEED, + uint8_t chipSelectPin = SD_CHIP_SELECT_PIN); + bool readBlock(uint32_t block, uint8_t* dst); + /** + * Read a card's CID register. The CID contains card identification + * information such as Manufacturer ID, Product name, Product serial + * number and Manufacturing date. + * + * \param[out] cid pointer to area for returned data. + * + * \return true for success or false for failure. + */ + bool readCID(cid_t* cid) { + return readRegister(CMD10, cid); + } + /** + * Read a card's CSD register. The CSD contains Card-Specific Data that + * provides information regarding access to the card's contents. + * + * \param[out] csd pointer to area for returned data. + * + * \return true for success or false for failure. + */ + bool readCSD(csd_t* csd) { + return readRegister(CMD9, csd); + } + bool readData(uint8_t *dst); + bool readStart(uint32_t blockNumber); + bool readStop(); + bool setSckRate(uint8_t sckRateID); + /** Return the card type: SD V1, SD V2 or SDHC + * \return 0 - SD V1, 1 - SD V2, or 3 - SDHC. + */ + int type() const {return type_;} + bool writeBlock(uint32_t blockNumber, const uint8_t* src); + bool writeData(const uint8_t* src); + bool writeStart(uint32_t blockNumber, uint32_t eraseCount); + bool writeStop(); + private: + //---------------------------------------------------------------------------- + uint8_t chipSelectPin_; + uint8_t errorCode_; + uint8_t spiRate_; + uint8_t status_; + uint8_t type_; + // private functions + uint8_t cardAcmd(uint8_t cmd, uint32_t arg) { + cardCommand(CMD55, 0); + return cardCommand(cmd, arg); + } + uint8_t cardCommand(uint8_t cmd, uint32_t arg); + + bool readData(uint8_t* dst, uint16_t count); + bool readRegister(uint8_t cmd, void* buf); + void chipSelectHigh(); + void chipSelectLow(); + void type(uint8_t value) {type_ = value;} + bool waitNotBusy(uint16_t timeoutMillis); + bool writeData(uint8_t token, const uint8_t* src); +}; +#endif // Sd2Card_h + + +#endif \ No newline at end of file diff --git a/Marlin/Sd2PinMap.h b/Marlin/Sd2PinMap.h new file mode 100644 index 0000000..97fea8b --- /dev/null +++ b/Marlin/Sd2PinMap.h @@ -0,0 +1,436 @@ +/* Arduino SdFat Library + * Copyright (C) 2010 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +// Warning this file was generated by a program. +#include "Marlin.h" +#ifdef SDSUPPORT + +#ifndef Sd2PinMap_h +#define Sd2PinMap_h +#include +//------------------------------------------------------------------------------ +/** struct for mapping digital pins */ +struct pin_map_t { + volatile uint8_t* ddr; + volatile uint8_t* pin; + volatile uint8_t* port; + uint8_t bit; +}; +//------------------------------------------------------------------------------ +#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) // Mega + +// Two Wire (aka I2C) ports +uint8_t const SDA_PIN = 20; // D1 +uint8_t const SCL_PIN = 21; // D0 + +#undef MOSI_PIN +#undef MISO_PIN +#undef SCK_PIN +// SPI port +uint8_t const SS_PIN = 53; // B0 +uint8_t const MOSI_PIN = 51; // B2 +uint8_t const MISO_PIN = 50; // B3 +uint8_t const SCK_PIN = 52; // B1 + +static const pin_map_t digitalPinMap[] = { + {&DDRE, &PINE, &PORTE, 0}, // E0 0 + {&DDRE, &PINE, &PORTE, 1}, // E1 1 + {&DDRE, &PINE, &PORTE, 4}, // E4 2 + {&DDRE, &PINE, &PORTE, 5}, // E5 3 + {&DDRG, &PING, &PORTG, 5}, // G5 4 + {&DDRE, &PINE, &PORTE, 3}, // E3 5 + {&DDRH, &PINH, &PORTH, 3}, // H3 6 + {&DDRH, &PINH, &PORTH, 4}, // H4 7 + {&DDRH, &PINH, &PORTH, 5}, // H5 8 + {&DDRH, &PINH, &PORTH, 6}, // H6 9 + {&DDRB, &PINB, &PORTB, 4}, // B4 10 + {&DDRB, &PINB, &PORTB, 5}, // B5 11 + {&DDRB, &PINB, &PORTB, 6}, // B6 12 + {&DDRB, &PINB, &PORTB, 7}, // B7 13 + {&DDRJ, &PINJ, &PORTJ, 1}, // J1 14 + {&DDRJ, &PINJ, &PORTJ, 0}, // J0 15 + {&DDRH, &PINH, &PORTH, 1}, // H1 16 + {&DDRH, &PINH, &PORTH, 0}, // H0 17 + {&DDRD, &PIND, &PORTD, 3}, // D3 18 + {&DDRD, &PIND, &PORTD, 2}, // D2 19 + {&DDRD, &PIND, &PORTD, 1}, // D1 20 + {&DDRD, &PIND, &PORTD, 0}, // D0 21 + {&DDRA, &PINA, &PORTA, 0}, // A0 22 + {&DDRA, &PINA, &PORTA, 1}, // A1 23 + {&DDRA, &PINA, &PORTA, 2}, // A2 24 + {&DDRA, &PINA, &PORTA, 3}, // A3 25 + {&DDRA, &PINA, &PORTA, 4}, // A4 26 + {&DDRA, &PINA, &PORTA, 5}, // A5 27 + {&DDRA, &PINA, &PORTA, 6}, // A6 28 + {&DDRA, &PINA, &PORTA, 7}, // A7 29 + {&DDRC, &PINC, &PORTC, 7}, // C7 30 + {&DDRC, &PINC, &PORTC, 6}, // C6 31 + {&DDRC, &PINC, &PORTC, 5}, // C5 32 + {&DDRC, &PINC, &PORTC, 4}, // C4 33 + {&DDRC, &PINC, &PORTC, 3}, // C3 34 + {&DDRC, &PINC, &PORTC, 2}, // C2 35 + {&DDRC, &PINC, &PORTC, 1}, // C1 36 + {&DDRC, &PINC, &PORTC, 0}, // C0 37 + {&DDRD, &PIND, &PORTD, 7}, // D7 38 + {&DDRG, &PING, &PORTG, 2}, // G2 39 + {&DDRG, &PING, &PORTG, 1}, // G1 40 + {&DDRG, &PING, &PORTG, 0}, // G0 41 + {&DDRL, &PINL, &PORTL, 7}, // L7 42 + {&DDRL, &PINL, &PORTL, 6}, // L6 43 + {&DDRL, &PINL, &PORTL, 5}, // L5 44 + {&DDRL, &PINL, &PORTL, 4}, // L4 45 + {&DDRL, &PINL, &PORTL, 3}, // L3 46 + {&DDRL, &PINL, &PORTL, 2}, // L2 47 + {&DDRL, &PINL, &PORTL, 1}, // L1 48 + {&DDRL, &PINL, &PORTL, 0}, // L0 49 + {&DDRB, &PINB, &PORTB, 3}, // B3 50 + {&DDRB, &PINB, &PORTB, 2}, // B2 51 + {&DDRB, &PINB, &PORTB, 1}, // B1 52 + {&DDRB, &PINB, &PORTB, 0}, // B0 53 + {&DDRF, &PINF, &PORTF, 0}, // F0 54 + {&DDRF, &PINF, &PORTF, 1}, // F1 55 + {&DDRF, &PINF, &PORTF, 2}, // F2 56 + {&DDRF, &PINF, &PORTF, 3}, // F3 57 + {&DDRF, &PINF, &PORTF, 4}, // F4 58 + {&DDRF, &PINF, &PORTF, 5}, // F5 59 + {&DDRF, &PINF, &PORTF, 6}, // F6 60 + {&DDRF, &PINF, &PORTF, 7}, // F7 61 + {&DDRK, &PINK, &PORTK, 0}, // K0 62 + {&DDRK, &PINK, &PORTK, 1}, // K1 63 + {&DDRK, &PINK, &PORTK, 2}, // K2 64 + {&DDRK, &PINK, &PORTK, 3}, // K3 65 + {&DDRK, &PINK, &PORTK, 4}, // K4 66 + {&DDRK, &PINK, &PORTK, 5}, // K5 67 + {&DDRK, &PINK, &PORTK, 6}, // K6 68 + {&DDRK, &PINK, &PORTK, 7} // K7 69 +}; +//------------------------------------------------------------------------------ +#elif defined(__AVR_ATmega644P__)\ +|| defined(__AVR_ATmega644__)\ +|| defined(__AVR_ATmega1284P__) +// Sanguino + +// Two Wire (aka I2C) ports +uint8_t const SDA_PIN = 17; // C1 +uint8_t const SCL_PIN = 18; // C2 + +// SPI port +uint8_t const SS_PIN = 4; // B4 +uint8_t const MOSI_PIN = 5; // B5 +uint8_t const MISO_PIN = 6; // B6 +uint8_t const SCK_PIN = 7; // B7 + +static const pin_map_t digitalPinMap[] = { + {&DDRB, &PINB, &PORTB, 0}, // B0 0 + {&DDRB, &PINB, &PORTB, 1}, // B1 1 + {&DDRB, &PINB, &PORTB, 2}, // B2 2 + {&DDRB, &PINB, &PORTB, 3}, // B3 3 + {&DDRB, &PINB, &PORTB, 4}, // B4 4 + {&DDRB, &PINB, &PORTB, 5}, // B5 5 + {&DDRB, &PINB, &PORTB, 6}, // B6 6 + {&DDRB, &PINB, &PORTB, 7}, // B7 7 + {&DDRD, &PIND, &PORTD, 0}, // D0 8 + {&DDRD, &PIND, &PORTD, 1}, // D1 9 + {&DDRD, &PIND, &PORTD, 2}, // D2 10 + {&DDRD, &PIND, &PORTD, 3}, // D3 11 + {&DDRD, &PIND, &PORTD, 4}, // D4 12 + {&DDRD, &PIND, &PORTD, 5}, // D5 13 + {&DDRD, &PIND, &PORTD, 6}, // D6 14 + {&DDRD, &PIND, &PORTD, 7}, // D7 15 + {&DDRC, &PINC, &PORTC, 0}, // C0 16 + {&DDRC, &PINC, &PORTC, 1}, // C1 17 + {&DDRC, &PINC, &PORTC, 2}, // C2 18 + {&DDRC, &PINC, &PORTC, 3}, // C3 19 + {&DDRC, &PINC, &PORTC, 4}, // C4 20 + {&DDRC, &PINC, &PORTC, 5}, // C5 21 + {&DDRC, &PINC, &PORTC, 6}, // C6 22 + {&DDRC, &PINC, &PORTC, 7}, // C7 23 + {&DDRA, &PINA, &PORTA, 7}, // A7 24 + {&DDRA, &PINA, &PORTA, 6}, // A6 25 + {&DDRA, &PINA, &PORTA, 5}, // A5 26 + {&DDRA, &PINA, &PORTA, 4}, // A4 27 + {&DDRA, &PINA, &PORTA, 3}, // A3 28 + {&DDRA, &PINA, &PORTA, 2}, // A2 29 + {&DDRA, &PINA, &PORTA, 1}, // A1 30 + {&DDRA, &PINA, &PORTA, 0} // A0 31 +}; +//------------------------------------------------------------------------------ +#elif defined(__AVR_ATmega32U4__) +// Teensy 2.0 + +// Two Wire (aka I2C) ports +uint8_t const SDA_PIN = 6; // D1 +uint8_t const SCL_PIN = 5; // D0 + +// SPI port +uint8_t const SS_PIN = 0; // B0 +uint8_t const MOSI_PIN = 2; // B2 +uint8_t const MISO_PIN = 3; // B3 +uint8_t const SCK_PIN = 1; // B1 + +static const pin_map_t digitalPinMap[] = { + {&DDRB, &PINB, &PORTB, 0}, // B0 0 + {&DDRB, &PINB, &PORTB, 1}, // B1 1 + {&DDRB, &PINB, &PORTB, 2}, // B2 2 + {&DDRB, &PINB, &PORTB, 3}, // B3 3 + {&DDRB, &PINB, &PORTB, 7}, // B7 4 + {&DDRD, &PIND, &PORTD, 0}, // D0 5 + {&DDRD, &PIND, &PORTD, 1}, // D1 6 + {&DDRD, &PIND, &PORTD, 2}, // D2 7 + {&DDRD, &PIND, &PORTD, 3}, // D3 8 + {&DDRC, &PINC, &PORTC, 6}, // C6 9 + {&DDRC, &PINC, &PORTC, 7}, // C7 10 + {&DDRD, &PIND, &PORTD, 6}, // D6 11 + {&DDRD, &PIND, &PORTD, 7}, // D7 12 + {&DDRB, &PINB, &PORTB, 4}, // B4 13 + {&DDRB, &PINB, &PORTB, 5}, // B5 14 + {&DDRB, &PINB, &PORTB, 6}, // B6 15 + {&DDRF, &PINF, &PORTF, 7}, // F7 16 + {&DDRF, &PINF, &PORTF, 6}, // F6 17 + {&DDRF, &PINF, &PORTF, 5}, // F5 18 + {&DDRF, &PINF, &PORTF, 4}, // F4 19 + {&DDRF, &PINF, &PORTF, 1}, // F1 20 + {&DDRF, &PINF, &PORTF, 0}, // F0 21 + {&DDRD, &PIND, &PORTD, 4}, // D4 22 + {&DDRD, &PIND, &PORTD, 5}, // D5 23 + {&DDRE, &PINE, &PORTE, 6} // E6 24 +}; +//------------------------------------------------------------------------------ +#elif defined(__AVR_AT90USB646__)\ +|| defined(__AVR_AT90USB1286__) +// Teensy++ 1.0 & 2.0 + +// Two Wire (aka I2C) ports +uint8_t const SDA_PIN = 1; // D1 +uint8_t const SCL_PIN = 0; // D0 + +// SPI port +uint8_t const SS_PIN = 20; // B0 +uint8_t const MOSI_PIN = 22; // B2 +uint8_t const MISO_PIN = 23; // B3 +uint8_t const SCK_PIN = 21; // B1 + +static const pin_map_t digitalPinMap[] = { + {&DDRD, &PIND, &PORTD, 0}, // D0 0 + {&DDRD, &PIND, &PORTD, 1}, // D1 1 + {&DDRD, &PIND, &PORTD, 2}, // D2 2 + {&DDRD, &PIND, &PORTD, 3}, // D3 3 + {&DDRD, &PIND, &PORTD, 4}, // D4 4 + {&DDRD, &PIND, &PORTD, 5}, // D5 5 + {&DDRD, &PIND, &PORTD, 6}, // D6 6 + {&DDRD, &PIND, &PORTD, 7}, // D7 7 + {&DDRE, &PINE, &PORTE, 0}, // E0 8 + {&DDRE, &PINE, &PORTE, 1}, // E1 9 + {&DDRC, &PINC, &PORTC, 0}, // C0 10 + {&DDRC, &PINC, &PORTC, 1}, // C1 11 + {&DDRC, &PINC, &PORTC, 2}, // C2 12 + {&DDRC, &PINC, &PORTC, 3}, // C3 13 + {&DDRC, &PINC, &PORTC, 4}, // C4 14 + {&DDRC, &PINC, &PORTC, 5}, // C5 15 + {&DDRC, &PINC, &PORTC, 6}, // C6 16 + {&DDRC, &PINC, &PORTC, 7}, // C7 17 + {&DDRE, &PINE, &PORTE, 6}, // E6 18 + {&DDRE, &PINE, &PORTE, 7}, // E7 19 + {&DDRB, &PINB, &PORTB, 0}, // B0 20 + {&DDRB, &PINB, &PORTB, 1}, // B1 21 + {&DDRB, &PINB, &PORTB, 2}, // B2 22 + {&DDRB, &PINB, &PORTB, 3}, // B3 23 + {&DDRB, &PINB, &PORTB, 4}, // B4 24 + {&DDRB, &PINB, &PORTB, 5}, // B5 25 + {&DDRB, &PINB, &PORTB, 6}, // B6 26 + {&DDRB, &PINB, &PORTB, 7}, // B7 27 + {&DDRA, &PINA, &PORTA, 0}, // A0 28 + {&DDRA, &PINA, &PORTA, 1}, // A1 29 + {&DDRA, &PINA, &PORTA, 2}, // A2 30 + {&DDRA, &PINA, &PORTA, 3}, // A3 31 + {&DDRA, &PINA, &PORTA, 4}, // A4 32 + {&DDRA, &PINA, &PORTA, 5}, // A5 33 + {&DDRA, &PINA, &PORTA, 6}, // A6 34 + {&DDRA, &PINA, &PORTA, 7}, // A7 35 + {&DDRE, &PINE, &PORTE, 4}, // E4 36 + {&DDRE, &PINE, &PORTE, 5}, // E5 37 + {&DDRF, &PINF, &PORTF, 0}, // F0 38 + {&DDRF, &PINF, &PORTF, 1}, // F1 39 + {&DDRF, &PINF, &PORTF, 2}, // F2 40 + {&DDRF, &PINF, &PORTF, 3}, // F3 41 + {&DDRF, &PINF, &PORTF, 4}, // F4 42 + {&DDRF, &PINF, &PORTF, 5}, // F5 43 + {&DDRF, &PINF, &PORTF, 6}, // F6 44 + {&DDRF, &PINF, &PORTF, 7} // F7 45 +}; +//------------------------------------------------------------------------------ +#elif defined(__AVR_ATmega168__)\ +||defined(__AVR_ATmega168P__)\ +||defined(__AVR_ATmega328P__) +// 168 and 328 Arduinos + +// Two Wire (aka I2C) ports +uint8_t const SDA_PIN = 18; // C4 +uint8_t const SCL_PIN = 19; // C5 + +// SPI port +uint8_t const SS_PIN = 10; // B2 +uint8_t const MOSI_PIN = 11; // B3 +uint8_t const MISO_PIN = 12; // B4 +uint8_t const SCK_PIN = 13; // B5 + +static const pin_map_t digitalPinMap[] = { + {&DDRD, &PIND, &PORTD, 0}, // D0 0 + {&DDRD, &PIND, &PORTD, 1}, // D1 1 + {&DDRD, &PIND, &PORTD, 2}, // D2 2 + {&DDRD, &PIND, &PORTD, 3}, // D3 3 + {&DDRD, &PIND, &PORTD, 4}, // D4 4 + {&DDRD, &PIND, &PORTD, 5}, // D5 5 + {&DDRD, &PIND, &PORTD, 6}, // D6 6 + {&DDRD, &PIND, &PORTD, 7}, // D7 7 + {&DDRB, &PINB, &PORTB, 0}, // B0 8 + {&DDRB, &PINB, &PORTB, 1}, // B1 9 + {&DDRB, &PINB, &PORTB, 2}, // B2 10 + {&DDRB, &PINB, &PORTB, 3}, // B3 11 + {&DDRB, &PINB, &PORTB, 4}, // B4 12 + {&DDRB, &PINB, &PORTB, 5}, // B5 13 + {&DDRC, &PINC, &PORTC, 0}, // C0 14 + {&DDRC, &PINC, &PORTC, 1}, // C1 15 + {&DDRC, &PINC, &PORTC, 2}, // C2 16 + {&DDRC, &PINC, &PORTC, 3}, // C3 17 + {&DDRC, &PINC, &PORTC, 4}, // C4 18 + {&DDRC, &PINC, &PORTC, 5} // C5 19 +}; +#elif defined(__AVR_ATmega1281__) +// Waspmote + +// Two Wire (aka I2C) ports +uint8_t const SDA_PIN = 41; +uint8_t const SCL_PIN = 40; + + +#undef MOSI_PIN +#undef MISO_PIN +// SPI port +uint8_t const SS_PIN = 16; // B0 +uint8_t const MOSI_PIN = 11; // B2 +uint8_t const MISO_PIN = 12; // B3 +uint8_t const SCK_PIN = 10; // B1 + +static const pin_map_t digitalPinMap[] = { + {&DDRE, &PINE, &PORTE, 0}, // E0 0 + {&DDRE, &PINE, &PORTE, 1}, // E1 1 + {&DDRE, &PINE, &PORTE, 3}, // E3 2 + {&DDRE, &PINE, &PORTE, 4}, // E4 3 + {&DDRC, &PINC, &PORTC, 4}, // C4 4 + {&DDRC, &PINC, &PORTC, 5}, // C5 5 + {&DDRC, &PINC, &PORTC, 6}, // C6 6 + {&DDRC, &PINC, &PORTC, 7}, // C7 7 + {&DDRA, &PINA, &PORTA, 2}, // A2 8 + {&DDRA, &PINA, &PORTA, 3}, // A3 9 + {&DDRA, &PINA, &PORTA, 4}, // A4 10 + {&DDRD, &PIND, &PORTD, 5}, // D5 11 + {&DDRD, &PIND, &PORTD, 6}, // D6 12 + {&DDRC, &PINC, &PORTC, 1}, // C1 13 + {&DDRF, &PINF, &PORTF, 1}, // F1 14 + {&DDRF, &PINF, &PORTF, 2}, // F2 15 + {&DDRF, &PINF, &PORTF, 3}, // F3 16 + {&DDRF, &PINF, &PORTF, 4}, // F4 17 + {&DDRF, &PINF, &PORTF, 5}, // F5 18 + {&DDRF, &PINF, &PORTF, 6}, // F6 19 + {&DDRF, &PINF, &PORTF, 7}, // F7 20 + {&DDRF, &PINF, &PORTF, 0}, // F0 21 + {&DDRA, &PINA, &PORTA, 1}, // A1 22 + {&DDRD, &PIND, &PORTD, 7}, // D7 23 + {&DDRE, &PINE, &PORTE, 5}, // E5 24 + {&DDRA, &PINA, &PORTA, 6}, // A6 25 + {&DDRE, &PINE, &PORTE, 2}, // E2 26 + {&DDRA, &PINA, &PORTA, 5}, // A5 27 + {&DDRC, &PINC, &PORTC, 0}, // C0 28 + {&DDRB, &PINB, &PORTB, 0}, // B0 29 + {&DDRB, &PINB, &PORTB, 1}, // B1 30 + {&DDRB, &PINB, &PORTB, 2}, // B2 31 + {&DDRB, &PINB, &PORTB, 3}, // B3 32 + {&DDRB, &PINB, &PORTB, 4}, // B4 33 + {&DDRB, &PINB, &PORTB, 5}, // B5 34 + {&DDRA, &PINA, &PORTA, 0}, // A0 35 + {&DDRB, &PINB, &PORTB, 6}, // B6 36 + {&DDRB, &PINB, &PORTB, 7}, // B7 37 + {&DDRE, &PINE, &PORTE, 6}, // E6 38 + {&DDRE, &PINE, &PORTE, 7}, // E7 39 + {&DDRD, &PIND, &PORTD, 0}, // D0 40 + {&DDRD, &PIND, &PORTD, 1}, // D1 41 + {&DDRC, &PINC, &PORTC, 3}, // C3 42 + {&DDRD, &PIND, &PORTD, 2}, // D2 43 + {&DDRD, &PIND, &PORTD, 3}, // D3 44 + {&DDRA, &PINA, &PORTA, 7}, // A7 45 + {&DDRC, &PINC, &PORTC, 2}, // C2 46 + {&DDRD, &PIND, &PORTD, 4}, // D4 47 + {&DDRG, &PING, &PORTG, 2}, // G2 48 + {&DDRG, &PING, &PORTG, 1}, // G1 49 + {&DDRG, &PING, &PORTG, 0}, // G0 50 +}; +#else // defined(__AVR_ATmega1280__) +#error unknown chip +#endif // defined(__AVR_ATmega1280__) +//------------------------------------------------------------------------------ +static const uint8_t digitalPinCount = sizeof(digitalPinMap)/sizeof(pin_map_t); + +uint8_t badPinNumber(void) + __attribute__((error("Pin number is too large or not a constant"))); + +static inline __attribute__((always_inline)) + bool getPinMode(uint8_t pin) { + if (__builtin_constant_p(pin) && pin < digitalPinCount) { + return (*digitalPinMap[pin].ddr >> digitalPinMap[pin].bit) & 1; + } else { + return badPinNumber(); + } +} +static inline __attribute__((always_inline)) + void setPinMode(uint8_t pin, uint8_t mode) { + if (__builtin_constant_p(pin) && pin < digitalPinCount) { + if (mode) { + *digitalPinMap[pin].ddr |= BIT(digitalPinMap[pin].bit); + } else { + *digitalPinMap[pin].ddr &= ~BIT(digitalPinMap[pin].bit); + } + } else { + badPinNumber(); + } +} +static inline __attribute__((always_inline)) + bool fastDigitalRead(uint8_t pin) { + if (__builtin_constant_p(pin) && pin < digitalPinCount) { + return (*digitalPinMap[pin].pin >> digitalPinMap[pin].bit) & 1; + } else { + return badPinNumber(); + } +} +static inline __attribute__((always_inline)) + void fastDigitalWrite(uint8_t pin, uint8_t value) { + if (__builtin_constant_p(pin) && pin < digitalPinCount) { + if (value) { + *digitalPinMap[pin].port |= BIT(digitalPinMap[pin].bit); + } else { + *digitalPinMap[pin].port &= ~BIT(digitalPinMap[pin].bit); + } + } else { + badPinNumber(); + } +} +#endif // Sd2PinMap_h + + +#endif diff --git a/Marlin/SdBaseFile.cpp b/Marlin/SdBaseFile.cpp new file mode 100644 index 0000000..c72eced --- /dev/null +++ b/Marlin/SdBaseFile.cpp @@ -0,0 +1,1825 @@ +/* Arduino SdFat Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ + +#include "Marlin.h" +#ifdef SDSUPPORT + +#include "SdBaseFile.h" +//------------------------------------------------------------------------------ +// pointer to cwd directory +SdBaseFile* SdBaseFile::cwd_ = 0; +// callback function for date/time +void (*SdBaseFile::dateTime_)(uint16_t* date, uint16_t* time) = 0; +//------------------------------------------------------------------------------ +// add a cluster to a file +bool SdBaseFile::addCluster() { + if (!vol_->allocContiguous(1, &curCluster_)) goto fail; + + // if first cluster of file link to directory entry + if (firstCluster_ == 0) { + firstCluster_ = curCluster_; + flags_ |= F_FILE_DIR_DIRTY; + } + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +// Add a cluster to a directory file and zero the cluster. +// return with first block of cluster in the cache +bool SdBaseFile::addDirCluster() { + uint32_t block; + // max folder size + if (fileSize_/sizeof(dir_t) >= 0XFFFF) goto fail; + + if (!addCluster()) goto fail; + if (!vol_->cacheFlush()) goto fail; + + block = vol_->clusterStartBlock(curCluster_); + + // set cache to first block of cluster + vol_->cacheSetBlockNumber(block, true); + + // zero first block of cluster + memset(vol_->cacheBuffer_.data, 0, 512); + + // zero rest of cluster + for (uint8_t i = 1; i < vol_->blocksPerCluster_; i++) { + if (!vol_->writeBlock(block + i, vol_->cacheBuffer_.data)) goto fail; + } + // Increase directory file size by cluster size + fileSize_ += 512UL << vol_->clusterSizeShift_; + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +// cache a file's directory entry +// return pointer to cached entry or null for failure +dir_t* SdBaseFile::cacheDirEntry(uint8_t action) { + if (!vol_->cacheRawBlock(dirBlock_, action)) goto fail; + return vol_->cache()->dir + dirIndex_; + + fail: + return 0; +} +//------------------------------------------------------------------------------ +/** Close a file and force cached data and directory information + * to be written to the storage device. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include no file is open or an I/O error. + */ +bool SdBaseFile::close() { + bool rtn = sync(); + type_ = FAT_FILE_TYPE_CLOSED; + return rtn; +} +//------------------------------------------------------------------------------ +/** Check for contiguous file and return its raw block range. + * + * \param[out] bgnBlock the first block address for the file. + * \param[out] endBlock the last block address for the file. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include file is not contiguous, file has zero length + * or an I/O error occurred. + */ +bool SdBaseFile::contiguousRange(uint32_t* bgnBlock, uint32_t* endBlock) { + // error if no blocks + if (firstCluster_ == 0) goto fail; + + for (uint32_t c = firstCluster_; ; c++) { + uint32_t next; + if (!vol_->fatGet(c, &next)) goto fail; + + // check for contiguous + if (next != (c + 1)) { + // error if not end of chain + if (!vol_->isEOC(next)) goto fail; + *bgnBlock = vol_->clusterStartBlock(firstCluster_); + *endBlock = vol_->clusterStartBlock(c) + + vol_->blocksPerCluster_ - 1; + return true; + } + } + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Create and open a new contiguous file of a specified size. + * + * \note This function only supports short DOS 8.3 names. + * See open() for more information. + * + * \param[in] dirFile The directory where the file will be created. + * \param[in] path A path with a valid DOS 8.3 file name. + * \param[in] size The desired file size. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include \a path contains + * an invalid DOS 8.3 file name, the FAT volume has not been initialized, + * a file is already open, the file already exists, the root + * directory is full or an I/O error. + * + */ +bool SdBaseFile::createContiguous(SdBaseFile* dirFile, + const char* path, uint32_t size) { + uint32_t count; + // don't allow zero length file + if (size == 0) goto fail; + if (!open(dirFile, path, O_CREAT | O_EXCL | O_RDWR)) goto fail; + + // calculate number of clusters needed + count = ((size - 1) >> (vol_->clusterSizeShift_ + 9)) + 1; + + // allocate clusters + if (!vol_->allocContiguous(count, &firstCluster_)) { + remove(); + goto fail; + } + fileSize_ = size; + + // insure sync() will update dir entry + flags_ |= F_FILE_DIR_DIRTY; + + return sync(); + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Return a file's directory entry. + * + * \param[out] dir Location for return of the file's directory entry. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool SdBaseFile::dirEntry(dir_t* dir) { + dir_t* p; + // make sure fields on SD are correct + if (!sync()) goto fail; + + // read entry + p = cacheDirEntry(SdVolume::CACHE_FOR_READ); + if (!p) goto fail; + + // copy to caller's struct + memcpy(dir, p, sizeof(dir_t)); + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Format the name field of \a dir into the 13 byte array + * \a name in standard 8.3 short name format. + * + * \param[in] dir The directory structure containing the name. + * \param[out] name A 13 byte char array for the formatted name. + */ +void SdBaseFile::dirName(const dir_t& dir, char* name) { + uint8_t j = 0; + for (uint8_t i = 0; i < 11; i++) { + if (dir.name[i] == ' ')continue; + if (i == 8) name[j++] = '.'; + name[j++] = dir.name[i]; + } + name[j] = 0; +} +//------------------------------------------------------------------------------ +/** Test for the existence of a file in a directory + * + * \param[in] name Name of the file to be tested for. + * + * The calling instance must be an open directory file. + * + * dirFile.exists("TOFIND.TXT") searches for "TOFIND.TXT" in the directory + * dirFile. + * + * \return true if the file exists else false. + */ +bool SdBaseFile::exists(const char* name) { + SdBaseFile file; + return file.open(this, name, O_READ); +} +//------------------------------------------------------------------------------ +/** + * Get a string from a file. + * + * fgets() reads bytes from a file into the array pointed to by \a str, until + * \a num - 1 bytes are read, or a delimiter is read and transferred to \a str, + * or end-of-file is encountered. The string is then terminated + * with a null byte. + * + * fgets() deletes CR, '\\r', from the string. This insures only a '\\n' + * terminates the string for Windows text files which use CRLF for newline. + * + * \param[out] str Pointer to the array where the string is stored. + * \param[in] num Maximum number of characters to be read + * (including the final null byte). Usually the length + * of the array \a str is used. + * \param[in] delim Optional set of delimiters. The default is "\n". + * + * \return For success fgets() returns the length of the string in \a str. + * If no data is read, fgets() returns zero for EOF or -1 if an error occurred. + **/ +int16_t SdBaseFile::fgets(char* str, int16_t num, char* delim) { + char ch; + int16_t n = 0; + int16_t r = -1; + while ((n + 1) < num && (r = read(&ch, 1)) == 1) { + // delete CR + if (ch == '\r') continue; + str[n++] = ch; + if (!delim) { + if (ch == '\n') break; + } else { + if (strchr(delim, ch)) break; + } + } + if (r < 0) { + // read error + return -1; + } + str[n] = '\0'; + return n; +} +//------------------------------------------------------------------------------ +/** Get a file's name + * + * \param[out] name An array of 13 characters for the file's name. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool SdBaseFile::getFilename(char* name) { + if (!isOpen()) return false; + + if (isRoot()) { + name[0] = '/'; + name[1] = '\0'; + return true; + } + // cache entry + dir_t* p = cacheDirEntry(SdVolume::CACHE_FOR_READ); + if (!p) return false; + + // format name + dirName(*p, name); + return true; +} +//------------------------------------------------------------------------------ +void SdBaseFile::getpos(fpos_t* pos) { + pos->position = curPosition_; + pos->cluster = curCluster_; +} + +//------------------------------------------------------------------------------ +/** List directory contents. + * + * \param[in] pr Print stream for list. + * + * \param[in] flags The inclusive OR of + * + * LS_DATE - %Print file modification date + * + * LS_SIZE - %Print file size. + * + * LS_R - Recursive list of subdirectories. + * + * \param[in] indent Amount of space before file name. Used for recursive + * list to indicate subdirectory level. + */ +void SdBaseFile::ls(uint8_t flags, uint8_t indent) { + rewind(); + int8_t status; + while ((status = lsPrintNext( flags, indent))) { + if (status > 1 && (flags & LS_R)) { + uint16_t index = curPosition()/32 - 1; + SdBaseFile s; + if (s.open(this, index, O_READ)) s.ls( flags, indent + 2); + seekSet(32 * (index + 1)); + } + } +} +//------------------------------------------------------------------------------ +// saves 32 bytes on stack for ls recursion +// return 0 - EOF, 1 - normal file, or 2 - directory +int8_t SdBaseFile::lsPrintNext( uint8_t flags, uint8_t indent) { + dir_t dir; + uint8_t w = 0; + + while (1) { + if (read(&dir, sizeof(dir)) != sizeof(dir)) return 0; + if (dir.name[0] == DIR_NAME_FREE) return 0; + + // skip deleted entry and entries for . and .. + if (dir.name[0] != DIR_NAME_DELETED && dir.name[0] != '.' + && DIR_IS_FILE_OR_SUBDIR(&dir)) break; + } + // indent for dir level + for (uint8_t i = 0; i < indent; i++) MYSERIAL.write(' '); + + // print name + for (uint8_t i = 0; i < 11; i++) { + if (dir.name[i] == ' ')continue; + if (i == 8) { + MYSERIAL.write('.'); + w++; + } + MYSERIAL.write(dir.name[i]); + w++; + } + if (DIR_IS_SUBDIR(&dir)) { + MYSERIAL.write('/'); + w++; + } + if (flags & (LS_DATE | LS_SIZE)) { + while (w++ < 14) MYSERIAL.write(' '); + } + // print modify date/time if requested + if (flags & LS_DATE) { + MYSERIAL.write(' '); + printFatDate( dir.lastWriteDate); + MYSERIAL.write(' '); + printFatTime( dir.lastWriteTime); + } + // print size if requested + if (!DIR_IS_SUBDIR(&dir) && (flags & LS_SIZE)) { + MYSERIAL.write(' '); + MYSERIAL.print(dir.fileSize); + } + MYSERIAL.println(); + return DIR_IS_FILE(&dir) ? 1 : 2; +} +//------------------------------------------------------------------------------ +// format directory name field from a 8.3 name string +bool SdBaseFile::make83Name(const char* str, uint8_t* name, const char** ptr) { + uint8_t c; + uint8_t n = 7; // max index for part before dot + uint8_t i = 0; + // blank fill name and extension + while (i < 11) name[i++] = ' '; + i = 0; + while (*str != '\0' && *str != '/') { + c = *str++; + if (c == '.') { + if (n == 10) goto fail; // only one dot allowed + n = 10; // max index for full 8.3 name + i = 8; // place for extension + } else { + // illegal FAT characters + PGM_P p = PSTR("|<>^+=?/[];,*\"\\"); + uint8_t b; + while ((b = pgm_read_byte(p++))) if (b == c) goto fail; + // check size and only allow ASCII printable characters + if (i > n || c < 0X21 || c > 0X7E)goto fail; + // only upper case allowed in 8.3 names - convert lower to upper + name[i++] = (c < 'a' || c > 'z') ? (c) : (c + ('A' - 'a')); + } + } + *ptr = str; + // must have a file name, extension is optional + return name[0] != ' '; + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Make a new directory. + * + * \param[in] parent An open SdFat instance for the directory that will contain + * the new directory. + * + * \param[in] path A path with a valid 8.3 DOS name for the new directory. + * + * \param[in] pFlag Create missing parent directories if true. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include this file is already open, \a parent is not a + * directory, \a path is invalid or already exists in \a parent. + */ +bool SdBaseFile::mkdir(SdBaseFile* parent, const char* path, bool pFlag) { + uint8_t dname[11]; + SdBaseFile dir1, dir2; + SdBaseFile* sub = &dir1; + SdBaseFile* start = parent; + + if (!parent || isOpen()) goto fail; + + if (*path == '/') { + while (*path == '/') path++; + if (!parent->isRoot()) { + if (!dir2.openRoot(parent->vol_)) goto fail; + parent = &dir2; + } + } + while (1) { + if (!make83Name(path, dname, &path)) goto fail; + while (*path == '/') path++; + if (!*path) break; + if (!sub->open(parent, dname, O_READ)) { + if (!pFlag || !sub->mkdir(parent, dname)) { + goto fail; + } + } + if (parent != start) parent->close(); + parent = sub; + sub = parent != &dir1 ? &dir1 : &dir2; + } + return mkdir(parent, dname); + + fail: + return false; +} +//------------------------------------------------------------------------------ +bool SdBaseFile::mkdir(SdBaseFile* parent, const uint8_t dname[11]) { + uint32_t block; + dir_t d; + dir_t* p; + + if (!parent->isDir()) goto fail; + + // create a normal file + if (!open(parent, dname, O_CREAT | O_EXCL | O_RDWR)) goto fail; + + // convert file to directory + flags_ = O_READ; + type_ = FAT_FILE_TYPE_SUBDIR; + + // allocate and zero first cluster + if (!addDirCluster())goto fail; + + // force entry to SD + if (!sync()) goto fail; + + // cache entry - should already be in cache due to sync() call + p = cacheDirEntry(SdVolume::CACHE_FOR_WRITE); + if (!p) goto fail; + + // change directory entry attribute + p->attributes = DIR_ATT_DIRECTORY; + + // make entry for '.' + memcpy(&d, p, sizeof(d)); + d.name[0] = '.'; + for (uint8_t i = 1; i < 11; i++) d.name[i] = ' '; + + // cache block for '.' and '..' + block = vol_->clusterStartBlock(firstCluster_); + if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_WRITE)) goto fail; + + // copy '.' to block + memcpy(&vol_->cache()->dir[0], &d, sizeof(d)); + + // make entry for '..' + d.name[1] = '.'; + if (parent->isRoot()) { + d.firstClusterLow = 0; + d.firstClusterHigh = 0; + } else { + d.firstClusterLow = parent->firstCluster_ & 0XFFFF; + d.firstClusterHigh = parent->firstCluster_ >> 16; + } + // copy '..' to block + memcpy(&vol_->cache()->dir[1], &d, sizeof(d)); + + // write first block + return vol_->cacheFlush(); + + fail: + return false; +} +//------------------------------------------------------------------------------ + /** Open a file in the current working directory. + * + * \param[in] path A path with a valid 8.3 DOS name for a file to be opened. + * + * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive + * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t). + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ + bool SdBaseFile::open(const char* path, uint8_t oflag) { + return open(cwd_, path, oflag); + } +//------------------------------------------------------------------------------ +/** Open a file or directory by name. + * + * \param[in] dirFile An open SdFat instance for the directory containing the + * file to be opened. + * + * \param[in] path A path with a valid 8.3 DOS name for a file to be opened. + * + * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive + * OR of flags from the following list + * + * O_READ - Open for reading. + * + * O_RDONLY - Same as O_READ. + * + * O_WRITE - Open for writing. + * + * O_WRONLY - Same as O_WRITE. + * + * O_RDWR - Open for reading and writing. + * + * O_APPEND - If set, the file offset shall be set to the end of the + * file prior to each write. + * + * O_AT_END - Set the initial position at the end of the file. + * + * O_CREAT - If the file exists, this flag has no effect except as noted + * under O_EXCL below. Otherwise, the file shall be created + * + * O_EXCL - If O_CREAT and O_EXCL are set, open() shall fail if the file exists. + * + * O_SYNC - Call sync() after each write. This flag should not be used with + * write(uint8_t), write_P(PGM_P), writeln_P(PGM_P), or the Arduino Print class. + * These functions do character at a time writes so sync() will be called + * after each byte. + * + * O_TRUNC - If the file exists and is a regular file, and the file is + * successfully opened and is not read only, its length shall be truncated to 0. + * + * WARNING: A given file must not be opened by more than one SdBaseFile object + * of file corruption may occur. + * + * \note Directory files must be opened read only. Write and truncation is + * not allowed for directory files. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include this file is already open, \a dirFile is not + * a directory, \a path is invalid, the file does not exist + * or can't be opened in the access mode specified by oflag. + */ +bool SdBaseFile::open(SdBaseFile* dirFile, const char* path, uint8_t oflag) { + uint8_t dname[11]; + SdBaseFile dir1, dir2; + SdBaseFile *parent = dirFile; + SdBaseFile *sub = &dir1; + + if (!dirFile) goto fail; + + // error if already open + if (isOpen()) goto fail; + + if (*path == '/') { + while (*path == '/') path++; + if (!dirFile->isRoot()) { + if (!dir2.openRoot(dirFile->vol_)) goto fail; + parent = &dir2; + } + } + while (1) { + if (!make83Name(path, dname, &path)) goto fail; + while (*path == '/') path++; + if (!*path) break; + if (!sub->open(parent, dname, O_READ)) goto fail; + if (parent != dirFile) parent->close(); + parent = sub; + sub = parent != &dir1 ? &dir1 : &dir2; + } + return open(parent, dname, oflag); + + fail: + return false; +} +//------------------------------------------------------------------------------ +// open with filename in dname +bool SdBaseFile::open(SdBaseFile* dirFile, + const uint8_t dname[11], uint8_t oflag) { + bool emptyFound = false; + bool fileFound = false; + uint8_t index; + dir_t* p; + + vol_ = dirFile->vol_; + + dirFile->rewind(); + // search for file + + while (dirFile->curPosition_ < dirFile->fileSize_) { + index = 0XF & (dirFile->curPosition_ >> 5); + p = dirFile->readDirCache(); + if (!p) goto fail; + + if (p->name[0] == DIR_NAME_FREE || p->name[0] == DIR_NAME_DELETED) { + // remember first empty slot + if (!emptyFound) { + dirBlock_ = dirFile->vol_->cacheBlockNumber(); + dirIndex_ = index; + emptyFound = true; + } + // done if no entries follow + if (p->name[0] == DIR_NAME_FREE) break; + } else if (!memcmp(dname, p->name, 11)) { + fileFound = true; + break; + } + } + if (fileFound) { + // don't open existing file if O_EXCL + if (oflag & O_EXCL) goto fail; + } else { + // don't create unless O_CREAT and O_WRITE + if (!(oflag & O_CREAT) || !(oflag & O_WRITE)) goto fail; + if (emptyFound) { + index = dirIndex_; + p = cacheDirEntry(SdVolume::CACHE_FOR_WRITE); + if (!p) goto fail; + } else { + if (dirFile->type_ == FAT_FILE_TYPE_ROOT_FIXED) goto fail; + + // add and zero cluster for dirFile - first cluster is in cache for write + if (!dirFile->addDirCluster()) goto fail; + + // use first entry in cluster + p = dirFile->vol_->cache()->dir; + index = 0; + } + // initialize as empty file + memset(p, 0, sizeof(dir_t)); + memcpy(p->name, dname, 11); + + // set timestamps + if (dateTime_) { + // call user date/time function + dateTime_(&p->creationDate, &p->creationTime); + } else { + // use default date/time + p->creationDate = FAT_DEFAULT_DATE; + p->creationTime = FAT_DEFAULT_TIME; + } + p->lastAccessDate = p->creationDate; + p->lastWriteDate = p->creationDate; + p->lastWriteTime = p->creationTime; + + // write entry to SD + if (!dirFile->vol_->cacheFlush()) goto fail; + } + // open entry in cache + return openCachedEntry(index, oflag); + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Open a file by index. + * + * \param[in] dirFile An open SdFat instance for the directory. + * + * \param[in] index The \a index of the directory entry for the file to be + * opened. The value for \a index is (directory file position)/32. + * + * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive + * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC. + * + * See open() by path for definition of flags. + * \return true for success or false for failure. + */ +bool SdBaseFile::open(SdBaseFile* dirFile, uint16_t index, uint8_t oflag) { + dir_t* p; + + vol_ = dirFile->vol_; + + // error if already open + if (isOpen() || !dirFile) goto fail; + + // don't open existing file if O_EXCL - user call error + if (oflag & O_EXCL) goto fail; + + // seek to location of entry + if (!dirFile->seekSet(32 * index)) goto fail; + + // read entry into cache + p = dirFile->readDirCache(); + if (!p) goto fail; + + // error if empty slot or '.' or '..' + if (p->name[0] == DIR_NAME_FREE || + p->name[0] == DIR_NAME_DELETED || p->name[0] == '.') { + goto fail; + } + // open cached entry + return openCachedEntry(index & 0XF, oflag); + + fail: + return false; +} +//------------------------------------------------------------------------------ +// open a cached directory entry. Assumes vol_ is initialized +bool SdBaseFile::openCachedEntry(uint8_t dirIndex, uint8_t oflag) { + // location of entry in cache + dir_t* p = &vol_->cache()->dir[dirIndex]; + + // write or truncate is an error for a directory or read-only file + if (p->attributes & (DIR_ATT_READ_ONLY | DIR_ATT_DIRECTORY)) { + if (oflag & (O_WRITE | O_TRUNC)) goto fail; + } + // remember location of directory entry on SD + dirBlock_ = vol_->cacheBlockNumber(); + dirIndex_ = dirIndex; + + // copy first cluster number for directory fields + firstCluster_ = (uint32_t)p->firstClusterHigh << 16; + firstCluster_ |= p->firstClusterLow; + + // make sure it is a normal file or subdirectory + if (DIR_IS_FILE(p)) { + fileSize_ = p->fileSize; + type_ = FAT_FILE_TYPE_NORMAL; + } else if (DIR_IS_SUBDIR(p)) { + if (!vol_->chainSize(firstCluster_, &fileSize_)) goto fail; + type_ = FAT_FILE_TYPE_SUBDIR; + } else { + goto fail; + } + // save open flags for read/write + flags_ = oflag & F_OFLAG; + + // set to start of file + curCluster_ = 0; + curPosition_ = 0; + if ((oflag & O_TRUNC) && !truncate(0)) return false; + return oflag & O_AT_END ? seekEnd(0) : true; + + fail: + type_ = FAT_FILE_TYPE_CLOSED; + return false; +} +//------------------------------------------------------------------------------ +/** Open the next file or subdirectory in a directory. + * + * \param[in] dirFile An open SdFat instance for the directory containing the + * file to be opened. + * + * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive + * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC. + * + * See open() by path for definition of flags. + * \return true for success or false for failure. + */ +bool SdBaseFile::openNext(SdBaseFile* dirFile, uint8_t oflag) { + dir_t* p; + uint8_t index; + + if (!dirFile) goto fail; + + // error if already open + if (isOpen()) goto fail; + + vol_ = dirFile->vol_; + + while (1) { + index = 0XF & (dirFile->curPosition_ >> 5); + + // read entry into cache + p = dirFile->readDirCache(); + if (!p) goto fail; + + // done if last entry + if (p->name[0] == DIR_NAME_FREE) goto fail; + + // skip empty slot or '.' or '..' + if (p->name[0] == DIR_NAME_DELETED || p->name[0] == '.') { + continue; + } + // must be file or dir + if (DIR_IS_FILE_OR_SUBDIR(p)) { + return openCachedEntry(index, oflag); + } + } + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Open a directory's parent directory. + * + * \param[in] dir Parent of this directory will be opened. Must not be root. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool SdBaseFile::openParent(SdBaseFile* dir) { + dir_t entry; + dir_t* p; + SdBaseFile file; + uint32_t c; + uint32_t cluster; + uint32_t lbn; + // error if already open or dir is root or dir is not a directory + if (isOpen() || !dir || dir->isRoot() || !dir->isDir()) goto fail; + vol_ = dir->vol_; + // position to '..' + if (!dir->seekSet(32)) goto fail; + // read '..' entry + if (dir->read(&entry, sizeof(entry)) != 32) goto fail; + // verify it is '..' + if (entry.name[0] != '.' || entry.name[1] != '.') goto fail; + // start cluster for '..' + cluster = entry.firstClusterLow; + cluster |= (uint32_t)entry.firstClusterHigh << 16; + if (cluster == 0) return openRoot(vol_); + // start block for '..' + lbn = vol_->clusterStartBlock(cluster); + // first block of parent dir + if (!vol_->cacheRawBlock(lbn, SdVolume::CACHE_FOR_READ)) { + goto fail; + } + p = &vol_->cacheBuffer_.dir[1]; + // verify name for '../..' + if (p->name[0] != '.' || p->name[1] != '.') goto fail; + // '..' is pointer to first cluster of parent. open '../..' to find parent + if (p->firstClusterHigh == 0 && p->firstClusterLow == 0) { + if (!file.openRoot(dir->volume())) goto fail; + } else { + if (!file.openCachedEntry(1, O_READ)) goto fail; + } + // search for parent in '../..' + do { + if (file.readDir(&entry, NULL) != 32) goto fail; + c = entry.firstClusterLow; + c |= (uint32_t)entry.firstClusterHigh << 16; + } while (c != cluster); + // open parent + return open(&file, file.curPosition()/32 - 1, O_READ); + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Open a volume's root directory. + * + * \param[in] vol The FAT volume containing the root directory to be opened. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include the file is already open, the FAT volume has + * not been initialized or it a FAT12 volume. + */ +bool SdBaseFile::openRoot(SdVolume* vol) { + // error if file is already open + if (isOpen()) goto fail; + + if (vol->fatType() == 16 || (FAT12_SUPPORT && vol->fatType() == 12)) { + type_ = FAT_FILE_TYPE_ROOT_FIXED; + firstCluster_ = 0; + fileSize_ = 32 * vol->rootDirEntryCount(); + } else if (vol->fatType() == 32) { + type_ = FAT_FILE_TYPE_ROOT32; + firstCluster_ = vol->rootDirStart(); + if (!vol->chainSize(firstCluster_, &fileSize_)) goto fail; + } else { + // volume is not initialized, invalid, or FAT12 without support + return false; + } + vol_ = vol; + // read only + flags_ = O_READ; + + // set to start of file + curCluster_ = 0; + curPosition_ = 0; + + // root has no directory entry + dirBlock_ = 0; + dirIndex_ = 0; + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Return the next available byte without consuming it. + * + * \return The byte if no error and not at eof else -1; + */ +int SdBaseFile::peek() { + fpos_t pos; + getpos(&pos); + int c = read(); + if (c >= 0) setpos(&pos); + return c; +} + +//------------------------------------------------------------------------------ +/** %Print the name field of a directory entry in 8.3 format. + * \param[in] pr Print stream for output. + * \param[in] dir The directory structure containing the name. + * \param[in] width Blank fill name if length is less than \a width. + * \param[in] printSlash Print '/' after directory names if true. + */ +void SdBaseFile::printDirName(const dir_t& dir, + uint8_t width, bool printSlash) { + uint8_t w = 0; + for (uint8_t i = 0; i < 11; i++) { + if (dir.name[i] == ' ')continue; + if (i == 8) { + MYSERIAL.write('.'); + w++; + } + MYSERIAL.write(dir.name[i]); + w++; + } + if (DIR_IS_SUBDIR(&dir) && printSlash) { + MYSERIAL.write('/'); + w++; + } + while (w < width) { + MYSERIAL.write(' '); + w++; + } +} +//------------------------------------------------------------------------------ +// print uint8_t with width 2 +static void print2u( uint8_t v) { + if (v < 10) MYSERIAL.write('0'); + MYSERIAL.print(v, DEC); +} +//------------------------------------------------------------------------------ +/** %Print a directory date field to Serial. + * + * Format is yyyy-mm-dd. + * + * \param[in] fatDate The date field from a directory entry. + */ + +//------------------------------------------------------------------------------ +/** %Print a directory date field. + * + * Format is yyyy-mm-dd. + * + * \param[in] pr Print stream for output. + * \param[in] fatDate The date field from a directory entry. + */ +void SdBaseFile::printFatDate(uint16_t fatDate) { + MYSERIAL.print(FAT_YEAR(fatDate)); + MYSERIAL.write('-'); + print2u( FAT_MONTH(fatDate)); + MYSERIAL.write('-'); + print2u( FAT_DAY(fatDate)); +} + +//------------------------------------------------------------------------------ +/** %Print a directory time field. + * + * Format is hh:mm:ss. + * + * \param[in] pr Print stream for output. + * \param[in] fatTime The time field from a directory entry. + */ +void SdBaseFile::printFatTime( uint16_t fatTime) { + print2u( FAT_HOUR(fatTime)); + MYSERIAL.write(':'); + print2u( FAT_MINUTE(fatTime)); + MYSERIAL.write(':'); + print2u( FAT_SECOND(fatTime)); +} +//------------------------------------------------------------------------------ +/** Print a file's name to Serial + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool SdBaseFile::printName() { + char name[FILENAME_LENGTH]; + if (!getFilename(name)) return false; + MYSERIAL.print(name); + return true; +} +//------------------------------------------------------------------------------ +/** Read the next byte from a file. + * + * \return For success read returns the next byte in the file as an int. + * If an error occurs or end of file is reached -1 is returned. + */ +int16_t SdBaseFile::read() { + uint8_t b; + return read(&b, 1) == 1 ? b : -1; +} +//------------------------------------------------------------------------------ +/** Read data from a file starting at the current position. + * + * \param[out] buf Pointer to the location that will receive the data. + * + * \param[in] nbyte Maximum number of bytes to read. + * + * \return For success read() returns the number of bytes read. + * A value less than \a nbyte, including zero, will be returned + * if end of file is reached. + * If an error occurs, read() returns -1. Possible errors include + * read() called before a file has been opened, corrupt file system + * or an I/O error occurred. + */ +int16_t SdBaseFile::read(void* buf, uint16_t nbyte) { + uint8_t* dst = reinterpret_cast(buf); + uint16_t offset; + uint16_t toRead; + uint32_t block; // raw device block number + + // error if not open or write only + if (!isOpen() || !(flags_ & O_READ)) goto fail; + + // max bytes left in file + if (nbyte >= (fileSize_ - curPosition_)) { + nbyte = fileSize_ - curPosition_; + } + // amount left to read + toRead = nbyte; + while (toRead > 0) { + offset = curPosition_ & 0X1FF; // offset in block + if (type_ == FAT_FILE_TYPE_ROOT_FIXED) { + block = vol_->rootDirStart() + (curPosition_ >> 9); + } else { + uint8_t blockOfCluster = vol_->blockOfCluster(curPosition_); + if (offset == 0 && blockOfCluster == 0) { + // start of new cluster + if (curPosition_ == 0) { + // use first cluster in file + curCluster_ = firstCluster_; + } else { + // get next cluster from FAT + if (!vol_->fatGet(curCluster_, &curCluster_)) goto fail; + } + } + block = vol_->clusterStartBlock(curCluster_) + blockOfCluster; + } + uint16_t n = toRead; + + // amount to be read from current block + if (n > (512 - offset)) n = 512 - offset; + + // no buffering needed if n == 512 + if (n == 512 && block != vol_->cacheBlockNumber()) { + if (!vol_->readBlock(block, dst)) goto fail; + } else { + // read block to cache and copy data to caller + if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_READ)) goto fail; + uint8_t* src = vol_->cache()->data + offset; + memcpy(dst, src, n); + } + dst += n; + curPosition_ += n; + toRead -= n; + } + return nbyte; + + fail: + return -1; +} +//------------------------------------------------------------------------------ +/** Read the next directory entry from a directory file. + * + * \param[out] dir The dir_t struct that will receive the data. + * + * \return For success readDir() returns the number of bytes read. + * A value of zero will be returned if end of file is reached. + * If an error occurs, readDir() returns -1. Possible errors include + * readDir() called before a directory has been opened, this is not + * a directory file or an I/O error occurred. + */ +int8_t SdBaseFile::readDir(dir_t* dir, char* longFilename) { + int16_t n; + // if not a directory file or miss-positioned return an error + if (!isDir() || (0X1F & curPosition_)) return -1; + + //If we have a longFilename buffer, mark it as invalid. If we find a long filename it will be filled automaticly. + if (longFilename != NULL) + { + longFilename[0] = '\0'; + } + + while (1) { + n = read(dir, sizeof(dir_t)); + if (n != sizeof(dir_t)) return n == 0 ? 0 : -1; + // last entry if DIR_NAME_FREE + if (dir->name[0] == DIR_NAME_FREE) return 0; + // skip empty entries and entry for . and .. + if (dir->name[0] == DIR_NAME_DELETED || dir->name[0] == '.') continue; + //Fill the long filename if we have a long filename entry, + // long filename entries are stored before the actual filename. + if (DIR_IS_LONG_NAME(dir) && longFilename != NULL) + { + vfat_t *VFAT = (vfat_t*)dir; + //Sanity check the VFAT entry. The first cluster is always set to zero. And th esequence number should be higher then 0 + if (VFAT->firstClusterLow == 0 && (VFAT->sequenceNumber & 0x1F) > 0 && (VFAT->sequenceNumber & 0x1F) <= MAX_VFAT_ENTRIES) + { + //TODO: Store the filename checksum to verify if a none-long filename aware system modified the file table. + n = ((VFAT->sequenceNumber & 0x1F) - 1) * FILENAME_LENGTH; + longFilename[n+0] = VFAT->name1[0]; + longFilename[n+1] = VFAT->name1[1]; + longFilename[n+2] = VFAT->name1[2]; + longFilename[n+3] = VFAT->name1[3]; + longFilename[n+4] = VFAT->name1[4]; + longFilename[n+5] = VFAT->name2[0]; + longFilename[n+6] = VFAT->name2[1]; + longFilename[n+7] = VFAT->name2[2]; + longFilename[n+8] = VFAT->name2[3]; + longFilename[n+9] = VFAT->name2[4]; + longFilename[n+10] = VFAT->name2[5]; + longFilename[n+11] = VFAT->name3[0]; + longFilename[n+12] = VFAT->name3[1]; + //If this VFAT entry is the last one, add a NUL terminator at the end of the string + if (VFAT->sequenceNumber & 0x40) + longFilename[n+FILENAME_LENGTH] = '\0'; + } + } + // return if normal file or subdirectory + if (DIR_IS_FILE_OR_SUBDIR(dir)) return n; + } +} +//------------------------------------------------------------------------------ +// Read next directory entry into the cache +// Assumes file is correctly positioned +dir_t* SdBaseFile::readDirCache() { + uint8_t i; + // error if not directory + if (!isDir()) goto fail; + + // index of entry in cache + i = (curPosition_ >> 5) & 0XF; + + // use read to locate and cache block + if (read() < 0) goto fail; + + // advance to next entry + curPosition_ += 31; + + // return pointer to entry + return vol_->cache()->dir + i; + + fail: + return 0; +} +//------------------------------------------------------------------------------ +/** Remove a file. + * + * The directory entry and all data for the file are deleted. + * + * \note This function should not be used to delete the 8.3 version of a + * file that has a long name. For example if a file has the long name + * "New Text Document.txt" you should not delete the 8.3 name "NEWTEX~1.TXT". + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include the file read-only, is a directory, + * or an I/O error occurred. + */ +bool SdBaseFile::remove() { + dir_t* d; + // free any clusters - will fail if read-only or directory + if (!truncate(0)) goto fail; + + // cache directory entry + d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE); + if (!d) goto fail; + + // mark entry deleted + d->name[0] = DIR_NAME_DELETED; + + // set this file closed + type_ = FAT_FILE_TYPE_CLOSED; + + // write entry to SD + return vol_->cacheFlush(); + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Remove a file. + * + * The directory entry and all data for the file are deleted. + * + * \param[in] dirFile The directory that contains the file. + * \param[in] path Path for the file to be removed. + * + * \note This function should not be used to delete the 8.3 version of a + * file that has a long name. For example if a file has the long name + * "New Text Document.txt" you should not delete the 8.3 name "NEWTEX~1.TXT". + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include the file is a directory, is read only, + * \a dirFile is not a directory, \a path is not found + * or an I/O error occurred. + */ +bool SdBaseFile::remove(SdBaseFile* dirFile, const char* path) { + SdBaseFile file; + if (!file.open(dirFile, path, O_WRITE)) goto fail; + return file.remove(); + + fail: + // can't set iostate - static function + return false; +} +//------------------------------------------------------------------------------ +/** Rename a file or subdirectory. + * + * \param[in] dirFile Directory for the new path. + * \param[in] newPath New path name for the file/directory. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include \a dirFile is not open or is not a directory + * file, newPath is invalid or already exists, or an I/O error occurs. + */ +bool SdBaseFile::rename(SdBaseFile* dirFile, const char* newPath) { + dir_t entry; + uint32_t dirCluster = 0; + SdBaseFile file; + dir_t* d; + + // must be an open file or subdirectory + if (!(isFile() || isSubDir())) goto fail; + + // can't move file + if (vol_ != dirFile->vol_) goto fail; + + // sync() and cache directory entry + sync(); + d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE); + if (!d) goto fail; + + // save directory entry + memcpy(&entry, d, sizeof(entry)); + + // mark entry deleted + d->name[0] = DIR_NAME_DELETED; + + // make directory entry for new path + if (isFile()) { + if (!file.open(dirFile, newPath, O_CREAT | O_EXCL | O_WRITE)) { + goto restore; + } + } else { + // don't create missing path prefix components + if (!file.mkdir(dirFile, newPath, false)) { + goto restore; + } + // save cluster containing new dot dot + dirCluster = file.firstCluster_; + } + // change to new directory entry + dirBlock_ = file.dirBlock_; + dirIndex_ = file.dirIndex_; + + // mark closed to avoid possible destructor close call + file.type_ = FAT_FILE_TYPE_CLOSED; + + // cache new directory entry + d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE); + if (!d) goto fail; + + // copy all but name field to new directory entry + memcpy(&d->attributes, &entry.attributes, sizeof(entry) - sizeof(d->name)); + + // update dot dot if directory + if (dirCluster) { + // get new dot dot + uint32_t block = vol_->clusterStartBlock(dirCluster); + if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_READ)) goto fail; + memcpy(&entry, &vol_->cache()->dir[1], sizeof(entry)); + + // free unused cluster + if (!vol_->freeChain(dirCluster)) goto fail; + + // store new dot dot + block = vol_->clusterStartBlock(firstCluster_); + if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_WRITE)) goto fail; + memcpy(&vol_->cache()->dir[1], &entry, sizeof(entry)); + } + return vol_->cacheFlush(); + + restore: + d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE); + if (!d) goto fail; + // restore entry + d->name[0] = entry.name[0]; + vol_->cacheFlush(); + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Remove a directory file. + * + * The directory file will be removed only if it is empty and is not the + * root directory. rmdir() follows DOS and Windows and ignores the + * read-only attribute for the directory. + * + * \note This function should not be used to delete the 8.3 version of a + * directory that has a long name. For example if a directory has the + * long name "New folder" you should not delete the 8.3 name "NEWFOL~1". + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include the file is not a directory, is the root + * directory, is not empty, or an I/O error occurred. + */ +bool SdBaseFile::rmdir() { + // must be open subdirectory + if (!isSubDir()) goto fail; + + rewind(); + + // make sure directory is empty + while (curPosition_ < fileSize_) { + dir_t* p = readDirCache(); + if (!p) goto fail; + // done if past last used entry + if (p->name[0] == DIR_NAME_FREE) break; + // skip empty slot, '.' or '..' + if (p->name[0] == DIR_NAME_DELETED || p->name[0] == '.') continue; + // error not empty + if (DIR_IS_FILE_OR_SUBDIR(p)) goto fail; + } + // convert empty directory to normal file for remove + type_ = FAT_FILE_TYPE_NORMAL; + flags_ |= O_WRITE; + return remove(); + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Recursively delete a directory and all contained files. + * + * This is like the Unix/Linux 'rm -rf *' if called with the root directory + * hence the name. + * + * Warning - This will remove all contents of the directory including + * subdirectories. The directory will then be removed if it is not root. + * The read-only attribute for files will be ignored. + * + * \note This function should not be used to delete the 8.3 version of + * a directory that has a long name. See remove() and rmdir(). + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool SdBaseFile::rmRfStar() { + uint16_t index; + SdBaseFile f; + rewind(); + while (curPosition_ < fileSize_) { + // remember position + index = curPosition_/32; + + dir_t* p = readDirCache(); + if (!p) goto fail; + + // done if past last entry + if (p->name[0] == DIR_NAME_FREE) break; + + // skip empty slot or '.' or '..' + if (p->name[0] == DIR_NAME_DELETED || p->name[0] == '.') continue; + + // skip if part of long file name or volume label in root + if (!DIR_IS_FILE_OR_SUBDIR(p)) continue; + + if (!f.open(this, index, O_READ)) goto fail; + if (f.isSubDir()) { + // recursively delete + if (!f.rmRfStar()) goto fail; + } else { + // ignore read-only + f.flags_ |= O_WRITE; + if (!f.remove()) goto fail; + } + // position to next entry if required + if (curPosition_ != (32*(index + 1))) { + if (!seekSet(32*(index + 1))) goto fail; + } + } + // don't try to delete root + if (!isRoot()) { + if (!rmdir()) goto fail; + } + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Create a file object and open it in the current working directory. + * + * \param[in] path A path with a valid 8.3 DOS name for a file to be opened. + * + * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive + * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t). + */ +SdBaseFile::SdBaseFile(const char* path, uint8_t oflag) { + type_ = FAT_FILE_TYPE_CLOSED; + writeError = false; + open(path, oflag); +} +//------------------------------------------------------------------------------ +/** Sets a file's position. + * + * \param[in] pos The new position in bytes from the beginning of the file. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool SdBaseFile::seekSet(uint32_t pos) { + uint32_t nCur; + uint32_t nNew; + // error if file not open or seek past end of file + if (!isOpen() || pos > fileSize_) goto fail; + + if (type_ == FAT_FILE_TYPE_ROOT_FIXED) { + curPosition_ = pos; + goto done; + } + if (pos == 0) { + // set position to start of file + curCluster_ = 0; + curPosition_ = 0; + goto done; + } + // calculate cluster index for cur and new position + nCur = (curPosition_ - 1) >> (vol_->clusterSizeShift_ + 9); + nNew = (pos - 1) >> (vol_->clusterSizeShift_ + 9); + + if (nNew < nCur || curPosition_ == 0) { + // must follow chain from first cluster + curCluster_ = firstCluster_; + } else { + // advance from curPosition + nNew -= nCur; + } + while (nNew--) { + if (!vol_->fatGet(curCluster_, &curCluster_)) goto fail; + } + curPosition_ = pos; + + done: + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +void SdBaseFile::setpos(fpos_t* pos) { + curPosition_ = pos->position; + curCluster_ = pos->cluster; +} +//------------------------------------------------------------------------------ +/** The sync() call causes all modified data and directory fields + * to be written to the storage device. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include a call to sync() before a file has been + * opened or an I/O error. + */ +bool SdBaseFile::sync() { + // only allow open files and directories + if (!isOpen()) goto fail; + + if (flags_ & F_FILE_DIR_DIRTY) { + dir_t* d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE); + // check for deleted by another open file object + if (!d || d->name[0] == DIR_NAME_DELETED) goto fail; + + // do not set filesize for dir files + if (!isDir()) d->fileSize = fileSize_; + + // update first cluster fields + d->firstClusterLow = firstCluster_ & 0XFFFF; + d->firstClusterHigh = firstCluster_ >> 16; + + // set modify time if user supplied a callback date/time function + if (dateTime_) { + dateTime_(&d->lastWriteDate, &d->lastWriteTime); + d->lastAccessDate = d->lastWriteDate; + } + // clear directory dirty + flags_ &= ~F_FILE_DIR_DIRTY; + } + return vol_->cacheFlush(); + + fail: + writeError = true; + return false; +} +//------------------------------------------------------------------------------ +/** Copy a file's timestamps + * + * \param[in] file File to copy timestamps from. + * + * \note + * Modify and access timestamps may be overwritten if a date time callback + * function has been set by dateTimeCallback(). + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool SdBaseFile::timestamp(SdBaseFile* file) { + dir_t* d; + dir_t dir; + + // get timestamps + if (!file->dirEntry(&dir)) goto fail; + + // update directory fields + if (!sync()) goto fail; + + d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE); + if (!d) goto fail; + + // copy timestamps + d->lastAccessDate = dir.lastAccessDate; + d->creationDate = dir.creationDate; + d->creationTime = dir.creationTime; + d->creationTimeTenths = dir.creationTimeTenths; + d->lastWriteDate = dir.lastWriteDate; + d->lastWriteTime = dir.lastWriteTime; + + // write back entry + return vol_->cacheFlush(); + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Set a file's timestamps in its directory entry. + * + * \param[in] flags Values for \a flags are constructed by a bitwise-inclusive + * OR of flags from the following list + * + * T_ACCESS - Set the file's last access date. + * + * T_CREATE - Set the file's creation date and time. + * + * T_WRITE - Set the file's last write/modification date and time. + * + * \param[in] year Valid range 1980 - 2107 inclusive. + * + * \param[in] month Valid range 1 - 12 inclusive. + * + * \param[in] day Valid range 1 - 31 inclusive. + * + * \param[in] hour Valid range 0 - 23 inclusive. + * + * \param[in] minute Valid range 0 - 59 inclusive. + * + * \param[in] second Valid range 0 - 59 inclusive + * + * \note It is possible to set an invalid date since there is no check for + * the number of days in a month. + * + * \note + * Modify and access timestamps may be overwritten if a date time callback + * function has been set by dateTimeCallback(). + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + */ +bool SdBaseFile::timestamp(uint8_t flags, uint16_t year, uint8_t month, + uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) { + uint16_t dirDate; + uint16_t dirTime; + dir_t* d; + + if (!isOpen() + || year < 1980 + || year > 2107 + || month < 1 + || month > 12 + || day < 1 + || day > 31 + || hour > 23 + || minute > 59 + || second > 59) { + goto fail; + } + // update directory entry + if (!sync()) goto fail; + + d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE); + if (!d) goto fail; + + dirDate = FAT_DATE(year, month, day); + dirTime = FAT_TIME(hour, minute, second); + if (flags & T_ACCESS) { + d->lastAccessDate = dirDate; + } + if (flags & T_CREATE) { + d->creationDate = dirDate; + d->creationTime = dirTime; + // seems to be units of 1/100 second not 1/10 as Microsoft states + d->creationTimeTenths = second & 1 ? 100 : 0; + } + if (flags & T_WRITE) { + d->lastWriteDate = dirDate; + d->lastWriteTime = dirTime; + } + return vol_->cacheFlush(); + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Truncate a file to a specified length. The current file position + * will be maintained if it is less than or equal to \a length otherwise + * it will be set to end of file. + * + * \param[in] length The desired length for the file. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. + * Reasons for failure include file is read only, file is a directory, + * \a length is greater than the current file size or an I/O error occurs. + */ +bool SdBaseFile::truncate(uint32_t length) { + uint32_t newPos; + // error if not a normal file or read-only + if (!isFile() || !(flags_ & O_WRITE)) goto fail; + + // error if length is greater than current size + if (length > fileSize_) goto fail; + + // fileSize and length are zero - nothing to do + if (fileSize_ == 0) return true; + + // remember position for seek after truncation + newPos = curPosition_ > length ? length : curPosition_; + + // position to last cluster in truncated file + if (!seekSet(length)) goto fail; + + if (length == 0) { + // free all clusters + if (!vol_->freeChain(firstCluster_)) goto fail; + firstCluster_ = 0; + } else { + uint32_t toFree; + if (!vol_->fatGet(curCluster_, &toFree)) goto fail; + + if (!vol_->isEOC(toFree)) { + // free extra clusters + if (!vol_->freeChain(toFree)) goto fail; + + // current cluster is end of chain + if (!vol_->fatPutEOC(curCluster_)) goto fail; + } + } + fileSize_ = length; + + // need to update directory entry + flags_ |= F_FILE_DIR_DIRTY; + + if (!sync()) goto fail; + + // set file to correct position + return seekSet(newPos); + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Write data to an open file. + * + * \note Data is moved to the cache but may not be written to the + * storage device until sync() is called. + * + * \param[in] buf Pointer to the location of the data to be written. + * + * \param[in] nbyte Number of bytes to write. + * + * \return For success write() returns the number of bytes written, always + * \a nbyte. If an error occurs, write() returns -1. Possible errors + * include write() is called before a file has been opened, write is called + * for a read-only file, device is full, a corrupt file system or an I/O error. + * + */ +int16_t SdBaseFile::write(const void* buf, uint16_t nbyte) { + // convert void* to uint8_t* - must be before goto statements + const uint8_t* src = reinterpret_cast(buf); + + // number of bytes left to write - must be before goto statements + uint16_t nToWrite = nbyte; + + // error if not a normal file or is read-only + if (!isFile() || !(flags_ & O_WRITE)) goto fail; + + // seek to end of file if append flag + if ((flags_ & O_APPEND) && curPosition_ != fileSize_) { + if (!seekEnd()) goto fail; + } + + while (nToWrite > 0) { + uint8_t blockOfCluster = vol_->blockOfCluster(curPosition_); + uint16_t blockOffset = curPosition_ & 0X1FF; + if (blockOfCluster == 0 && blockOffset == 0) { + // start of new cluster + if (curCluster_ == 0) { + if (firstCluster_ == 0) { + // allocate first cluster of file + if (!addCluster()) goto fail; + } else { + curCluster_ = firstCluster_; + } + } else { + uint32_t next; + if (!vol_->fatGet(curCluster_, &next)) goto fail; + if (vol_->isEOC(next)) { + // add cluster if at end of chain + if (!addCluster()) goto fail; + } else { + curCluster_ = next; + } + } + } + // max space in block + uint16_t n = 512 - blockOffset; + + // lesser of space and amount to write + if (n > nToWrite) n = nToWrite; + + // block for data write + uint32_t block = vol_->clusterStartBlock(curCluster_) + blockOfCluster; + if (n == 512) { + // full block - don't need to use cache + if (vol_->cacheBlockNumber() == block) { + // invalidate cache if block is in cache + vol_->cacheSetBlockNumber(0XFFFFFFFF, false); + } + if (!vol_->writeBlock(block, src)) goto fail; + } else { + if (blockOffset == 0 && curPosition_ >= fileSize_) { + // start of new block don't need to read into cache + if (!vol_->cacheFlush()) goto fail; + // set cache dirty and SD address of block + vol_->cacheSetBlockNumber(block, true); + } else { + // rewrite part of block + if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_WRITE)) goto fail; + } + uint8_t* dst = vol_->cache()->data + blockOffset; + memcpy(dst, src, n); + } + curPosition_ += n; + src += n; + nToWrite -= n; + } + if (curPosition_ > fileSize_) { + // update fileSize and insure sync will update dir entry + fileSize_ = curPosition_; + flags_ |= F_FILE_DIR_DIRTY; + } else if (dateTime_ && nbyte) { + // insure sync will update modified date and time + flags_ |= F_FILE_DIR_DIRTY; + } + + if (flags_ & O_SYNC) { + if (!sync()) goto fail; + } + return nbyte; + + fail: + // return for write error + writeError = true; + return -1; +} +//------------------------------------------------------------------------------ +// suppress cpplint warnings with NOLINT comment +#if ALLOW_DEPRECATED_FUNCTIONS && !defined(DOXYGEN) +void (*SdBaseFile::oldDateTime_)(uint16_t& date, uint16_t& time) = 0; // NOLINT +#endif // ALLOW_DEPRECATED_FUNCTIONS + + +#endif diff --git a/Marlin/SdBaseFile.h b/Marlin/SdBaseFile.h new file mode 100644 index 0000000..dea299a --- /dev/null +++ b/Marlin/SdBaseFile.h @@ -0,0 +1,483 @@ +/* Arduino SdFat Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +#include "Marlin.h" +#ifdef SDSUPPORT + +#ifndef SdBaseFile_h +#define SdBaseFile_h +/** + * \file + * \brief SdBaseFile class + */ +#include "Marlin.h" +#include "SdFatConfig.h" +#include "SdVolume.h" +//------------------------------------------------------------------------------ +/** + * \struct fpos_t + * \brief internal type for istream + * do not use in user apps + */ +struct fpos_t { + /** stream position */ + uint32_t position; + /** cluster for position */ + uint32_t cluster; + fpos_t() : position(0), cluster(0) {} +}; + +// use the gnu style oflag in open() +/** open() oflag for reading */ +uint8_t const O_READ = 0X01; +/** open() oflag - same as O_IN */ +uint8_t const O_RDONLY = O_READ; +/** open() oflag for write */ +uint8_t const O_WRITE = 0X02; +/** open() oflag - same as O_WRITE */ +uint8_t const O_WRONLY = O_WRITE; +/** open() oflag for reading and writing */ +uint8_t const O_RDWR = (O_READ | O_WRITE); +/** open() oflag mask for access modes */ +uint8_t const O_ACCMODE = (O_READ | O_WRITE); +/** The file offset shall be set to the end of the file prior to each write. */ +uint8_t const O_APPEND = 0X04; +/** synchronous writes - call sync() after each write */ +uint8_t const O_SYNC = 0X08; +/** truncate the file to zero length */ +uint8_t const O_TRUNC = 0X10; +/** set the initial position at the end of the file */ +uint8_t const O_AT_END = 0X20; +/** create the file if nonexistent */ +uint8_t const O_CREAT = 0X40; +/** If O_CREAT and O_EXCL are set, open() shall fail if the file exists */ +uint8_t const O_EXCL = 0X80; + +// SdBaseFile class static and const definitions +// flags for ls() +/** ls() flag to print modify date */ +uint8_t const LS_DATE = 1; +/** ls() flag to print file size */ +uint8_t const LS_SIZE = 2; +/** ls() flag for recursive list of subdirectories */ +uint8_t const LS_R = 4; + + +// flags for timestamp +/** set the file's last access date */ +uint8_t const T_ACCESS = 1; +/** set the file's creation date and time */ +uint8_t const T_CREATE = 2; +/** Set the file's write date and time */ +uint8_t const T_WRITE = 4; +// values for type_ +/** This file has not been opened. */ +uint8_t const FAT_FILE_TYPE_CLOSED = 0; +/** A normal file */ +uint8_t const FAT_FILE_TYPE_NORMAL = 1; +/** A FAT12 or FAT16 root directory */ +uint8_t const FAT_FILE_TYPE_ROOT_FIXED = 2; +/** A FAT32 root directory */ +uint8_t const FAT_FILE_TYPE_ROOT32 = 3; +/** A subdirectory file*/ +uint8_t const FAT_FILE_TYPE_SUBDIR = 4; +/** Test value for directory type */ +uint8_t const FAT_FILE_TYPE_MIN_DIR = FAT_FILE_TYPE_ROOT_FIXED; + +/** date field for FAT directory entry + * \param[in] year [1980,2107] + * \param[in] month [1,12] + * \param[in] day [1,31] + * + * \return Packed date for dir_t entry. + */ +static inline uint16_t FAT_DATE(uint16_t year, uint8_t month, uint8_t day) { + return (year - 1980) << 9 | month << 5 | day; +} +/** year part of FAT directory date field + * \param[in] fatDate Date in packed dir format. + * + * \return Extracted year [1980,2107] + */ +static inline uint16_t FAT_YEAR(uint16_t fatDate) { + return 1980 + (fatDate >> 9); +} +/** month part of FAT directory date field + * \param[in] fatDate Date in packed dir format. + * + * \return Extracted month [1,12] + */ +static inline uint8_t FAT_MONTH(uint16_t fatDate) { + return (fatDate >> 5) & 0XF; +} +/** day part of FAT directory date field + * \param[in] fatDate Date in packed dir format. + * + * \return Extracted day [1,31] + */ +static inline uint8_t FAT_DAY(uint16_t fatDate) { + return fatDate & 0X1F; +} +/** time field for FAT directory entry + * \param[in] hour [0,23] + * \param[in] minute [0,59] + * \param[in] second [0,59] + * + * \return Packed time for dir_t entry. + */ +static inline uint16_t FAT_TIME(uint8_t hour, uint8_t minute, uint8_t second) { + return hour << 11 | minute << 5 | second >> 1; +} +/** hour part of FAT directory time field + * \param[in] fatTime Time in packed dir format. + * + * \return Extracted hour [0,23] + */ +static inline uint8_t FAT_HOUR(uint16_t fatTime) { + return fatTime >> 11; +} +/** minute part of FAT directory time field + * \param[in] fatTime Time in packed dir format. + * + * \return Extracted minute [0,59] + */ +static inline uint8_t FAT_MINUTE(uint16_t fatTime) { + return(fatTime >> 5) & 0X3F; +} +/** second part of FAT directory time field + * Note second/2 is stored in packed time. + * + * \param[in] fatTime Time in packed dir format. + * + * \return Extracted second [0,58] + */ +static inline uint8_t FAT_SECOND(uint16_t fatTime) { + return 2*(fatTime & 0X1F); +} +/** Default date for file timestamps is 1 Jan 2000 */ +uint16_t const FAT_DEFAULT_DATE = ((2000 - 1980) << 9) | (1 << 5) | 1; +/** Default time for file timestamp is 1 am */ +uint16_t const FAT_DEFAULT_TIME = (1 << 11); +//------------------------------------------------------------------------------ +/** + * \class SdBaseFile + * \brief Base class for SdFile with Print and C++ streams. + */ +class SdBaseFile { + public: + /** Create an instance. */ + SdBaseFile() : writeError(false), type_(FAT_FILE_TYPE_CLOSED) {} + SdBaseFile(const char* path, uint8_t oflag); + ~SdBaseFile() {if(isOpen()) close();} + /** + * writeError is set to true if an error occurs during a write(). + * Set writeError to false before calling print() and/or write() and check + * for true after calls to print() and/or write(). + */ + bool writeError; + //---------------------------------------------------------------------------- + // helpers for stream classes + /** get position for streams + * \param[out] pos struct to receive position + */ + void getpos(fpos_t* pos); + /** set position for streams + * \param[out] pos struct with value for new position + */ + void setpos(fpos_t* pos); + //---------------------------------------------------------------------------- + bool close(); + bool contiguousRange(uint32_t* bgnBlock, uint32_t* endBlock); + bool createContiguous(SdBaseFile* dirFile, + const char* path, uint32_t size); + /** \return The current cluster number for a file or directory. */ + uint32_t curCluster() const {return curCluster_;} + /** \return The current position for a file or directory. */ + uint32_t curPosition() const {return curPosition_;} + /** \return Current working directory */ + static SdBaseFile* cwd() {return cwd_;} + /** Set the date/time callback function + * + * \param[in] dateTime The user's call back function. The callback + * function is of the form: + * + * \code + * void dateTime(uint16_t* date, uint16_t* time) { + * uint16_t year; + * uint8_t month, day, hour, minute, second; + * + * // User gets date and time from GPS or real-time clock here + * + * // return date using FAT_DATE macro to format fields + * *date = FAT_DATE(year, month, day); + * + * // return time using FAT_TIME macro to format fields + * *time = FAT_TIME(hour, minute, second); + * } + * \endcode + * + * Sets the function that is called when a file is created or when + * a file's directory entry is modified by sync(). All timestamps, + * access, creation, and modify, are set when a file is created. + * sync() maintains the last access date and last modify date/time. + * + * See the timestamp() function. + */ + static void dateTimeCallback( + void (*dateTime)(uint16_t* date, uint16_t* time)) { + dateTime_ = dateTime; + } + /** Cancel the date/time callback function. */ + static void dateTimeCallbackCancel() {dateTime_ = 0;} + bool dirEntry(dir_t* dir); + static void dirName(const dir_t& dir, char* name); + bool exists(const char* name); + int16_t fgets(char* str, int16_t num, char* delim = 0); + /** \return The total number of bytes in a file or directory. */ + uint32_t fileSize() const {return fileSize_;} + /** \return The first cluster number for a file or directory. */ + uint32_t firstCluster() const {return firstCluster_;} + bool getFilename(char* name); + /** \return True if this is a directory else false. */ + bool isDir() const {return type_ >= FAT_FILE_TYPE_MIN_DIR;} + /** \return True if this is a normal file else false. */ + bool isFile() const {return type_ == FAT_FILE_TYPE_NORMAL;} + /** \return True if this is an open file/directory else false. */ + bool isOpen() const {return type_ != FAT_FILE_TYPE_CLOSED;} + /** \return True if this is a subdirectory else false. */ + bool isSubDir() const {return type_ == FAT_FILE_TYPE_SUBDIR;} + /** \return True if this is the root directory. */ + bool isRoot() const { + return type_ == FAT_FILE_TYPE_ROOT_FIXED || type_ == FAT_FILE_TYPE_ROOT32; + } + void ls( uint8_t flags = 0, uint8_t indent = 0); + bool mkdir(SdBaseFile* dir, const char* path, bool pFlag = true); + // alias for backward compactability + bool makeDir(SdBaseFile* dir, const char* path) { + return mkdir(dir, path, false); + } + bool open(SdBaseFile* dirFile, uint16_t index, uint8_t oflag); + bool open(SdBaseFile* dirFile, const char* path, uint8_t oflag); + bool open(const char* path, uint8_t oflag = O_READ); + bool openNext(SdBaseFile* dirFile, uint8_t oflag); + bool openRoot(SdVolume* vol); + int peek(); + static void printFatDate(uint16_t fatDate); + static void printFatTime( uint16_t fatTime); + bool printName(); + int16_t read(); + int16_t read(void* buf, uint16_t nbyte); + int8_t readDir(dir_t* dir, char* longFilename); + static bool remove(SdBaseFile* dirFile, const char* path); + bool remove(); + /** Set the file's current position to zero. */ + void rewind() {seekSet(0);} + bool rename(SdBaseFile* dirFile, const char* newPath); + bool rmdir(); + // for backward compatibility + bool rmDir() {return rmdir();} + bool rmRfStar(); + /** Set the files position to current position + \a pos. See seekSet(). + * \param[in] offset The new position in bytes from the current position. + * \return true for success or false for failure. + */ + bool seekCur(int32_t offset) { + return seekSet(curPosition_ + offset); + } + /** Set the files position to end-of-file + \a offset. See seekSet(). + * \param[in] offset The new position in bytes from end-of-file. + * \return true for success or false for failure. + */ + bool seekEnd(int32_t offset = 0) {return seekSet(fileSize_ + offset);} + bool seekSet(uint32_t pos); + bool sync(); + bool timestamp(SdBaseFile* file); + bool timestamp(uint8_t flag, uint16_t year, uint8_t month, uint8_t day, + uint8_t hour, uint8_t minute, uint8_t second); + /** Type of file. You should use isFile() or isDir() instead of type() + * if possible. + * + * \return The file or directory type. + */ + uint8_t type() const {return type_;} + bool truncate(uint32_t size); + /** \return SdVolume that contains this file. */ + SdVolume* volume() const {return vol_;} + int16_t write(const void* buf, uint16_t nbyte); +//------------------------------------------------------------------------------ + private: + // allow SdFat to set cwd_ + friend class SdFat; + // global pointer to cwd dir + static SdBaseFile* cwd_; + // data time callback function + static void (*dateTime_)(uint16_t* date, uint16_t* time); + // bits defined in flags_ + // should be 0X0F + static uint8_t const F_OFLAG = (O_ACCMODE | O_APPEND | O_SYNC); + // sync of directory entry required + static uint8_t const F_FILE_DIR_DIRTY = 0X80; + + // private data + uint8_t flags_; // See above for definition of flags_ bits + uint8_t fstate_; // error and eof indicator + uint8_t type_; // type of file see above for values + uint32_t curCluster_; // cluster for current file position + uint32_t curPosition_; // current file position in bytes from beginning + uint32_t dirBlock_; // block for this files directory entry + uint8_t dirIndex_; // index of directory entry in dirBlock + uint32_t fileSize_; // file size in bytes + uint32_t firstCluster_; // first cluster of file + SdVolume* vol_; // volume where file is located + + /** experimental don't use */ + bool openParent(SdBaseFile* dir); + // private functions + bool addCluster(); + bool addDirCluster(); + dir_t* cacheDirEntry(uint8_t action); + int8_t lsPrintNext( uint8_t flags, uint8_t indent); + static bool make83Name(const char* str, uint8_t* name, const char** ptr); + bool mkdir(SdBaseFile* parent, const uint8_t dname[11]); + bool open(SdBaseFile* dirFile, const uint8_t dname[11], uint8_t oflag); + bool openCachedEntry(uint8_t cacheIndex, uint8_t oflags); + dir_t* readDirCache(); +//------------------------------------------------------------------------------ +// to be deleted + static void printDirName( const dir_t& dir, + uint8_t width, bool printSlash); +//------------------------------------------------------------------------------ +// Deprecated functions - suppress cpplint warnings with NOLINT comment +#if ALLOW_DEPRECATED_FUNCTIONS && !defined(DOXYGEN) + public: + /** \deprecated Use: + * bool contiguousRange(uint32_t* bgnBlock, uint32_t* endBlock); + * \param[out] bgnBlock the first block address for the file. + * \param[out] endBlock the last block address for the file. + * \return true for success or false for failure. + */ + bool contiguousRange(uint32_t& bgnBlock, uint32_t& endBlock) { // NOLINT + return contiguousRange(&bgnBlock, &endBlock); + } + /** \deprecated Use: + * bool createContiguous(SdBaseFile* dirFile, + * const char* path, uint32_t size) + * \param[in] dirFile The directory where the file will be created. + * \param[in] path A path with a valid DOS 8.3 file name. + * \param[in] size The desired file size. + * \return true for success or false for failure. + */ + bool createContiguous(SdBaseFile& dirFile, // NOLINT + const char* path, uint32_t size) { + return createContiguous(&dirFile, path, size); + } + /** \deprecated Use: + * static void dateTimeCallback( + * void (*dateTime)(uint16_t* date, uint16_t* time)); + * \param[in] dateTime The user's call back function. + */ + static void dateTimeCallback( + void (*dateTime)(uint16_t& date, uint16_t& time)) { // NOLINT + oldDateTime_ = dateTime; + dateTime_ = dateTime ? oldToNew : 0; + } + /** \deprecated Use: bool dirEntry(dir_t* dir); + * \param[out] dir Location for return of the file's directory entry. + * \return true for success or false for failure. + */ + bool dirEntry(dir_t& dir) {return dirEntry(&dir);} // NOLINT + /** \deprecated Use: + * bool mkdir(SdBaseFile* dir, const char* path); + * \param[in] dir An open SdFat instance for the directory that will contain + * the new directory. + * \param[in] path A path with a valid 8.3 DOS name for the new directory. + * \return true for success or false for failure. + */ + bool mkdir(SdBaseFile& dir, const char* path) { // NOLINT + return mkdir(&dir, path); + } + /** \deprecated Use: + * bool open(SdBaseFile* dirFile, const char* path, uint8_t oflag); + * \param[in] dirFile An open SdFat instance for the directory containing the + * file to be opened. + * \param[in] path A path with a valid 8.3 DOS name for the file. + * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive + * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC. + * \return true for success or false for failure. + */ + bool open(SdBaseFile& dirFile, // NOLINT + const char* path, uint8_t oflag) { + return open(&dirFile, path, oflag); + } + /** \deprecated Do not use in new apps + * \param[in] dirFile An open SdFat instance for the directory containing the + * file to be opened. + * \param[in] path A path with a valid 8.3 DOS name for a file to be opened. + * \return true for success or false for failure. + */ + bool open(SdBaseFile& dirFile, const char* path) { // NOLINT + return open(dirFile, path, O_RDWR); + } + /** \deprecated Use: + * bool open(SdBaseFile* dirFile, uint16_t index, uint8_t oflag); + * \param[in] dirFile An open SdFat instance for the directory. + * \param[in] index The \a index of the directory entry for the file to be + * opened. The value for \a index is (directory file position)/32. + * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive + * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC. + * \return true for success or false for failure. + */ + bool open(SdBaseFile& dirFile, uint16_t index, uint8_t oflag) { // NOLINT + return open(&dirFile, index, oflag); + } + /** \deprecated Use: bool openRoot(SdVolume* vol); + * \param[in] vol The FAT volume containing the root directory to be opened. + * \return true for success or false for failure. + */ + bool openRoot(SdVolume& vol) {return openRoot(&vol);} // NOLINT + /** \deprecated Use: int8_t readDir(dir_t* dir); + * \param[out] dir The dir_t struct that will receive the data. + * \return bytes read for success zero for eof or -1 for failure. + */ + int8_t readDir(dir_t& dir, char* longFilename) {return readDir(&dir, longFilename);} // NOLINT + /** \deprecated Use: + * static uint8_t remove(SdBaseFile* dirFile, const char* path); + * \param[in] dirFile The directory that contains the file. + * \param[in] path The name of the file to be removed. + * \return true for success or false for failure. + */ + static bool remove(SdBaseFile& dirFile, const char* path) { // NOLINT + return remove(&dirFile, path); + } +//------------------------------------------------------------------------------ +// rest are private + private: + static void (*oldDateTime_)(uint16_t& date, uint16_t& time); // NOLINT + static void oldToNew(uint16_t* date, uint16_t* time) { + uint16_t d; + uint16_t t; + oldDateTime_(d, t); + *date = d; + *time = t; + } +#endif // ALLOW_DEPRECATED_FUNCTIONS +}; + +#endif // SdBaseFile_h +#endif diff --git a/Marlin/SdFatConfig.h b/Marlin/SdFatConfig.h new file mode 100644 index 0000000..a549835 --- /dev/null +++ b/Marlin/SdFatConfig.h @@ -0,0 +1,125 @@ +/* Arduino SdFat Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +/** + * \file + * \brief configuration definitions + */ +#include "Marlin.h" +#ifdef SDSUPPORT + +#ifndef SdFatConfig_h +#define SdFatConfig_h +#include +//------------------------------------------------------------------------------ +/** + * To use multiple SD cards set USE_MULTIPLE_CARDS nonzero. + * + * Using multiple cards costs 400 - 500 bytes of flash. + * + * Each card requires about 550 bytes of SRAM so use of a Mega is recommended. + */ +#define USE_MULTIPLE_CARDS 0 +//------------------------------------------------------------------------------ +/** + * Call flush for endl if ENDL_CALLS_FLUSH is nonzero + * + * The standard for iostreams is to call flush. This is very costly for + * SdFat. Each call to flush causes 2048 bytes of I/O to the SD. + * + * SdFat has a single 512 byte buffer for SD I/O so it must write the current + * data block to the SD, read the directory block from the SD, update the + * directory entry, write the directory block to the SD and read the data + * block back into the buffer. + * + * The SD flash memory controller is not designed for this many rewrites + * so performance may be reduced by more than a factor of 100. + * + * If ENDL_CALLS_FLUSH is zero, you must call flush and/or close to force + * all data to be written to the SD. + */ +#define ENDL_CALLS_FLUSH 0 +//------------------------------------------------------------------------------ +/** + * Allow use of deprecated functions if ALLOW_DEPRECATED_FUNCTIONS is nonzero + */ +#define ALLOW_DEPRECATED_FUNCTIONS 1 +//------------------------------------------------------------------------------ +/** + * Allow FAT12 volumes if FAT12_SUPPORT is nonzero. + * FAT12 has not been well tested. + */ +#define FAT12_SUPPORT 0 +//------------------------------------------------------------------------------ +/** + * SPI init rate for SD initialization commands. Must be 5 (F_CPU/64) + * or 6 (F_CPU/128). + */ +#define SPI_SD_INIT_RATE 5 +//------------------------------------------------------------------------------ +/** + * Set the SS pin high for hardware SPI. If SS is chip select for another SPI + * device this will disable that device during the SD init phase. + */ +#define SET_SPI_SS_HIGH 1 +//------------------------------------------------------------------------------ +/** + * Define MEGA_SOFT_SPI nonzero to use software SPI on Mega Arduinos. + * Pins used are SS 10, MOSI 11, MISO 12, and SCK 13. + * + * MEGA_SOFT_SPI allows an unmodified Adafruit GPS Shield to be used + * on Mega Arduinos. Software SPI works well with GPS Shield V1.1 + * but many SD cards will fail with GPS Shield V1.0. + */ +#define MEGA_SOFT_SPI 0 +//------------------------------------------------------------------------------ +/** + * Set USE_SOFTWARE_SPI nonzero to always use software SPI. + */ +#define USE_SOFTWARE_SPI 0 +// define software SPI pins so Mega can use unmodified 168/328 shields +/** Software SPI chip select pin for the SD */ +uint8_t const SOFT_SPI_CS_PIN = 10; +/** Software SPI Master Out Slave In pin */ +uint8_t const SOFT_SPI_MOSI_PIN = 11; +/** Software SPI Master In Slave Out pin */ +uint8_t const SOFT_SPI_MISO_PIN = 12; +/** Software SPI Clock pin */ +uint8_t const SOFT_SPI_SCK_PIN = 13; +//------------------------------------------------------------------------------ +/** + * The __cxa_pure_virtual function is an error handler that is invoked when + * a pure virtual function is called. + */ +#define USE_CXA_PURE_VIRTUAL 1 + +/** Number of UTF-16 characters per entry */ +#define FILENAME_LENGTH 13 + +/** + * Defines for long (vfat) filenames + */ +/** Number of VFAT entries used. Every entry has 13 UTF-16 characters */ +#define MAX_VFAT_ENTRIES (2) +/** Total size of the buffer used to store the long filenames */ +#define LONG_FILENAME_LENGTH (FILENAME_LENGTH*MAX_VFAT_ENTRIES+1) +#endif // SdFatConfig_h + + +#endif diff --git a/Marlin/SdFatStructs.h b/Marlin/SdFatStructs.h new file mode 100644 index 0000000..3867216 --- /dev/null +++ b/Marlin/SdFatStructs.h @@ -0,0 +1,646 @@ +/* Arduino SdFat Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +#include "Marlin.h" +#ifdef SDSUPPORT + +#ifndef SdFatStructs_h +#define SdFatStructs_h + +#define PACKED __attribute__((__packed__)) +/** + * \file + * \brief FAT file structures + */ +/* + * mostly from Microsoft document fatgen103.doc + * http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx + */ +//------------------------------------------------------------------------------ +/** Value for byte 510 of boot block or MBR */ +uint8_t const BOOTSIG0 = 0X55; +/** Value for byte 511 of boot block or MBR */ +uint8_t const BOOTSIG1 = 0XAA; +/** Value for bootSignature field int FAT/FAT32 boot sector */ +uint8_t const EXTENDED_BOOT_SIG = 0X29; +//------------------------------------------------------------------------------ +/** + * \struct partitionTable + * \brief MBR partition table entry + * + * A partition table entry for a MBR formatted storage device. + * The MBR partition table has four entries. + */ +struct partitionTable { + /** + * Boot Indicator . Indicates whether the volume is the active + * partition. Legal values include: 0X00. Do not use for booting. + * 0X80 Active partition. + */ + uint8_t boot; + /** + * Head part of Cylinder-head-sector address of the first block in + * the partition. Legal values are 0-255. Only used in old PC BIOS. + */ + uint8_t beginHead; + /** + * Sector part of Cylinder-head-sector address of the first block in + * the partition. Legal values are 1-63. Only used in old PC BIOS. + */ + unsigned beginSector : 6; + /** High bits cylinder for first block in partition. */ + unsigned beginCylinderHigh : 2; + /** + * Combine beginCylinderLow with beginCylinderHigh. Legal values + * are 0-1023. Only used in old PC BIOS. + */ + uint8_t beginCylinderLow; + /** + * Partition type. See defines that begin with PART_TYPE_ for + * some Microsoft partition types. + */ + uint8_t type; + /** + * head part of cylinder-head-sector address of the last sector in the + * partition. Legal values are 0-255. Only used in old PC BIOS. + */ + uint8_t endHead; + /** + * Sector part of cylinder-head-sector address of the last sector in + * the partition. Legal values are 1-63. Only used in old PC BIOS. + */ + unsigned endSector : 6; + /** High bits of end cylinder */ + unsigned endCylinderHigh : 2; + /** + * Combine endCylinderLow with endCylinderHigh. Legal values + * are 0-1023. Only used in old PC BIOS. + */ + uint8_t endCylinderLow; + /** Logical block address of the first block in the partition. */ + uint32_t firstSector; + /** Length of the partition, in blocks. */ + uint32_t totalSectors; +} PACKED; +/** Type name for partitionTable */ +typedef struct partitionTable part_t; +//------------------------------------------------------------------------------ +/** + * \struct masterBootRecord + * + * \brief Master Boot Record + * + * The first block of a storage device that is formatted with a MBR. + */ +struct masterBootRecord { + /** Code Area for master boot program. */ + uint8_t codeArea[440]; + /** Optional Windows NT disk signature. May contain boot code. */ + uint32_t diskSignature; + /** Usually zero but may be more boot code. */ + uint16_t usuallyZero; + /** Partition tables. */ + part_t part[4]; + /** First MBR signature byte. Must be 0X55 */ + uint8_t mbrSig0; + /** Second MBR signature byte. Must be 0XAA */ + uint8_t mbrSig1; +} PACKED; +/** Type name for masterBootRecord */ +typedef struct masterBootRecord mbr_t; +//------------------------------------------------------------------------------ +/** + * \struct fat_boot + * + * \brief Boot sector for a FAT12/FAT16 volume. + * + */ +struct fat_boot { + /** + * The first three bytes of the boot sector must be valid, + * executable x 86-based CPU instructions. This includes a + * jump instruction that skips the next nonexecutable bytes. + */ + uint8_t jump[3]; + /** + * This is typically a string of characters that identifies + * the operating system that formatted the volume. + */ + char oemId[8]; + /** + * The size of a hardware sector. Valid decimal values for this + * field are 512, 1024, 2048, and 4096. For most disks used in + * the United States, the value of this field is 512. + */ + uint16_t bytesPerSector; + /** + * Number of sectors per allocation unit. This value must be a + * power of 2 that is greater than 0. The legal values are + * 1, 2, 4, 8, 16, 32, 64, and 128. 128 should be avoided. + */ + uint8_t sectorsPerCluster; + /** + * The number of sectors preceding the start of the first FAT, + * including the boot sector. The value of this field is always 1. + */ + uint16_t reservedSectorCount; + /** + * The number of copies of the FAT on the volume. + * The value of this field is always 2. + */ + uint8_t fatCount; + /** + * For FAT12 and FAT16 volumes, this field contains the count of + * 32-byte directory entries in the root directory. For FAT32 volumes, + * this field must be set to 0. For FAT12 and FAT16 volumes, this + * value should always specify a count that when multiplied by 32 + * results in a multiple of bytesPerSector. FAT16 volumes should + * use the value 512. + */ + uint16_t rootDirEntryCount; + /** + * This field is the old 16-bit total count of sectors on the volume. + * This count includes the count of all sectors in all four regions + * of the volume. This field can be 0; if it is 0, then totalSectors32 + * must be nonzero. For FAT32 volumes, this field must be 0. For + * FAT12 and FAT16 volumes, this field contains the sector count, and + * totalSectors32 is 0 if the total sector count fits + * (is less than 0x10000). + */ + uint16_t totalSectors16; + /** + * This dates back to the old MS-DOS 1.x media determination and is + * no longer usually used for anything. 0xF8 is the standard value + * for fixed (nonremovable) media. For removable media, 0xF0 is + * frequently used. Legal values are 0xF0 or 0xF8-0xFF. + */ + uint8_t mediaType; + /** + * Count of sectors occupied by one FAT on FAT12/FAT16 volumes. + * On FAT32 volumes this field must be 0, and sectorsPerFat32 + * contains the FAT size count. + */ + uint16_t sectorsPerFat16; + /** Sectors per track for interrupt 0x13. Not used otherwise. */ + uint16_t sectorsPerTrack; + /** Number of heads for interrupt 0x13. Not used otherwise. */ + uint16_t headCount; + /** + * Count of hidden sectors preceding the partition that contains this + * FAT volume. This field is generally only relevant for media + * visible on interrupt 0x13. + */ + uint32_t hidddenSectors; + /** + * This field is the new 32-bit total count of sectors on the volume. + * This count includes the count of all sectors in all four regions + * of the volume. This field can be 0; if it is 0, then + * totalSectors16 must be nonzero. + */ + uint32_t totalSectors32; + /** + * Related to the BIOS physical drive number. Floppy drives are + * identified as 0x00 and physical hard disks are identified as + * 0x80, regardless of the number of physical disk drives. + * Typically, this value is set prior to issuing an INT 13h BIOS + * call to specify the device to access. The value is only + * relevant if the device is a boot device. + */ + uint8_t driveNumber; + /** used by Windows NT - should be zero for FAT */ + uint8_t reserved1; + /** 0X29 if next three fields are valid */ + uint8_t bootSignature; + /** + * A random serial number created when formatting a disk, + * which helps to distinguish between disks. + * Usually generated by combining date and time. + */ + uint32_t volumeSerialNumber; + /** + * A field once used to store the volume label. The volume label + * is now stored as a special file in the root directory. + */ + char volumeLabel[11]; + /** + * A field with a value of either FAT, FAT12 or FAT16, + * depending on the disk format. + */ + char fileSystemType[8]; + /** X86 boot code */ + uint8_t bootCode[448]; + /** must be 0X55 */ + uint8_t bootSectorSig0; + /** must be 0XAA */ + uint8_t bootSectorSig1; +} PACKED; +/** Type name for FAT Boot Sector */ +typedef struct fat_boot fat_boot_t; +//------------------------------------------------------------------------------ +/** + * \struct fat32_boot + * + * \brief Boot sector for a FAT32 volume. + * + */ +struct fat32_boot { + /** + * The first three bytes of the boot sector must be valid, + * executable x 86-based CPU instructions. This includes a + * jump instruction that skips the next nonexecutable bytes. + */ + uint8_t jump[3]; + /** + * This is typically a string of characters that identifies + * the operating system that formatted the volume. + */ + char oemId[8]; + /** + * The size of a hardware sector. Valid decimal values for this + * field are 512, 1024, 2048, and 4096. For most disks used in + * the United States, the value of this field is 512. + */ + uint16_t bytesPerSector; + /** + * Number of sectors per allocation unit. This value must be a + * power of 2 that is greater than 0. The legal values are + * 1, 2, 4, 8, 16, 32, 64, and 128. 128 should be avoided. + */ + uint8_t sectorsPerCluster; + /** + * The number of sectors preceding the start of the first FAT, + * including the boot sector. Must not be zero + */ + uint16_t reservedSectorCount; + /** + * The number of copies of the FAT on the volume. + * The value of this field is always 2. + */ + uint8_t fatCount; + /** + * FAT12/FAT16 only. For FAT32 volumes, this field must be set to 0. + */ + uint16_t rootDirEntryCount; + /** + * For FAT32 volumes, this field must be 0. + */ + uint16_t totalSectors16; + /** + * This dates back to the old MS-DOS 1.x media determination and is + * no longer usually used for anything. 0xF8 is the standard value + * for fixed (nonremovable) media. For removable media, 0xF0 is + * frequently used. Legal values are 0xF0 or 0xF8-0xFF. + */ + uint8_t mediaType; + /** + * On FAT32 volumes this field must be 0, and sectorsPerFat32 + * contains the FAT size count. + */ + uint16_t sectorsPerFat16; + /** Sectors per track for interrupt 0x13. Not used otherwise. */ + uint16_t sectorsPerTrack; + /** Number of heads for interrupt 0x13. Not used otherwise. */ + uint16_t headCount; + /** + * Count of hidden sectors preceding the partition that contains this + * FAT volume. This field is generally only relevant for media + * visible on interrupt 0x13. + */ + uint32_t hidddenSectors; + /** + * Contains the total number of sectors in the FAT32 volume. + */ + uint32_t totalSectors32; + /** + * Count of sectors occupied by one FAT on FAT32 volumes. + */ + uint32_t sectorsPerFat32; + /** + * This field is only defined for FAT32 media and does not exist on + * FAT12 and FAT16 media. + * Bits 0-3 -- Zero-based number of active FAT. + * Only valid if mirroring is disabled. + * Bits 4-6 -- Reserved. + * Bit 7 -- 0 means the FAT is mirrored at runtime into all FATs. + * -- 1 means only one FAT is active; it is the one referenced + * in bits 0-3. + * Bits 8-15 -- Reserved. + */ + uint16_t fat32Flags; + /** + * FAT32 version. High byte is major revision number. + * Low byte is minor revision number. Only 0.0 define. + */ + uint16_t fat32Version; + /** + * Cluster number of the first cluster of the root directory for FAT32. + * This usually 2 but not required to be 2. + */ + uint32_t fat32RootCluster; + /** + * Sector number of FSINFO structure in the reserved area of the + * FAT32 volume. Usually 1. + */ + uint16_t fat32FSInfo; + /** + * If nonzero, indicates the sector number in the reserved area + * of the volume of a copy of the boot record. Usually 6. + * No value other than 6 is recommended. + */ + uint16_t fat32BackBootBlock; + /** + * Reserved for future expansion. Code that formats FAT32 volumes + * should always set all of the bytes of this field to 0. + */ + uint8_t fat32Reserved[12]; + /** + * Related to the BIOS physical drive number. Floppy drives are + * identified as 0x00 and physical hard disks are identified as + * 0x80, regardless of the number of physical disk drives. + * Typically, this value is set prior to issuing an INT 13h BIOS + * call to specify the device to access. The value is only + * relevant if the device is a boot device. + */ + uint8_t driveNumber; + /** used by Windows NT - should be zero for FAT */ + uint8_t reserved1; + /** 0X29 if next three fields are valid */ + uint8_t bootSignature; + /** + * A random serial number created when formatting a disk, + * which helps to distinguish between disks. + * Usually generated by combining date and time. + */ + uint32_t volumeSerialNumber; + /** + * A field once used to store the volume label. The volume label + * is now stored as a special file in the root directory. + */ + char volumeLabel[11]; + /** + * A text field with a value of FAT32. + */ + char fileSystemType[8]; + /** X86 boot code */ + uint8_t bootCode[420]; + /** must be 0X55 */ + uint8_t bootSectorSig0; + /** must be 0XAA */ + uint8_t bootSectorSig1; +} PACKED; +/** Type name for FAT32 Boot Sector */ +typedef struct fat32_boot fat32_boot_t; +//------------------------------------------------------------------------------ +/** Lead signature for a FSINFO sector */ +uint32_t const FSINFO_LEAD_SIG = 0x41615252; +/** Struct signature for a FSINFO sector */ +uint32_t const FSINFO_STRUCT_SIG = 0x61417272; +/** + * \struct fat32_fsinfo + * + * \brief FSINFO sector for a FAT32 volume. + * + */ +struct fat32_fsinfo { + /** must be 0X52, 0X52, 0X61, 0X41 */ + uint32_t leadSignature; + /** must be zero */ + uint8_t reserved1[480]; + /** must be 0X72, 0X72, 0X41, 0X61 */ + uint32_t structSignature; + /** + * Contains the last known free cluster count on the volume. + * If the value is 0xFFFFFFFF, then the free count is unknown + * and must be computed. Any other value can be used, but is + * not necessarily correct. It should be range checked at least + * to make sure it is <= volume cluster count. + */ + uint32_t freeCount; + /** + * This is a hint for the FAT driver. It indicates the cluster + * number at which the driver should start looking for free clusters. + * If the value is 0xFFFFFFFF, then there is no hint and the driver + * should start looking at cluster 2. + */ + uint32_t nextFree; + /** must be zero */ + uint8_t reserved2[12]; + /** must be 0X00, 0X00, 0X55, 0XAA */ + uint8_t tailSignature[4]; +} PACKED; +/** Type name for FAT32 FSINFO Sector */ +typedef struct fat32_fsinfo fat32_fsinfo_t; +//------------------------------------------------------------------------------ +// End Of Chain values for FAT entries +/** FAT12 end of chain value used by Microsoft. */ +uint16_t const FAT12EOC = 0XFFF; +/** Minimum value for FAT12 EOC. Use to test for EOC. */ +uint16_t const FAT12EOC_MIN = 0XFF8; +/** FAT16 end of chain value used by Microsoft. */ +uint16_t const FAT16EOC = 0XFFFF; +/** Minimum value for FAT16 EOC. Use to test for EOC. */ +uint16_t const FAT16EOC_MIN = 0XFFF8; +/** FAT32 end of chain value used by Microsoft. */ +uint32_t const FAT32EOC = 0X0FFFFFFF; +/** Minimum value for FAT32 EOC. Use to test for EOC. */ +uint32_t const FAT32EOC_MIN = 0X0FFFFFF8; +/** Mask a for FAT32 entry. Entries are 28 bits. */ +uint32_t const FAT32MASK = 0X0FFFFFFF; +//------------------------------------------------------------------------------ +/** + * \struct directoryEntry + * \brief FAT short directory entry + * + * Short means short 8.3 name, not the entry size. + * + * Date Format. A FAT directory entry date stamp is a 16-bit field that is + * basically a date relative to the MS-DOS epoch of 01/01/1980. Here is the + * format (bit 0 is the LSB of the 16-bit word, bit 15 is the MSB of the + * 16-bit word): + * + * Bits 9-15: Count of years from 1980, valid value range 0-127 + * inclusive (1980-2107). + * + * Bits 5-8: Month of year, 1 = January, valid value range 1-12 inclusive. + * + * Bits 0-4: Day of month, valid value range 1-31 inclusive. + * + * Time Format. A FAT directory entry time stamp is a 16-bit field that has + * a granularity of 2 seconds. Here is the format (bit 0 is the LSB of the + * 16-bit word, bit 15 is the MSB of the 16-bit word). + * + * Bits 11-15: Hours, valid value range 0-23 inclusive. + * + * Bits 5-10: Minutes, valid value range 0-59 inclusive. + * + * Bits 0-4: 2-second count, valid value range 0-29 inclusive (0 - 58 seconds). + * + * The valid time range is from Midnight 00:00:00 to 23:59:58. + */ +struct directoryEntry { + /** Short 8.3 name. + * + * The first eight bytes contain the file name with blank fill. + * The last three bytes contain the file extension with blank fill. + */ + uint8_t name[11]; + /** Entry attributes. + * + * The upper two bits of the attribute byte are reserved and should + * always be set to 0 when a file is created and never modified or + * looked at after that. See defines that begin with DIR_ATT_. + */ + uint8_t attributes; + /** + * Reserved for use by Windows NT. Set value to 0 when a file is + * created and never modify or look at it after that. + */ + uint8_t reservedNT; + /** + * The granularity of the seconds part of creationTime is 2 seconds + * so this field is a count of tenths of a second and its valid + * value range is 0-199 inclusive. (WHG note - seems to be hundredths) + */ + uint8_t creationTimeTenths; + /** Time file was created. */ + uint16_t creationTime; + /** Date file was created. */ + uint16_t creationDate; + /** + * Last access date. Note that there is no last access time, only + * a date. This is the date of last read or write. In the case of + * a write, this should be set to the same date as lastWriteDate. + */ + uint16_t lastAccessDate; + /** + * High word of this entry's first cluster number (always 0 for a + * FAT12 or FAT16 volume). + */ + uint16_t firstClusterHigh; + /** Time of last write. File creation is considered a write. */ + uint16_t lastWriteTime; + /** Date of last write. File creation is considered a write. */ + uint16_t lastWriteDate; + /** Low word of this entry's first cluster number. */ + uint16_t firstClusterLow; + /** 32-bit unsigned holding this file's size in bytes. */ + uint32_t fileSize; +} PACKED; +/** + * \struct directoryVFATEntry + * \brief VFAT long filename directory entry + * + * directoryVFATEntries are found in the same list as normal directoryEntry. + * But have the attribute field set to DIR_ATT_LONG_NAME. + * + * Long filenames are saved in multiple directoryVFATEntries. + * Each entry containing 13 UTF-16 characters. + */ +struct directoryVFATEntry { + /** + * Sequence number. Consists of 2 parts: + * bit 6: indicates first long filename block for the next file + * bit 0-4: the position of this long filename block (first block is 1) + */ + uint8_t sequenceNumber; + /** First set of UTF-16 characters */ + uint16_t name1[5];//UTF-16 + /** attributes (at the same location as in directoryEntry), always 0x0F */ + uint8_t attributes; + /** Reserved for use by Windows NT. Always 0. */ + uint8_t reservedNT; + /** Checksum of the short 8.3 filename, can be used to checked if the file system as modified by a not-long-filename aware implementation. */ + uint8_t checksum; + /** Second set of UTF-16 characters */ + uint16_t name2[6];//UTF-16 + /** firstClusterLow is always zero for longFilenames */ + uint16_t firstClusterLow; + /** Third set of UTF-16 characters */ + uint16_t name3[2];//UTF-16 +} PACKED; +//------------------------------------------------------------------------------ +// Definitions for directory entries +// +/** Type name for directoryEntry */ +typedef struct directoryEntry dir_t; +/** Type name for directoryVFATEntry */ +typedef struct directoryVFATEntry vfat_t; +/** escape for name[0] = 0XE5 */ +uint8_t const DIR_NAME_0XE5 = 0X05; +/** name[0] value for entry that is free after being "deleted" */ +uint8_t const DIR_NAME_DELETED = 0XE5; +/** name[0] value for entry that is free and no allocated entries follow */ +uint8_t const DIR_NAME_FREE = 0X00; +/** file is read-only */ +uint8_t const DIR_ATT_READ_ONLY = 0X01; +/** File should hidden in directory listings */ +uint8_t const DIR_ATT_HIDDEN = 0X02; +/** Entry is for a system file */ +uint8_t const DIR_ATT_SYSTEM = 0X04; +/** Directory entry contains the volume label */ +uint8_t const DIR_ATT_VOLUME_ID = 0X08; +/** Entry is for a directory */ +uint8_t const DIR_ATT_DIRECTORY = 0X10; +/** Old DOS archive bit for backup support */ +uint8_t const DIR_ATT_ARCHIVE = 0X20; +/** Test value for long name entry. Test is + (d->attributes & DIR_ATT_LONG_NAME_MASK) == DIR_ATT_LONG_NAME. */ +uint8_t const DIR_ATT_LONG_NAME = 0X0F; +/** Test mask for long name entry */ +uint8_t const DIR_ATT_LONG_NAME_MASK = 0X3F; +/** defined attribute bits */ +uint8_t const DIR_ATT_DEFINED_BITS = 0X3F; +/** Directory entry is part of a long name + * \param[in] dir Pointer to a directory entry. + * + * \return true if the entry is for part of a long name else false. + */ +static inline uint8_t DIR_IS_LONG_NAME(const dir_t* dir) { + return (dir->attributes & DIR_ATT_LONG_NAME_MASK) == DIR_ATT_LONG_NAME; +} +/** Mask for file/subdirectory tests */ +uint8_t const DIR_ATT_FILE_TYPE_MASK = (DIR_ATT_VOLUME_ID | DIR_ATT_DIRECTORY); +/** Directory entry is for a file + * \param[in] dir Pointer to a directory entry. + * + * \return true if the entry is for a normal file else false. + */ +static inline uint8_t DIR_IS_FILE(const dir_t* dir) { + return (dir->attributes & DIR_ATT_FILE_TYPE_MASK) == 0; +} +/** Directory entry is for a subdirectory + * \param[in] dir Pointer to a directory entry. + * + * \return true if the entry is for a subdirectory else false. + */ +static inline uint8_t DIR_IS_SUBDIR(const dir_t* dir) { + return (dir->attributes & DIR_ATT_FILE_TYPE_MASK) == DIR_ATT_DIRECTORY; +} +/** Directory entry is for a file or subdirectory + * \param[in] dir Pointer to a directory entry. + * + * \return true if the entry is for a normal file or subdirectory else false. + */ +static inline uint8_t DIR_IS_FILE_OR_SUBDIR(const dir_t* dir) { + return (dir->attributes & DIR_ATT_VOLUME_ID) == 0; +} +#endif // SdFatStructs_h + + +#endif diff --git a/Marlin/SdFatUtil.cpp b/Marlin/SdFatUtil.cpp new file mode 100644 index 0000000..32cd198 --- /dev/null +++ b/Marlin/SdFatUtil.cpp @@ -0,0 +1,82 @@ +/* Arduino SdFat Library + * Copyright (C) 2008 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +#include "Marlin.h" + +#ifdef SDSUPPORT +#include "SdFatUtil.h" + +//------------------------------------------------------------------------------ +/** Amount of free RAM + * \return The number of free bytes. + */ +#ifdef __arm__ +extern "C" char* sbrk(int incr); +int SdFatUtil::FreeRam() { + char top; + return &top - reinterpret_cast(sbrk(0)); +} +#else // __arm__ +extern char *__brkval; +extern char __bss_end; +/** Amount of free RAM + * \return The number of free bytes. + */ +int SdFatUtil::FreeRam() { + char top; + return __brkval ? &top - __brkval : &top - &__bss_end; +} +#endif // __arm + +//------------------------------------------------------------------------------ +/** %Print a string in flash memory. + * + * \param[in] pr Print object for output. + * \param[in] str Pointer to string stored in flash memory. + */ +void SdFatUtil::print_P( PGM_P str) { + for (uint8_t c; (c = pgm_read_byte(str)); str++) MYSERIAL.write(c); +} +//------------------------------------------------------------------------------ +/** %Print a string in flash memory followed by a CR/LF. + * + * \param[in] pr Print object for output. + * \param[in] str Pointer to string stored in flash memory. + */ +void SdFatUtil::println_P( PGM_P str) { + print_P( str); + MYSERIAL.println(); +} +//------------------------------------------------------------------------------ +/** %Print a string in flash memory to Serial. + * + * \param[in] str Pointer to string stored in flash memory. + */ +void SdFatUtil::SerialPrint_P(PGM_P str) { + print_P(str); +} +//------------------------------------------------------------------------------ +/** %Print a string in flash memory to Serial followed by a CR/LF. + * + * \param[in] str Pointer to string stored in flash memory. + */ +void SdFatUtil::SerialPrintln_P(PGM_P str) { + println_P( str); +} +#endif diff --git a/Marlin/SdFatUtil.h b/Marlin/SdFatUtil.h new file mode 100644 index 0000000..7f18094 --- /dev/null +++ b/Marlin/SdFatUtil.h @@ -0,0 +1,48 @@ +/* Arduino SdFat Library + * Copyright (C) 2008 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +#include "Marlin.h" +#ifdef SDSUPPORT + +#ifndef SdFatUtil_h +#define SdFatUtil_h +/** + * \file + * \brief Useful utility functions. + */ +#include "Marlin.h" +#include "MarlinSerial.h" +/** Store and print a string in flash memory.*/ +#define PgmPrint(x) SerialPrint_P(PSTR(x)) +/** Store and print a string in flash memory followed by a CR/LF.*/ +#define PgmPrintln(x) SerialPrintln_P(PSTR(x)) + +namespace SdFatUtil { + int FreeRam(); + void print_P( PGM_P str); + void println_P( PGM_P str); + void SerialPrint_P(PGM_P str); + void SerialPrintln_P(PGM_P str); +} + +using namespace SdFatUtil; // NOLINT +#endif // #define SdFatUtil_h + + +#endif \ No newline at end of file diff --git a/Marlin/SdFile.cpp b/Marlin/SdFile.cpp new file mode 100644 index 0000000..29f5efa --- /dev/null +++ b/Marlin/SdFile.cpp @@ -0,0 +1,95 @@ +/* Arduino SdFat Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +#include "Marlin.h" + +#ifdef SDSUPPORT +#include "SdFile.h" +/** Create a file object and open it in the current working directory. + * + * \param[in] path A path with a valid 8.3 DOS name for a file to be opened. + * + * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive + * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t). + */ +SdFile::SdFile(const char* path, uint8_t oflag) : SdBaseFile(path, oflag) { +} +//------------------------------------------------------------------------------ +/** Write data to an open file. + * + * \note Data is moved to the cache but may not be written to the + * storage device until sync() is called. + * + * \param[in] buf Pointer to the location of the data to be written. + * + * \param[in] nbyte Number of bytes to write. + * + * \return For success write() returns the number of bytes written, always + * \a nbyte. If an error occurs, write() returns -1. Possible errors + * include write() is called before a file has been opened, write is called + * for a read-only file, device is full, a corrupt file system or an I/O error. + * + */ +int16_t SdFile::write(const void* buf, uint16_t nbyte) { + return SdBaseFile::write(buf, nbyte); +} +//------------------------------------------------------------------------------ +/** Write a byte to a file. Required by the Arduino Print class. + * \param[in] b the byte to be written. + * Use writeError to check for errors. + */ +#if ARDUINO >= 100 +size_t SdFile::write(uint8_t b) +{ + return SdBaseFile::write(&b, 1); +} +#else +void SdFile::write(uint8_t b) +{ + SdBaseFile::write(&b, 1); +} +#endif +//------------------------------------------------------------------------------ +/** Write a string to a file. Used by the Arduino Print class. + * \param[in] str Pointer to the string. + * Use writeError to check for errors. + */ +void SdFile::write(const char* str) { + SdBaseFile::write(str, strlen(str)); +} +//------------------------------------------------------------------------------ +/** Write a PROGMEM string to a file. + * \param[in] str Pointer to the PROGMEM string. + * Use writeError to check for errors. + */ +void SdFile::write_P(PGM_P str) { + for (uint8_t c; (c = pgm_read_byte(str)); str++) write(c); +} +//------------------------------------------------------------------------------ +/** Write a PROGMEM string followed by CR/LF to a file. + * \param[in] str Pointer to the PROGMEM string. + * Use writeError to check for errors. + */ +void SdFile::writeln_P(PGM_P str) { + write_P(str); + write_P(PSTR("\r\n")); +} + + +#endif diff --git a/Marlin/SdFile.h b/Marlin/SdFile.h new file mode 100644 index 0000000..cbf1bbd --- /dev/null +++ b/Marlin/SdFile.h @@ -0,0 +1,54 @@ +/* Arduino SdFat Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +/** + * \file + * \brief SdFile class + */ +#include "Marlin.h" + +#ifdef SDSUPPORT +#include "SdBaseFile.h" +#include +#ifndef SdFile_h +#define SdFile_h +//------------------------------------------------------------------------------ +/** + * \class SdFile + * \brief SdBaseFile with Print. + */ +class SdFile : public SdBaseFile, public Print { + public: + SdFile() {} + SdFile(const char* name, uint8_t oflag); + #if ARDUINO >= 100 + size_t write(uint8_t b); + #else + void write(uint8_t b); + #endif + + int16_t write(const void* buf, uint16_t nbyte); + void write(const char* str); + void write_P(PGM_P str); + void writeln_P(PGM_P str); +}; +#endif // SdFile_h + + +#endif \ No newline at end of file diff --git a/Marlin/SdInfo.h b/Marlin/SdInfo.h new file mode 100644 index 0000000..03ece10 --- /dev/null +++ b/Marlin/SdInfo.h @@ -0,0 +1,280 @@ +/* Arduino Sd2Card Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino Sd2Card Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino Sd2Card Library. If not, see + * . + */ +#include "Marlin.h" +#ifdef SDSUPPORT + +#ifndef SdInfo_h +#define SdInfo_h +#include +// Based on the document: +// +// SD Specifications +// Part 1 +// Physical Layer +// Simplified Specification +// Version 3.01 +// May 18, 2010 +// +// http://www.sdcard.org/developers/tech/sdcard/pls/simplified_specs +//------------------------------------------------------------------------------ +// SD card commands +/** GO_IDLE_STATE - init card in spi mode if CS low */ +uint8_t const CMD0 = 0X00; +/** SEND_IF_COND - verify SD Memory Card interface operating condition.*/ +uint8_t const CMD8 = 0X08; +/** SEND_CSD - read the Card Specific Data (CSD register) */ +uint8_t const CMD9 = 0X09; +/** SEND_CID - read the card identification information (CID register) */ +uint8_t const CMD10 = 0X0A; +/** STOP_TRANSMISSION - end multiple block read sequence */ +uint8_t const CMD12 = 0X0C; +/** SEND_STATUS - read the card status register */ +uint8_t const CMD13 = 0X0D; +/** READ_SINGLE_BLOCK - read a single data block from the card */ +uint8_t const CMD17 = 0X11; +/** READ_MULTIPLE_BLOCK - read a multiple data blocks from the card */ +uint8_t const CMD18 = 0X12; +/** WRITE_BLOCK - write a single data block to the card */ +uint8_t const CMD24 = 0X18; +/** WRITE_MULTIPLE_BLOCK - write blocks of data until a STOP_TRANSMISSION */ +uint8_t const CMD25 = 0X19; +/** ERASE_WR_BLK_START - sets the address of the first block to be erased */ +uint8_t const CMD32 = 0X20; +/** ERASE_WR_BLK_END - sets the address of the last block of the continuous + range to be erased*/ +uint8_t const CMD33 = 0X21; +/** ERASE - erase all previously selected blocks */ +uint8_t const CMD38 = 0X26; +/** APP_CMD - escape for application specific command */ +uint8_t const CMD55 = 0X37; +/** READ_OCR - read the OCR register of a card */ +uint8_t const CMD58 = 0X3A; +/** SET_WR_BLK_ERASE_COUNT - Set the number of write blocks to be + pre-erased before writing */ +uint8_t const ACMD23 = 0X17; +/** SD_SEND_OP_COMD - Sends host capacity support information and + activates the card's initialization process */ +uint8_t const ACMD41 = 0X29; +//------------------------------------------------------------------------------ +/** status for card in the ready state */ +uint8_t const R1_READY_STATE = 0X00; +/** status for card in the idle state */ +uint8_t const R1_IDLE_STATE = 0X01; +/** status bit for illegal command */ +uint8_t const R1_ILLEGAL_COMMAND = 0X04; +/** start data token for read or write single block*/ +uint8_t const DATA_START_BLOCK = 0XFE; +/** stop token for write multiple blocks*/ +uint8_t const STOP_TRAN_TOKEN = 0XFD; +/** start data token for write multiple blocks*/ +uint8_t const WRITE_MULTIPLE_TOKEN = 0XFC; +/** mask for data response tokens after a write block operation */ +uint8_t const DATA_RES_MASK = 0X1F; +/** write data accepted token */ +uint8_t const DATA_RES_ACCEPTED = 0X05; +//------------------------------------------------------------------------------ +/** Card IDentification (CID) register */ +typedef struct CID { + // byte 0 + /** Manufacturer ID */ + unsigned char mid; + // byte 1-2 + /** OEM/Application ID */ + char oid[2]; + // byte 3-7 + /** Product name */ + char pnm[5]; + // byte 8 + /** Product revision least significant digit */ + unsigned char prv_m : 4; + /** Product revision most significant digit */ + unsigned char prv_n : 4; + // byte 9-12 + /** Product serial number */ + uint32_t psn; + // byte 13 + /** Manufacturing date year low digit */ + unsigned char mdt_year_high : 4; + /** not used */ + unsigned char reserved : 4; + // byte 14 + /** Manufacturing date month */ + unsigned char mdt_month : 4; + /** Manufacturing date year low digit */ + unsigned char mdt_year_low :4; + // byte 15 + /** not used always 1 */ + unsigned char always1 : 1; + /** CRC7 checksum */ + unsigned char crc : 7; +}cid_t; +//------------------------------------------------------------------------------ +/** CSD for version 1.00 cards */ +typedef struct CSDV1 { + // byte 0 + unsigned char reserved1 : 6; + unsigned char csd_ver : 2; + // byte 1 + unsigned char taac; + // byte 2 + unsigned char nsac; + // byte 3 + unsigned char tran_speed; + // byte 4 + unsigned char ccc_high; + // byte 5 + unsigned char read_bl_len : 4; + unsigned char ccc_low : 4; + // byte 6 + unsigned char c_size_high : 2; + unsigned char reserved2 : 2; + unsigned char dsr_imp : 1; + unsigned char read_blk_misalign :1; + unsigned char write_blk_misalign : 1; + unsigned char read_bl_partial : 1; + // byte 7 + unsigned char c_size_mid; + // byte 8 + unsigned char vdd_r_curr_max : 3; + unsigned char vdd_r_curr_min : 3; + unsigned char c_size_low :2; + // byte 9 + unsigned char c_size_mult_high : 2; + unsigned char vdd_w_cur_max : 3; + unsigned char vdd_w_curr_min : 3; + // byte 10 + unsigned char sector_size_high : 6; + unsigned char erase_blk_en : 1; + unsigned char c_size_mult_low : 1; + // byte 11 + unsigned char wp_grp_size : 7; + unsigned char sector_size_low : 1; + // byte 12 + unsigned char write_bl_len_high : 2; + unsigned char r2w_factor : 3; + unsigned char reserved3 : 2; + unsigned char wp_grp_enable : 1; + // byte 13 + unsigned char reserved4 : 5; + unsigned char write_partial : 1; + unsigned char write_bl_len_low : 2; + // byte 14 + unsigned char reserved5: 2; + unsigned char file_format : 2; + unsigned char tmp_write_protect : 1; + unsigned char perm_write_protect : 1; + unsigned char copy : 1; + /** Indicates the file format on the card */ + unsigned char file_format_grp : 1; + // byte 15 + unsigned char always1 : 1; + unsigned char crc : 7; +}csd1_t; +//------------------------------------------------------------------------------ +/** CSD for version 2.00 cards */ +typedef struct CSDV2 { + // byte 0 + unsigned char reserved1 : 6; + unsigned char csd_ver : 2; + // byte 1 + /** fixed to 0X0E */ + unsigned char taac; + // byte 2 + /** fixed to 0 */ + unsigned char nsac; + // byte 3 + unsigned char tran_speed; + // byte 4 + unsigned char ccc_high; + // byte 5 + /** This field is fixed to 9h, which indicates READ_BL_LEN=512 Byte */ + unsigned char read_bl_len : 4; + unsigned char ccc_low : 4; + // byte 6 + /** not used */ + unsigned char reserved2 : 4; + unsigned char dsr_imp : 1; + /** fixed to 0 */ + unsigned char read_blk_misalign :1; + /** fixed to 0 */ + unsigned char write_blk_misalign : 1; + /** fixed to 0 - no partial read */ + unsigned char read_bl_partial : 1; + // byte 7 + /** not used */ + unsigned char reserved3 : 2; + /** high part of card size */ + unsigned char c_size_high : 6; + // byte 8 + /** middle part of card size */ + unsigned char c_size_mid; + // byte 9 + /** low part of card size */ + unsigned char c_size_low; + // byte 10 + /** sector size is fixed at 64 KB */ + unsigned char sector_size_high : 6; + /** fixed to 1 - erase single is supported */ + unsigned char erase_blk_en : 1; + /** not used */ + unsigned char reserved4 : 1; + // byte 11 + unsigned char wp_grp_size : 7; + /** sector size is fixed at 64 KB */ + unsigned char sector_size_low : 1; + // byte 12 + /** write_bl_len fixed for 512 byte blocks */ + unsigned char write_bl_len_high : 2; + /** fixed value of 2 */ + unsigned char r2w_factor : 3; + /** not used */ + unsigned char reserved5 : 2; + /** fixed value of 0 - no write protect groups */ + unsigned char wp_grp_enable : 1; + // byte 13 + unsigned char reserved6 : 5; + /** always zero - no partial block read*/ + unsigned char write_partial : 1; + /** write_bl_len fixed for 512 byte blocks */ + unsigned char write_bl_len_low : 2; + // byte 14 + unsigned char reserved7: 2; + /** Do not use always 0 */ + unsigned char file_format : 2; + unsigned char tmp_write_protect : 1; + unsigned char perm_write_protect : 1; + unsigned char copy : 1; + /** Do not use always 0 */ + unsigned char file_format_grp : 1; + // byte 15 + /** not used always 1 */ + unsigned char always1 : 1; + /** checksum */ + unsigned char crc : 7; +}csd2_t; +//------------------------------------------------------------------------------ +/** union of old and new style CSD register */ +union csd_t { + csd1_t v1; + csd2_t v2; +}; +#endif // SdInfo_h + +#endif \ No newline at end of file diff --git a/Marlin/SdVolume.cpp b/Marlin/SdVolume.cpp new file mode 100644 index 0000000..6297e2a --- /dev/null +++ b/Marlin/SdVolume.cpp @@ -0,0 +1,405 @@ +/* Arduino SdFat Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +#include "Marlin.h" +#ifdef SDSUPPORT + +#include "SdVolume.h" +//------------------------------------------------------------------------------ +#if !USE_MULTIPLE_CARDS +// raw block cache +uint32_t SdVolume::cacheBlockNumber_; // current block number +cache_t SdVolume::cacheBuffer_; // 512 byte cache for Sd2Card +Sd2Card* SdVolume::sdCard_; // pointer to SD card object +bool SdVolume::cacheDirty_; // cacheFlush() will write block if true +uint32_t SdVolume::cacheMirrorBlock_; // mirror block for second FAT +#endif // USE_MULTIPLE_CARDS +//------------------------------------------------------------------------------ +// find a contiguous group of clusters +bool SdVolume::allocContiguous(uint32_t count, uint32_t* curCluster) { + // start of group + uint32_t bgnCluster; + // end of group + uint32_t endCluster; + // last cluster of FAT + uint32_t fatEnd = clusterCount_ + 1; + + // flag to save place to start next search + bool setStart; + + // set search start cluster + if (*curCluster) { + // try to make file contiguous + bgnCluster = *curCluster + 1; + + // don't save new start location + setStart = false; + } else { + // start at likely place for free cluster + bgnCluster = allocSearchStart_; + + // save next search start if one cluster + setStart = count == 1; + } + // end of group + endCluster = bgnCluster; + + // search the FAT for free clusters + for (uint32_t n = 0;; n++, endCluster++) { + // can't find space checked all clusters + if (n >= clusterCount_) goto fail; + + // past end - start from beginning of FAT + if (endCluster > fatEnd) { + bgnCluster = endCluster = 2; + } + uint32_t f; + if (!fatGet(endCluster, &f)) goto fail; + + if (f != 0) { + // cluster in use try next cluster as bgnCluster + bgnCluster = endCluster + 1; + } else if ((endCluster - bgnCluster + 1) == count) { + // done - found space + break; + } + } + // mark end of chain + if (!fatPutEOC(endCluster)) goto fail; + + // link clusters + while (endCluster > bgnCluster) { + if (!fatPut(endCluster - 1, endCluster)) goto fail; + endCluster--; + } + if (*curCluster != 0) { + // connect chains + if (!fatPut(*curCluster, bgnCluster)) goto fail; + } + // return first cluster number to caller + *curCluster = bgnCluster; + + // remember possible next free cluster + if (setStart) allocSearchStart_ = bgnCluster + 1; + + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +bool SdVolume::cacheFlush() { + if (cacheDirty_) { + if (!sdCard_->writeBlock(cacheBlockNumber_, cacheBuffer_.data)) { + goto fail; + } + // mirror FAT tables + if (cacheMirrorBlock_) { + if (!sdCard_->writeBlock(cacheMirrorBlock_, cacheBuffer_.data)) { + goto fail; + } + cacheMirrorBlock_ = 0; + } + cacheDirty_ = 0; + } + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +bool SdVolume::cacheRawBlock(uint32_t blockNumber, bool dirty) { + if (cacheBlockNumber_ != blockNumber) { + if (!cacheFlush()) goto fail; + if (!sdCard_->readBlock(blockNumber, cacheBuffer_.data)) goto fail; + cacheBlockNumber_ = blockNumber; + } + if (dirty) cacheDirty_ = true; + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +// return the size in bytes of a cluster chain +bool SdVolume::chainSize(uint32_t cluster, uint32_t* size) { + uint32_t s = 0; + do { + if (!fatGet(cluster, &cluster)) goto fail; + s += 512UL << clusterSizeShift_; + } while (!isEOC(cluster)); + *size = s; + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +// Fetch a FAT entry +bool SdVolume::fatGet(uint32_t cluster, uint32_t* value) { + uint32_t lba; + if (cluster > (clusterCount_ + 1)) goto fail; + if (FAT12_SUPPORT && fatType_ == 12) { + uint16_t index = cluster; + index += index >> 1; + lba = fatStartBlock_ + (index >> 9); + if (!cacheRawBlock(lba, CACHE_FOR_READ)) goto fail; + index &= 0X1FF; + uint16_t tmp = cacheBuffer_.data[index]; + index++; + if (index == 512) { + if (!cacheRawBlock(lba + 1, CACHE_FOR_READ)) goto fail; + index = 0; + } + tmp |= cacheBuffer_.data[index] << 8; + *value = cluster & 1 ? tmp >> 4 : tmp & 0XFFF; + return true; + } + if (fatType_ == 16) { + lba = fatStartBlock_ + (cluster >> 8); + } else if (fatType_ == 32) { + lba = fatStartBlock_ + (cluster >> 7); + } else { + goto fail; + } + if (lba != cacheBlockNumber_) { + if (!cacheRawBlock(lba, CACHE_FOR_READ)) goto fail; + } + if (fatType_ == 16) { + *value = cacheBuffer_.fat16[cluster & 0XFF]; + } else { + *value = cacheBuffer_.fat32[cluster & 0X7F] & FAT32MASK; + } + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +// Store a FAT entry +bool SdVolume::fatPut(uint32_t cluster, uint32_t value) { + uint32_t lba; + // error if reserved cluster + if (cluster < 2) goto fail; + + // error if not in FAT + if (cluster > (clusterCount_ + 1)) goto fail; + + if (FAT12_SUPPORT && fatType_ == 12) { + uint16_t index = cluster; + index += index >> 1; + lba = fatStartBlock_ + (index >> 9); + if (!cacheRawBlock(lba, CACHE_FOR_WRITE)) goto fail; + // mirror second FAT + if (fatCount_ > 1) cacheMirrorBlock_ = lba + blocksPerFat_; + index &= 0X1FF; + uint8_t tmp = value; + if (cluster & 1) { + tmp = (cacheBuffer_.data[index] & 0XF) | tmp << 4; + } + cacheBuffer_.data[index] = tmp; + index++; + if (index == 512) { + lba++; + index = 0; + if (!cacheRawBlock(lba, CACHE_FOR_WRITE)) goto fail; + // mirror second FAT + if (fatCount_ > 1) cacheMirrorBlock_ = lba + blocksPerFat_; + } + tmp = value >> 4; + if (!(cluster & 1)) { + tmp = ((cacheBuffer_.data[index] & 0XF0)) | tmp >> 4; + } + cacheBuffer_.data[index] = tmp; + return true; + } + if (fatType_ == 16) { + lba = fatStartBlock_ + (cluster >> 8); + } else if (fatType_ == 32) { + lba = fatStartBlock_ + (cluster >> 7); + } else { + goto fail; + } + if (!cacheRawBlock(lba, CACHE_FOR_WRITE)) goto fail; + // store entry + if (fatType_ == 16) { + cacheBuffer_.fat16[cluster & 0XFF] = value; + } else { + cacheBuffer_.fat32[cluster & 0X7F] = value; + } + // mirror second FAT + if (fatCount_ > 1) cacheMirrorBlock_ = lba + blocksPerFat_; + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +// free a cluster chain +bool SdVolume::freeChain(uint32_t cluster) { + uint32_t next; + + // clear free cluster location + allocSearchStart_ = 2; + + do { + if (!fatGet(cluster, &next)) goto fail; + + // free cluster + if (!fatPut(cluster, 0)) goto fail; + + cluster = next; + } while (!isEOC(cluster)); + + return true; + + fail: + return false; +} +//------------------------------------------------------------------------------ +/** Volume free space in clusters. + * + * \return Count of free clusters for success or -1 if an error occurs. + */ +int32_t SdVolume::freeClusterCount() { + uint32_t free = 0; + uint16_t n; + uint32_t todo = clusterCount_ + 2; + + if (fatType_ == 16) { + n = 256; + } else if (fatType_ == 32) { + n = 128; + } else { + // put FAT12 here + return -1; + } + + for (uint32_t lba = fatStartBlock_; todo; todo -= n, lba++) { + if (!cacheRawBlock(lba, CACHE_FOR_READ)) return -1; + if (todo < n) n = todo; + if (fatType_ == 16) { + for (uint16_t i = 0; i < n; i++) { + if (cacheBuffer_.fat16[i] == 0) free++; + } + } else { + for (uint16_t i = 0; i < n; i++) { + if (cacheBuffer_.fat32[i] == 0) free++; + } + } + } + return free; +} +//------------------------------------------------------------------------------ +/** Initialize a FAT volume. + * + * \param[in] dev The SD card where the volume is located. + * + * \param[in] part The partition to be used. Legal values for \a part are + * 1-4 to use the corresponding partition on a device formatted with + * a MBR, Master Boot Record, or zero if the device is formatted as + * a super floppy with the FAT boot sector in block zero. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. Reasons for + * failure include not finding a valid partition, not finding a valid + * FAT file system in the specified partition or an I/O error. + */ +bool SdVolume::init(Sd2Card* dev, uint8_t part) { + uint32_t totalBlocks; + uint32_t volumeStartBlock = 0; + fat32_boot_t* fbs; + + sdCard_ = dev; + fatType_ = 0; + allocSearchStart_ = 2; + cacheDirty_ = 0; // cacheFlush() will write block if true + cacheMirrorBlock_ = 0; + cacheBlockNumber_ = 0XFFFFFFFF; + + // if part == 0 assume super floppy with FAT boot sector in block zero + // if part > 0 assume mbr volume with partition table + if (part) { + if (part > 4)goto fail; + if (!cacheRawBlock(volumeStartBlock, CACHE_FOR_READ)) goto fail; + part_t* p = &cacheBuffer_.mbr.part[part-1]; + if ((p->boot & 0X7F) !=0 || + p->totalSectors < 100 || + p->firstSector == 0) { + // not a valid partition + goto fail; + } + volumeStartBlock = p->firstSector; + } + if (!cacheRawBlock(volumeStartBlock, CACHE_FOR_READ)) goto fail; + fbs = &cacheBuffer_.fbs32; + if (fbs->bytesPerSector != 512 || + fbs->fatCount == 0 || + fbs->reservedSectorCount == 0 || + fbs->sectorsPerCluster == 0) { + // not valid FAT volume + goto fail; + } + fatCount_ = fbs->fatCount; + blocksPerCluster_ = fbs->sectorsPerCluster; + // determine shift that is same as multiply by blocksPerCluster_ + clusterSizeShift_ = 0; + while (blocksPerCluster_ != BIT(clusterSizeShift_)) { + // error if not power of 2 + if (clusterSizeShift_++ > 7) goto fail; + } + blocksPerFat_ = fbs->sectorsPerFat16 ? + fbs->sectorsPerFat16 : fbs->sectorsPerFat32; + + fatStartBlock_ = volumeStartBlock + fbs->reservedSectorCount; + + // count for FAT16 zero for FAT32 + rootDirEntryCount_ = fbs->rootDirEntryCount; + + // directory start for FAT16 dataStart for FAT32 + rootDirStart_ = fatStartBlock_ + fbs->fatCount * blocksPerFat_; + + // data start for FAT16 and FAT32 + dataStartBlock_ = rootDirStart_ + ((32 * fbs->rootDirEntryCount + 511)/512); + + // total blocks for FAT16 or FAT32 + totalBlocks = fbs->totalSectors16 ? + fbs->totalSectors16 : fbs->totalSectors32; + // total data blocks + clusterCount_ = totalBlocks - (dataStartBlock_ - volumeStartBlock); + + // divide by cluster size to get cluster count + clusterCount_ >>= clusterSizeShift_; + + // FAT type is determined by cluster count + if (clusterCount_ < 4085) { + fatType_ = 12; + if (!FAT12_SUPPORT) goto fail; + } else if (clusterCount_ < 65525) { + fatType_ = 16; + } else { + rootDirStart_ = fbs->fat32RootCluster; + fatType_ = 32; + } + return true; + + fail: + return false; +} +#endif \ No newline at end of file diff --git a/Marlin/SdVolume.h b/Marlin/SdVolume.h new file mode 100644 index 0000000..2ff2b6e --- /dev/null +++ b/Marlin/SdVolume.h @@ -0,0 +1,214 @@ +/* Arduino SdFat Library + * Copyright (C) 2009 by William Greiman + * + * This file is part of the Arduino SdFat Library + * + * This Library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Arduino SdFat Library. If not, see + * . + */ +#include "Marlin.h" +#ifdef SDSUPPORT +#ifndef SdVolume_h +#define SdVolume_h +/** + * \file + * \brief SdVolume class + */ +#include "SdFatConfig.h" +#include "Sd2Card.h" +#include "SdFatStructs.h" + +//============================================================================== +// SdVolume class +/** + * \brief Cache for an SD data block + */ +union cache_t { + /** Used to access cached file data blocks. */ + uint8_t data[512]; + /** Used to access cached FAT16 entries. */ + uint16_t fat16[256]; + /** Used to access cached FAT32 entries. */ + uint32_t fat32[128]; + /** Used to access cached directory entries. */ + dir_t dir[16]; + /** Used to access a cached Master Boot Record. */ + mbr_t mbr; + /** Used to access to a cached FAT boot sector. */ + fat_boot_t fbs; + /** Used to access to a cached FAT32 boot sector. */ + fat32_boot_t fbs32; + /** Used to access to a cached FAT32 FSINFO sector. */ + fat32_fsinfo_t fsinfo; +}; +//------------------------------------------------------------------------------ +/** + * \class SdVolume + * \brief Access FAT16 and FAT32 volumes on SD and SDHC cards. + */ +class SdVolume { + public: + /** Create an instance of SdVolume */ + SdVolume() : fatType_(0) {} + /** Clear the cache and returns a pointer to the cache. Used by the WaveRP + * recorder to do raw write to the SD card. Not for normal apps. + * \return A pointer to the cache buffer or zero if an error occurs. + */ + cache_t* cacheClear() { + if (!cacheFlush()) return 0; + cacheBlockNumber_ = 0XFFFFFFFF; + return &cacheBuffer_; + } + /** Initialize a FAT volume. Try partition one first then try super + * floppy format. + * + * \param[in] dev The Sd2Card where the volume is located. + * + * \return The value one, true, is returned for success and + * the value zero, false, is returned for failure. Reasons for + * failure include not finding a valid partition, not finding a valid + * FAT file system or an I/O error. + */ + bool init(Sd2Card* dev) { return init(dev, 1) ? true : init(dev, 0);} + bool init(Sd2Card* dev, uint8_t part); + + // inline functions that return volume info + /** \return The volume's cluster size in blocks. */ + uint8_t blocksPerCluster() const {return blocksPerCluster_;} + /** \return The number of blocks in one FAT. */ + uint32_t blocksPerFat() const {return blocksPerFat_;} + /** \return The total number of clusters in the volume. */ + uint32_t clusterCount() const {return clusterCount_;} + /** \return The shift count required to multiply by blocksPerCluster. */ + uint8_t clusterSizeShift() const {return clusterSizeShift_;} + /** \return The logical block number for the start of file data. */ + uint32_t dataStartBlock() const {return dataStartBlock_;} + /** \return The number of FAT structures on the volume. */ + uint8_t fatCount() const {return fatCount_;} + /** \return The logical block number for the start of the first FAT. */ + uint32_t fatStartBlock() const {return fatStartBlock_;} + /** \return The FAT type of the volume. Values are 12, 16 or 32. */ + uint8_t fatType() const {return fatType_;} + int32_t freeClusterCount(); + /** \return The number of entries in the root directory for FAT16 volumes. */ + uint32_t rootDirEntryCount() const {return rootDirEntryCount_;} + /** \return The logical block number for the start of the root directory + on FAT16 volumes or the first cluster number on FAT32 volumes. */ + uint32_t rootDirStart() const {return rootDirStart_;} + /** Sd2Card object for this volume + * \return pointer to Sd2Card object. + */ + Sd2Card* sdCard() {return sdCard_;} + /** Debug access to FAT table + * + * \param[in] n cluster number. + * \param[out] v value of entry + * \return true for success or false for failure + */ + bool dbgFat(uint32_t n, uint32_t* v) {return fatGet(n, v);} +//------------------------------------------------------------------------------ + private: + // Allow SdBaseFile access to SdVolume private data. + friend class SdBaseFile; + + // value for dirty argument in cacheRawBlock to indicate read from cache + static bool const CACHE_FOR_READ = false; + // value for dirty argument in cacheRawBlock to indicate write to cache + static bool const CACHE_FOR_WRITE = true; + +#if USE_MULTIPLE_CARDS + cache_t cacheBuffer_; // 512 byte cache for device blocks + uint32_t cacheBlockNumber_; // Logical number of block in the cache + Sd2Card* sdCard_; // Sd2Card object for cache + bool cacheDirty_; // cacheFlush() will write block if true + uint32_t cacheMirrorBlock_; // block number for mirror FAT +#else // USE_MULTIPLE_CARDS + static cache_t cacheBuffer_; // 512 byte cache for device blocks + static uint32_t cacheBlockNumber_; // Logical number of block in the cache + static Sd2Card* sdCard_; // Sd2Card object for cache + static bool cacheDirty_; // cacheFlush() will write block if true + static uint32_t cacheMirrorBlock_; // block number for mirror FAT +#endif // USE_MULTIPLE_CARDS + uint32_t allocSearchStart_; // start cluster for alloc search + uint8_t blocksPerCluster_; // cluster size in blocks + uint32_t blocksPerFat_; // FAT size in blocks + uint32_t clusterCount_; // clusters in one FAT + uint8_t clusterSizeShift_; // shift to convert cluster count to block count + uint32_t dataStartBlock_; // first data block number + uint8_t fatCount_; // number of FATs on volume + uint32_t fatStartBlock_; // start block for first FAT + uint8_t fatType_; // volume type (12, 16, OR 32) + uint16_t rootDirEntryCount_; // number of entries in FAT16 root dir + uint32_t rootDirStart_; // root start block for FAT16, cluster for FAT32 + //---------------------------------------------------------------------------- + bool allocContiguous(uint32_t count, uint32_t* curCluster); + uint8_t blockOfCluster(uint32_t position) const { + return (position >> 9) & (blocksPerCluster_ - 1);} + uint32_t clusterStartBlock(uint32_t cluster) const { + return dataStartBlock_ + ((cluster - 2) << clusterSizeShift_);} + uint32_t blockNumber(uint32_t cluster, uint32_t position) const { + return clusterStartBlock(cluster) + blockOfCluster(position);} + cache_t *cache() {return &cacheBuffer_;} + uint32_t cacheBlockNumber() {return cacheBlockNumber_;} +#if USE_MULTIPLE_CARDS + bool cacheFlush(); + bool cacheRawBlock(uint32_t blockNumber, bool dirty); +#else // USE_MULTIPLE_CARDS + static bool cacheFlush(); + static bool cacheRawBlock(uint32_t blockNumber, bool dirty); +#endif // USE_MULTIPLE_CARDS + // used by SdBaseFile write to assign cache to SD location + void cacheSetBlockNumber(uint32_t blockNumber, bool dirty) { + cacheDirty_ = dirty; + cacheBlockNumber_ = blockNumber; + } + void cacheSetDirty() {cacheDirty_ |= CACHE_FOR_WRITE;} + bool chainSize(uint32_t beginCluster, uint32_t* size); + bool fatGet(uint32_t cluster, uint32_t* value); + bool fatPut(uint32_t cluster, uint32_t value); + bool fatPutEOC(uint32_t cluster) { + return fatPut(cluster, 0x0FFFFFFF); + } + bool freeChain(uint32_t cluster); + bool isEOC(uint32_t cluster) const { + if (FAT12_SUPPORT && fatType_ == 12) return cluster >= FAT12EOC_MIN; + if (fatType_ == 16) return cluster >= FAT16EOC_MIN; + return cluster >= FAT32EOC_MIN; + } + bool readBlock(uint32_t block, uint8_t* dst) { + return sdCard_->readBlock(block, dst);} + bool writeBlock(uint32_t block, const uint8_t* dst) { + return sdCard_->writeBlock(block, dst); + } +//------------------------------------------------------------------------------ + // Deprecated functions - suppress cpplint warnings with NOLINT comment +#if ALLOW_DEPRECATED_FUNCTIONS && !defined(DOXYGEN) + public: + /** \deprecated Use: bool SdVolume::init(Sd2Card* dev); + * \param[in] dev The SD card where the volume is located. + * \return true for success or false for failure. + */ + bool init(Sd2Card& dev) {return init(&dev);} // NOLINT + /** \deprecated Use: bool SdVolume::init(Sd2Card* dev, uint8_t vol); + * \param[in] dev The SD card where the volume is located. + * \param[in] part The partition to be used. + * \return true for success or false for failure. + */ + bool init(Sd2Card& dev, uint8_t part) { // NOLINT + return init(&dev, part); + } +#endif // ALLOW_DEPRECATED_FUNCTIONS +}; +#endif // SdVolume +#endif \ No newline at end of file diff --git a/Marlin/Servo.cpp b/Marlin/Servo.cpp new file mode 100644 index 0000000..27a7d3c --- /dev/null +++ b/Marlin/Servo.cpp @@ -0,0 +1,304 @@ +/* + Servo.cpp - Interrupt driven Servo library for Arduino using 16 bit timers- Version 2 + Copyright (c) 2009 Michael Margolis. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + + A servo is activated by creating an instance of the Servo class passing the desired pin to the attach() method. + The servos are pulsed in the background using the value most recently written using the write() method + + Note that analogWrite of PWM on pins associated with the timer are disabled when the first servo is attached. + Timers are seized as needed in groups of 12 servos - 24 servos use two timers, 48 servos will use four. + + The methods are: + + Servo - Class for manipulating servo motors connected to Arduino pins. + + attach(pin ) - Attaches a servo motor to an i/o pin. + attach(pin, min, max ) - Attaches to a pin setting min and max values in microseconds + default min is 544, max is 2400 + + write() - Sets the servo angle in degrees. (invalid angle that is valid as pulse in microseconds is treated as microseconds) + writeMicroseconds() - Sets the servo pulse width in microseconds + read() - Gets the last written servo pulse width as an angle between 0 and 180. + readMicroseconds() - Gets the last written servo pulse width in microseconds. (was read_us() in first release) + attached() - Returns true if there is a servo attached. + detach() - Stops an attached servos from pulsing its i/o pin. + +*/ +#include "Configuration.h" + +#ifdef NUM_SERVOS + +#include +#include + +#include "Servo.h" + +#define usToTicks(_us) (( clockCyclesPerMicrosecond()* _us) / 8) // converts microseconds to tick (assumes prescale of 8) // 12 Aug 2009 +#define ticksToUs(_ticks) (( (unsigned)_ticks * 8)/ clockCyclesPerMicrosecond() ) // converts from ticks back to microseconds + +#define TRIM_DURATION 2 // compensation ticks to trim adjust for digitalWrite delays // 12 August 2009 + +//#define NBR_TIMERS (MAX_SERVOS / SERVOS_PER_TIMER) + +static servo_t servos[MAX_SERVOS]; // static array of servo structures +static volatile int8_t Channel[_Nbr_16timers ]; // counter for the servo being pulsed for each timer (or -1 if refresh interval) + +uint8_t ServoCount = 0; // the total number of attached servos + + +// convenience macros +#define SERVO_INDEX_TO_TIMER(_servo_nbr) ((timer16_Sequence_t)(_servo_nbr / SERVOS_PER_TIMER)) // returns the timer controlling this servo +#define SERVO_INDEX_TO_CHANNEL(_servo_nbr) (_servo_nbr % SERVOS_PER_TIMER) // returns the index of the servo on this timer +#define SERVO_INDEX(_timer,_channel) ((_timer*SERVOS_PER_TIMER) + _channel) // macro to access servo index by timer and channel +#define SERVO(_timer,_channel) (servos[SERVO_INDEX(_timer,_channel)]) // macro to access servo class by timer and channel + +#define SERVO_MIN() (MIN_PULSE_WIDTH - this->min * 4) // minimum value in uS for this servo +#define SERVO_MAX() (MAX_PULSE_WIDTH - this->max * 4) // maximum value in uS for this servo + +/************ static functions common to all instances ***********************/ + +static inline void handle_interrupts(timer16_Sequence_t timer, volatile uint16_t *TCNTn, volatile uint16_t* OCRnA) { + if (Channel[timer] < 0) + *TCNTn = 0; // channel set to -1 indicated that refresh interval completed so reset the timer + else { + if (SERVO_INDEX(timer,Channel[timer]) < ServoCount && SERVO(timer,Channel[timer]).Pin.isActive) + digitalWrite( SERVO(timer,Channel[timer]).Pin.nbr,LOW); // pulse this channel low if activated + } + + Channel[timer]++; // increment to the next channel + if (SERVO_INDEX(timer,Channel[timer]) < ServoCount && Channel[timer] < SERVOS_PER_TIMER) { + *OCRnA = *TCNTn + SERVO(timer,Channel[timer]).ticks; + if (SERVO(timer,Channel[timer]).Pin.isActive) // check if activated + digitalWrite( SERVO(timer,Channel[timer]).Pin.nbr,HIGH); // its an active channel so pulse it high + } + else { + // finished all channels so wait for the refresh period to expire before starting over + if ( ((unsigned)*TCNTn) + 4 < usToTicks(REFRESH_INTERVAL) ) // allow a few ticks to ensure the next OCR1A not missed + *OCRnA = (unsigned int)usToTicks(REFRESH_INTERVAL); + else + *OCRnA = *TCNTn + 4; // at least REFRESH_INTERVAL has elapsed + Channel[timer] = -1; // this will get incremented at the end of the refresh period to start again at the first channel + } +} + +#ifndef WIRING // Wiring pre-defines signal handlers so don't define any if compiling for the Wiring platform + + // Interrupt handlers for Arduino + #if defined(_useTimer1) + SIGNAL (TIMER1_COMPA_vect) { handle_interrupts(_timer1, &TCNT1, &OCR1A); } + #endif + + #if defined(_useTimer3) + SIGNAL (TIMER3_COMPA_vect) { handle_interrupts(_timer3, &TCNT3, &OCR3A); } + #endif + + #if defined(_useTimer4) + SIGNAL (TIMER4_COMPA_vect) { handle_interrupts(_timer4, &TCNT4, &OCR4A); } + #endif + + #if defined(_useTimer5) + SIGNAL (TIMER5_COMPA_vect) { handle_interrupts(_timer5, &TCNT5, &OCR5A); } + #endif + +#else //!WIRING + + // Interrupt handlers for Wiring + #if defined(_useTimer1) + void Timer1Service() { handle_interrupts(_timer1, &TCNT1, &OCR1A); } + #endif + #if defined(_useTimer3) + void Timer3Service() { handle_interrupts(_timer3, &TCNT3, &OCR3A); } + #endif + +#endif //!WIRING + + +static void initISR(timer16_Sequence_t timer) { + #if defined(_useTimer1) + if (timer == _timer1) { + TCCR1A = 0; // normal counting mode + TCCR1B = _BV(CS11); // set prescaler of 8 + TCNT1 = 0; // clear the timer count + #if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__) + TIFR |= _BV(OCF1A); // clear any pending interrupts; + TIMSK |= _BV(OCIE1A); // enable the output compare interrupt + #else + // here if not ATmega8 or ATmega128 + TIFR1 |= _BV(OCF1A); // clear any pending interrupts; + TIMSK1 |= _BV(OCIE1A); // enable the output compare interrupt + #endif + #if defined(WIRING) + timerAttach(TIMER1OUTCOMPAREA_INT, Timer1Service); + #endif + } + #endif + + #if defined(_useTimer3) + if (timer == _timer3) { + TCCR3A = 0; // normal counting mode + TCCR3B = _BV(CS31); // set prescaler of 8 + TCNT3 = 0; // clear the timer count + #if defined(__AVR_ATmega128__) + TIFR |= _BV(OCF3A); // clear any pending interrupts; + ETIMSK |= _BV(OCIE3A); // enable the output compare interrupt + #else + TIFR3 = _BV(OCF3A); // clear any pending interrupts; + TIMSK3 = _BV(OCIE3A) ; // enable the output compare interrupt + #endif + #if defined(WIRING) + timerAttach(TIMER3OUTCOMPAREA_INT, Timer3Service); // for Wiring platform only + #endif + } + #endif + + #if defined(_useTimer4) + if (timer == _timer4) { + TCCR4A = 0; // normal counting mode + TCCR4B = _BV(CS41); // set prescaler of 8 + TCNT4 = 0; // clear the timer count + TIFR4 = _BV(OCF4A); // clear any pending interrupts; + TIMSK4 = _BV(OCIE4A) ; // enable the output compare interrupt + } + #endif + + #if defined(_useTimer5) + if (timer == _timer5) { + TCCR5A = 0; // normal counting mode + TCCR5B = _BV(CS51); // set prescaler of 8 + TCNT5 = 0; // clear the timer count + TIFR5 = _BV(OCF5A); // clear any pending interrupts; + TIMSK5 = _BV(OCIE5A) ; // enable the output compare interrupt + } + #endif +} + +static void finISR(timer16_Sequence_t timer) { + // Disable use of the given timer + #if defined(WIRING) + if (timer == _timer1) { + #if defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) + TIMSK1 + #else + TIMSK + #endif + &= ~_BV(OCIE1A); // disable timer 1 output compare interrupt + timerDetach(TIMER1OUTCOMPAREA_INT); + } + else if (timer == _timer3) { + #if defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) + TIMSK3 + #else + ETIMSK + #endif + &= ~_BV(OCIE3A); // disable the timer3 output compare A interrupt + timerDetach(TIMER3OUTCOMPAREA_INT); + } + #else //!WIRING + // For arduino - in future: call here to a currently undefined function to reset the timer + #endif +} + +static boolean isTimerActive(timer16_Sequence_t timer) { + // returns true if any servo is active on this timer + for(uint8_t channel=0; channel < SERVOS_PER_TIMER; channel++) { + if (SERVO(timer,channel).Pin.isActive) + return true; + } + return false; +} + + +/****************** end of static functions ******************************/ + +Servo::Servo() { + if ( ServoCount < MAX_SERVOS) { + this->servoIndex = ServoCount++; // assign a servo index to this instance + servos[this->servoIndex].ticks = usToTicks(DEFAULT_PULSE_WIDTH); // store default values - 12 Aug 2009 + } + else + this->servoIndex = INVALID_SERVO; // too many servos +} + +uint8_t Servo::attach(int pin) { + return this->attach(pin, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH); +} + +uint8_t Servo::attach(int pin, int min, int max) { + if (this->servoIndex < MAX_SERVOS ) { + #if defined(ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0) + if (pin > 0) this->pin = pin; else pin = this->pin; + #endif + pinMode(pin, OUTPUT); // set servo pin to output + servos[this->servoIndex].Pin.nbr = pin; + // todo min/max check: abs(min - MIN_PULSE_WIDTH) /4 < 128 + this->min = (MIN_PULSE_WIDTH - min) / 4; //resolution of min/max is 4 uS + this->max = (MAX_PULSE_WIDTH - max) / 4; + // initialize the timer if it has not already been initialized + timer16_Sequence_t timer = SERVO_INDEX_TO_TIMER(servoIndex); + if (!isTimerActive(timer)) initISR(timer); + servos[this->servoIndex].Pin.isActive = true; // this must be set after the check for isTimerActive + } + return this->servoIndex; +} + +void Servo::detach() { + servos[this->servoIndex].Pin.isActive = false; + timer16_Sequence_t timer = SERVO_INDEX_TO_TIMER(servoIndex); + if (!isTimerActive(timer)) finISR(timer); +} + +void Servo::write(int value) { + if (value < MIN_PULSE_WIDTH) { // treat values less than 544 as angles in degrees (valid values in microseconds are handled as microseconds) + if (value < 0) value = 0; + if (value > 180) value = 180; + value = map(value, 0, 180, SERVO_MIN(), SERVO_MAX()); + } + this->writeMicroseconds(value); +} + +void Servo::writeMicroseconds(int value) { + // calculate and store the values for the given channel + byte channel = this->servoIndex; + if (channel < MAX_SERVOS) { // ensure channel is valid + if (value < SERVO_MIN()) // ensure pulse width is valid + value = SERVO_MIN(); + else if (value > SERVO_MAX()) + value = SERVO_MAX(); + + value = value - TRIM_DURATION; + value = usToTicks(value); // convert to ticks after compensating for interrupt overhead - 12 Aug 2009 + + uint8_t oldSREG = SREG; + cli(); + servos[channel].ticks = value; + SREG = oldSREG; + } +} + +// return the value as degrees +int Servo::read() { return map( this->readMicroseconds()+1, SERVO_MIN(), SERVO_MAX(), 0, 180); } + +int Servo::readMicroseconds() { + return (this->servoIndex == INVALID_SERVO) ? 0 : ticksToUs(servos[this->servoIndex].ticks) + TRIM_DURATION; +} + +bool Servo::attached() { return servos[this->servoIndex].Pin.isActive; } + +#endif diff --git a/Marlin/Servo.h b/Marlin/Servo.h new file mode 100644 index 0000000..682a3b3 --- /dev/null +++ b/Marlin/Servo.h @@ -0,0 +1,135 @@ +/* + Servo.h - Interrupt driven Servo library for Arduino using 16 bit timers- Version 2 + Copyright (c) 2009 Michael Margolis. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +/* + + A servo is activated by creating an instance of the Servo class passing the desired pin to the attach() method. + The servos are pulsed in the background using the value most recently written using the write() method + + Note that analogWrite of PWM on pins associated with the timer are disabled when the first servo is attached. + Timers are seized as needed in groups of 12 servos - 24 servos use two timers, 48 servos will use four. + The sequence used to seize timers is defined in timers.h + + The methods are: + + Servo - Class for manipulating servo motors connected to Arduino pins. + + attach(pin ) - Attaches a servo motor to an i/o pin. + attach(pin, min, max ) - Attaches to a pin setting min and max values in microseconds + default min is 544, max is 2400 + + write() - Sets the servo angle in degrees. (invalid angle that is valid as pulse in microseconds is treated as microseconds) + writeMicroseconds() - Sets the servo pulse width in microseconds + read() - Gets the last written servo pulse width as an angle between 0 and 180. + readMicroseconds() - Gets the last written servo pulse width in microseconds. (was read_us() in first release) + attached() - Returns true if there is a servo attached. + detach() - Stops an attached servos from pulsing its i/o pin. + */ + +#ifndef Servo_h +#define Servo_h + +#include + +/* + * Defines for 16 bit timers used with Servo library + * + * If _useTimerX is defined then TimerX is a 16 bit timer on the current board + * timer16_Sequence_t enumerates the sequence that the timers should be allocated + * _Nbr_16timers indicates how many 16 bit timers are available. + * + */ + +// Say which 16 bit timers can be used and in what order +#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + #define _useTimer5 + //#define _useTimer1 + #define _useTimer3 + #define _useTimer4 + //typedef enum { _timer5, _timer1, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _timer5, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t ; + +#elif defined(__AVR_ATmega32U4__) + //#define _useTimer1 + #define _useTimer3 + //typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ; + +#elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) + #define _useTimer3 + //#define _useTimer1 + //typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ; + +#elif defined(__AVR_ATmega128__) ||defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) ||defined(__AVR_ATmega2561__) + #define _useTimer3 + //#define _useTimer1 + //typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ; + +#else // everything else + //#define _useTimer1 + //typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _Nbr_16timers } timer16_Sequence_t ; + +#endif + +#define Servo_VERSION 2 // software version of this library + +#define MIN_PULSE_WIDTH 544 // the shortest pulse sent to a servo +#define MAX_PULSE_WIDTH 2400 // the longest pulse sent to a servo +#define DEFAULT_PULSE_WIDTH 1500 // default pulse width when servo is attached +#define REFRESH_INTERVAL 20000 // minimum time to refresh servos in microseconds + +#define SERVOS_PER_TIMER 12 // the maximum number of servos controlled by one timer +#define MAX_SERVOS (_Nbr_16timers * SERVOS_PER_TIMER) + +#define INVALID_SERVO 255 // flag indicating an invalid servo index + +typedef struct { + uint8_t nbr :6 ; // a pin number from 0 to 63 + uint8_t isActive :1 ; // true if this channel is enabled, pin not pulsed if false +} ServoPin_t; + +typedef struct { + ServoPin_t Pin; + unsigned int ticks; +} servo_t; + +class Servo { + public: + Servo(); + uint8_t attach(int pin); // attach the given pin to the next free channel, sets pinMode, returns channel number or 0 if failure + uint8_t attach(int pin, int min, int max); // as above but also sets min and max values for writes. + void detach(); + void write(int value); // if value is < 200 it is treated as an angle, otherwise as pulse width in microseconds + void writeMicroseconds(int value); // Write pulse width in microseconds + int read(); // returns current pulse width as an angle between 0 and 180 degrees + int readMicroseconds(); // returns current pulse width in microseconds for this servo (was read_us() in first release) + bool attached(); // return true if this servo is attached, otherwise false + #if defined(ENABLE_AUTO_BED_LEVELING) && PROBE_SERVO_DEACTIVATION_DELAY > 0 + int pin; // store the hardware pin of the servo + #endif + private: + uint8_t servoIndex; // index into the channel data for this servo + int8_t min; // minimum is this value times 4 added to MIN_PULSE_WIDTH + int8_t max; // maximum is this value times 4 added to MAX_PULSE_WIDTH +}; + +#endif diff --git a/Marlin/boards.h b/Marlin/boards.h new file mode 100644 index 0000000..8a60f01 --- /dev/null +++ b/Marlin/boards.h @@ -0,0 +1,62 @@ +#ifndef BOARDS_H +#define BOARDS_H + +#define BOARD_UNKNOWN -1 + +#define BOARD_GEN7_CUSTOM 10 // Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics" +#define BOARD_GEN7_12 11 // Gen7 v1.1, v1.2 +#define BOARD_GEN7_13 12 // Gen7 v1.3 +#define BOARD_GEN7_14 13 // Gen7 v1.4 +#define BOARD_CHEAPTRONIC 2 // Cheaptronic v1.0 +#define BOARD_SETHI 20 // Sethi 3D_1 +#define BOARD_RAMPS_OLD 3 // MEGA/RAMPS up to 1.2 +#define BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed) +#define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed) +#define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan) +#define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan) +#define BOARD_FELIX2 37 // Felix 2.0+ Electronics Board (RAMPS like) +#define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignments +#define BOARD_GEN6 5 // Gen6 +#define BOARD_GEN6_DELUXE 51 // Gen6 deluxe +#define BOARD_SANGUINOLOLU_11 6 // Sanguinololu < 1.2 +#define BOARD_SANGUINOLOLU_12 62 // Sanguinololu 1.2 and above +#define BOARD_MELZI 63 // Melzi +#define BOARD_STB_11 64 // STB V1.1 +#define BOARD_AZTEEG_X1 65 // Azteeg X1 +#define BOARD_MELZI_1284 66 // Melzi with ATmega1284 (MaKr3d version) +#define BOARD_AZTEEG_X3 67 // Azteeg X3 +#define BOARD_AZTEEG_X3_PRO 68 // Azteeg X3 Pro +#define BOARD_ULTIMAKER 7 // Ultimaker +#define BOARD_ULTIMAKER_OLD 71 // Ultimaker (Older electronics. Pre 1.5.4. This is rare) +#define BOARD_ULTIMAIN_2 72 // Ultimainboard 2.x (Uses TEMP_SENSOR 20) +#define BOARD_3DRAG 77 // 3Drag Controller +#define BOARD_K8200 78 // Vellemann K8200 Controller (derived from 3Drag Controller) +#define BOARD_TEENSYLU 8 // Teensylu +#define BOARD_RUMBA 80 // Rumba +#define BOARD_PRINTRBOARD 81 // Printrboard (AT90USB1286) +#define BOARD_BRAINWAVE 82 // Brainwave (AT90USB646) +#define BOARD_SAV_MKI 83 // SAV Mk-I (AT90USB1286) +#define BOARD_TEENSY2 84 // Teensy++2.0 (AT90USB1286) - CLI compile: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make +#define BOARD_BRAINWAVE_PRO 85 // Brainwave Pro (AT90USB1286) +#define BOARD_GEN3_PLUS 9 // Gen3+ +#define BOARD_GEN3_MONOLITHIC 22 // Gen3 Monolithic Electronics +#define BOARD_MEGATRONICS 70 // Megatronics +#define BOARD_MEGATRONICS_2 701 // Megatronics v2.0 +#define BOARD_MEGATRONICS_1 702 // Minitronics v1.0 +#define BOARD_MEGATRONICS_3 703 // Megatronics v3.0 +#define BOARD_OMCA_A 90 // Alpha OMCA board +#define BOARD_OMCA 91 // Final OMCA board +#define BOARD_RAMBO 301 // Rambo +#define BOARD_ELEFU_3 21 // Elefu Ra Board (v3) +#define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board +#define BOARD_LEAPFROG 999 // Leapfrog +#define BOARD_WITBOX 41 // bq WITBOX +#define BOARD_HEPHESTOS 42 // bq Prusa i3 Hephestos +#define BOARD_BAM_DICE 401 // 2PrintBeta BAM&DICE with STK drivers +#define BOARD_BAM_DICE_DUE 402 // 2PrintBeta BAM&DICE Due with STK drivers + +#define BOARD_99 99 // This is in pins.h but...? + +#define MB(board) (MOTHERBOARD==BOARD_##board) + +#endif //__BOARDS_H diff --git a/Marlin/cardreader.cpp b/Marlin/cardreader.cpp new file mode 100644 index 0000000..639b4f2 --- /dev/null +++ b/Marlin/cardreader.cpp @@ -0,0 +1,517 @@ +#include "Marlin.h" +#include "cardreader.h" +#include "ultralcd.h" +#include "stepper.h" +#include "temperature.h" +#include "language.h" + +#ifdef SDSUPPORT + +CardReader::CardReader() { + filesize = 0; + sdpos = 0; + sdprinting = false; + cardOK = false; + saving = false; + logging = false; + workDirDepth = 0; + file_subcall_ctr = 0; + memset(workDirParents, 0, sizeof(workDirParents)); + + autostart_stilltocheck = true; //the SD start is delayed, because otherwise the serial cannot answer fast enough to make contact with the host software. + autostart_index = 0; + //power to SD reader + #if SDPOWER > -1 + OUT_WRITE(SDPOWER, HIGH); + #endif //SDPOWER + + next_autostart_ms = millis() + 5000; +} + +char *createFilename(char *buffer, const dir_t &p) { //buffer > 12characters + char *pos = buffer; + for (uint8_t i = 0; i < 11; i++) { + if (p.name[i] == ' ') continue; + if (i == 8) *pos++ = '.'; + *pos++ = p.name[i]; + } + *pos++ = 0; + return buffer; +} + +void CardReader::lsDive(const char *prepend, SdFile parent, const char * const match/*=NULL*/) { + dir_t p; + uint8_t cnt = 0; + + while (parent.readDir(p, longFilename) > 0) { + if (DIR_IS_SUBDIR(&p) && lsAction != LS_Count && lsAction != LS_GetFilename) { // hence LS_SerialPrint + char path[FILENAME_LENGTH*2]; + char lfilename[FILENAME_LENGTH]; + createFilename(lfilename, p); + + path[0] = 0; + if (prepend[0] == 0) strcat(path, "/"); //avoid leading / if already in prepend + strcat(path, prepend); + strcat(path, lfilename); + strcat(path, "/"); + + //Serial.print(path); + + SdFile dir; + if (!dir.open(parent, lfilename, O_READ)) { + if (lsAction == LS_SerialPrint) { + SERIAL_ECHO_START; + SERIAL_ECHOLN(MSG_SD_CANT_OPEN_SUBDIR); + SERIAL_ECHOLN(lfilename); + } + } + lsDive(path, dir); + //close done automatically by destructor of SdFile + } + else { + char pn0 = p.name[0]; + if (pn0 == DIR_NAME_FREE) break; + if (pn0 == DIR_NAME_DELETED || pn0 == '.') continue; + char lf0 = longFilename[0]; + if (lf0 == '.') continue; + + if (!DIR_IS_FILE_OR_SUBDIR(&p)) continue; + + filenameIsDir = DIR_IS_SUBDIR(&p); + + if (!filenameIsDir && (p.name[8] != 'G' || p.name[9] == '~')) continue; + + //if (cnt++ != nr) continue; + createFilename(filename, p); + if (lsAction == LS_SerialPrint) { + SERIAL_PROTOCOL(prepend); + SERIAL_PROTOCOLLN(filename); + } + else if (lsAction == LS_Count) { + nrFiles++; + } + else if (lsAction == LS_GetFilename) { + if (match != NULL) { + if (strcasecmp(match, filename) == 0) return; + } + else if (cnt == nrFiles) return; + cnt++; + } + } + } +} + +void CardReader::ls() { + lsAction = LS_SerialPrint; + root.rewind(); + lsDive("", root); +} + +void CardReader::initsd() { + cardOK = false; + if (root.isOpen()) root.close(); + + #ifdef SDSLOW + #define SPI_SPEED SPI_HALF_SPEED + #else + #define SPI_SPEED SPI_FULL_SPEED + #endif + + if (!card.init(SPI_SPEED,SDSS) + #if defined(LCD_SDSS) && (LCD_SDSS != SDSS) + && !card.init(SPI_SPEED, LCD_SDSS) + #endif + ) { + //if (!card.init(SPI_HALF_SPEED,SDSS)) + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_SD_INIT_FAIL); + } + else if (!volume.init(&card)) { + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_SD_VOL_INIT_FAIL); + } + else if (!root.openRoot(&volume)) { + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_SD_OPENROOT_FAIL); + } + else { + cardOK = true; + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_SD_CARD_OK); + } + workDir = root; + curDir = &root; + /* + if (!workDir.openRoot(&volume)) { + SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL); + } + */ +} + +void CardReader::setroot() { + /*if (!workDir.openRoot(&volume)) { + SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL); + }*/ + workDir = root; + curDir = &workDir; +} + +void CardReader::release() { + sdprinting = false; + cardOK = false; +} + +void CardReader::startFileprint() { + if (cardOK) { + sdprinting = true; + } +} + +void CardReader::pauseSDPrint() { + if (sdprinting) sdprinting = false; +} + +void CardReader::openLogFile(char* name) { + logging = true; + openFile(name, false); +} + +void CardReader::getAbsFilename(char *t) { + uint8_t cnt = 0; + *t = '/'; t++; cnt++; + for (uint8_t i = 0; i < workDirDepth; i++) { + workDirParents[i].getFilename(t); //SDBaseFile.getfilename! + while(*t && cnt < MAXPATHNAMELENGTH) { t++; cnt++; } //crawl counter forward. + } + if (cnt < MAXPATHNAMELENGTH - FILENAME_LENGTH) + file.getFilename(t); + else + t[0] = 0; +} + +void CardReader::openFile(char* name, bool read, bool replace_current/*=true*/) { + if (!cardOK) return; + if (file.isOpen()) { //replacing current file by new file, or subfile call + if (!replace_current) { + if (file_subcall_ctr > SD_PROCEDURE_DEPTH - 1) { + SERIAL_ERROR_START; + SERIAL_ERRORPGM("trying to call sub-gcode files with too many levels. MAX level is:"); + SERIAL_ERRORLN(SD_PROCEDURE_DEPTH); + kill(); + return; + } + + SERIAL_ECHO_START; + SERIAL_ECHOPGM("SUBROUTINE CALL target:\""); + SERIAL_ECHO(name); + SERIAL_ECHOPGM("\" parent:\""); + + //store current filename and position + getAbsFilename(filenames[file_subcall_ctr]); + + SERIAL_ECHO(filenames[file_subcall_ctr]); + SERIAL_ECHOPGM("\" pos"); + SERIAL_ECHOLN(sdpos); + filespos[file_subcall_ctr] = sdpos; + file_subcall_ctr++; + } + else { + SERIAL_ECHO_START; + SERIAL_ECHOPGM("Now doing file: "); + SERIAL_ECHOLN(name); + } + file.close(); + } + else { //opening fresh file + file_subcall_ctr = 0; //resetting procedure depth in case user cancels print while in procedure + SERIAL_ECHO_START; + SERIAL_ECHOPGM("Now fresh file: "); + SERIAL_ECHOLN(name); + } + sdprinting = false; + + SdFile myDir; + curDir = &root; + char *fname = name; + + char *dirname_start, *dirname_end; + if (name[0] == '/') { + dirname_start = &name[1]; + while(dirname_start > 0) { + dirname_end = strchr(dirname_start, '/'); + //SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start - name)); + //SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end - name)); + if (dirname_end > 0 && dirname_end > dirname_start) { + char subdirname[FILENAME_LENGTH]; + strncpy(subdirname, dirname_start, dirname_end - dirname_start); + subdirname[dirname_end - dirname_start] = 0; + SERIAL_ECHOLN(subdirname); + if (!myDir.open(curDir, subdirname, O_READ)) { + SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL); + SERIAL_PROTOCOL(subdirname); + SERIAL_PROTOCOLCHAR('.'); + return; + } + else { + //SERIAL_ECHOLN("dive ok"); + } + + curDir = &myDir; + dirname_start = dirname_end + 1; + } + else { // the remainder after all /fsa/fdsa/ is the filename + fname = dirname_start; + //SERIAL_ECHOLN("remainder"); + //SERIAL_ECHOLN(fname); + break; + } + } + } + else { //relative path + curDir = &workDir; + } + + if (read) { + if (file.open(curDir, fname, O_READ)) { + filesize = file.fileSize(); + SERIAL_PROTOCOLPGM(MSG_SD_FILE_OPENED); + SERIAL_PROTOCOL(fname); + SERIAL_PROTOCOLPGM(MSG_SD_SIZE); + SERIAL_PROTOCOLLN(filesize); + sdpos = 0; + + SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED); + getfilename(0, fname); + lcd_setstatus(longFilename[0] ? longFilename : fname); + } + else { + SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL); + SERIAL_PROTOCOL(fname); + SERIAL_PROTOCOLCHAR('.'); + } + } + else { //write + if (!file.open(curDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC)) { + SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL); + SERIAL_PROTOCOL(fname); + SERIAL_PROTOCOLCHAR('.'); + } + else { + saving = true; + SERIAL_PROTOCOLPGM(MSG_SD_WRITE_TO_FILE); + SERIAL_PROTOCOLLN(name); + lcd_setstatus(fname); + } + } +} + +void CardReader::removeFile(char* name) { + if (!cardOK) return; + + file.close(); + sdprinting = false; + + SdFile myDir; + curDir = &root; + char *fname = name; + + char *dirname_start, *dirname_end; + if (name[0] == '/') { + dirname_start = strchr(name, '/') + 1; + while (dirname_start > 0) { + dirname_end = strchr(dirname_start, '/'); + //SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start - name)); + //SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end - name)); + if (dirname_end > 0 && dirname_end > dirname_start) { + char subdirname[FILENAME_LENGTH]; + strncpy(subdirname, dirname_start, dirname_end - dirname_start); + subdirname[dirname_end - dirname_start] = 0; + SERIAL_ECHOLN(subdirname); + if (!myDir.open(curDir, subdirname, O_READ)) { + SERIAL_PROTOCOLPGM("open failed, File: "); + SERIAL_PROTOCOL(subdirname); + SERIAL_PROTOCOLCHAR('.'); + return; + } + else { + //SERIAL_ECHOLN("dive ok"); + } + + curDir = &myDir; + dirname_start = dirname_end + 1; + } + else { // the remainder after all /fsa/fdsa/ is the filename + fname = dirname_start; + //SERIAL_ECHOLN("remainder"); + //SERIAL_ECHOLN(fname); + break; + } + } + } + else { // relative path + curDir = &workDir; + } + + if (file.remove(curDir, fname)) { + SERIAL_PROTOCOLPGM("File deleted:"); + SERIAL_PROTOCOLLN(fname); + sdpos = 0; + } + else { + SERIAL_PROTOCOLPGM("Deletion failed, File: "); + SERIAL_PROTOCOL(fname); + SERIAL_PROTOCOLCHAR('.'); + } +} + +void CardReader::getStatus() { + if (cardOK) { + SERIAL_PROTOCOLPGM(MSG_SD_PRINTING_BYTE); + SERIAL_PROTOCOL(sdpos); + SERIAL_PROTOCOLCHAR('/'); + SERIAL_PROTOCOLLN(filesize); + } + else { + SERIAL_PROTOCOLLNPGM(MSG_SD_NOT_PRINTING); + } +} + +void CardReader::write_command(char *buf) { + char* begin = buf; + char* npos = 0; + char* end = buf + strlen(buf) - 1; + + file.writeError = false; + if ((npos = strchr(buf, 'N')) != NULL) { + begin = strchr(npos, ' ') + 1; + end = strchr(npos, '*') - 1; + } + end[1] = '\r'; + end[2] = '\n'; + end[3] = '\0'; + file.write(begin); + if (file.writeError) { + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_SD_ERR_WRITE_TO_FILE); + } +} + +void CardReader::checkautostart(bool force) { + if (!force && (!autostart_stilltocheck || next_autostart_ms < millis())) + return; + + autostart_stilltocheck = false; + + if (!cardOK) { + initsd(); + if (!cardOK) return; // fail + } + + char autoname[30]; + sprintf_P(autoname, PSTR("auto%i.g"), autostart_index); + for (int8_t i = 0; i < (int8_t)strlen(autoname); i++) autoname[i] = tolower(autoname[i]); + + dir_t p; + + root.rewind(); + + bool found = false; + while (root.readDir(p, NULL) > 0) { + for (int8_t i = 0; i < (int8_t)strlen((char*)p.name); i++) p.name[i] = tolower(p.name[i]); + if (p.name[9] != '~' && strncmp((char*)p.name, autoname, 5) == 0) { + char cmd[30]; + sprintf_P(cmd, PSTR("M23 %s"), autoname); + enqueuecommand(cmd); + enqueuecommands_P(PSTR("M24")); + found = true; + } + } + if (!found) + autostart_index = -1; + else + autostart_index++; +} + +void CardReader::closefile(bool store_location) { + file.sync(); + file.close(); + saving = logging = false; + + if (store_location) { + //future: store printer state, filename and position for continuing a stopped print + // so one can unplug the printer and continue printing the next day. + } +} + +/** + * Get the name of a file in the current directory by index + */ +void CardReader::getfilename(uint16_t nr, const char * const match/*=NULL*/) { + curDir = &workDir; + lsAction = LS_GetFilename; + nrFiles = nr; + curDir->rewind(); + lsDive("", *curDir, match); +} + +uint16_t CardReader::getnrfilenames() { + curDir = &workDir; + lsAction = LS_Count; + nrFiles = 0; + curDir->rewind(); + lsDive("", *curDir); + //SERIAL_ECHOLN(nrFiles); + return nrFiles; +} + +void CardReader::chdir(const char * relpath) { + SdFile newfile; + SdFile *parent = &root; + + if (workDir.isOpen()) parent = &workDir; + + if (!newfile.open(*parent, relpath, O_READ)) { + SERIAL_ECHO_START; + SERIAL_ECHOPGM(MSG_SD_CANT_ENTER_SUBDIR); + SERIAL_ECHOLN(relpath); + } + else { + if (workDirDepth < MAX_DIR_DEPTH) { + ++workDirDepth; + for (int d = workDirDepth; d--;) workDirParents[d + 1] = workDirParents[d]; + workDirParents[0] = *parent; + } + workDir = newfile; + } +} + +void CardReader::updir() { + if (workDirDepth > 0) { + --workDirDepth; + workDir = workDirParents[0]; + for (uint16_t d = 0; d < workDirDepth; d++) + workDirParents[d] = workDirParents[d+1]; + } +} + +void CardReader::printingHasFinished() { + st_synchronize(); + if (file_subcall_ctr > 0) { // Heading up to a parent file that called current as a procedure. + file.close(); + file_subcall_ctr--; + openFile(filenames[file_subcall_ctr], true, true); + setIndex(filespos[file_subcall_ctr]); + startFileprint(); + } + else { + file.close(); + sdprinting = false; + if (SD_FINISHED_STEPPERRELEASE) { + //finishAndDisableSteppers(); + enqueuecommands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); + } + autotempShutdown(); + } +} + +#endif //SDSUPPORT diff --git a/Marlin/cardreader.h b/Marlin/cardreader.h new file mode 100644 index 0000000..03d4303 --- /dev/null +++ b/Marlin/cardreader.h @@ -0,0 +1,97 @@ +#ifndef CARDREADER_H +#define CARDREADER_H + +#ifdef SDSUPPORT + +#define MAX_DIR_DEPTH 10 // Maximum folder depth + +#include "SdFile.h" +enum LsAction { LS_SerialPrint, LS_Count, LS_GetFilename }; + +class CardReader { +public: + CardReader(); + + void initsd(); + void write_command(char *buf); + //files auto[0-9].g on the sd card are performed in a row + //this is to delay autostart and hence the initialisaiton of the sd card to some seconds after the normal init, so the device is available quick after a reset + + void checkautostart(bool x); + void openFile(char* name,bool read,bool replace_current=true); + void openLogFile(char* name); + void removeFile(char* name); + void closefile(bool store_location=false); + void release(); + void startFileprint(); + void pauseSDPrint(); + void getStatus(); + void printingHasFinished(); + + void getfilename(uint16_t nr, const char* const match=NULL); + uint16_t getnrfilenames(); + + void getAbsFilename(char *t); + + void ls(); + void chdir(const char * relpath); + void updir(); + void setroot(); + + + FORCE_INLINE bool isFileOpen() { return file.isOpen(); } + FORCE_INLINE bool eof() { return sdpos >= filesize; } + FORCE_INLINE int16_t get() { sdpos = file.curPosition(); return (int16_t)file.read(); } + FORCE_INLINE void setIndex(long index) { sdpos = index; file.seekSet(index); } + FORCE_INLINE uint8_t percentDone() { return (isFileOpen() && filesize) ? sdpos / ((filesize + 99) / 100) : 0; } + FORCE_INLINE char* getWorkDirName() { workDir.getFilename(filename); return filename; } + +public: + bool saving, logging, sdprinting, cardOK, filenameIsDir; + char filename[FILENAME_LENGTH], longFilename[LONG_FILENAME_LENGTH]; + int autostart_index; +private: + SdFile root, *curDir, workDir, workDirParents[MAX_DIR_DEPTH]; + uint16_t workDirDepth; + Sd2Card card; + SdVolume volume; + SdFile file; + #define SD_PROCEDURE_DEPTH 1 + #define MAXPATHNAMELENGTH (FILENAME_LENGTH*MAX_DIR_DEPTH + MAX_DIR_DEPTH + 1) + uint8_t file_subcall_ctr; + uint32_t filespos[SD_PROCEDURE_DEPTH]; + char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH]; + uint32_t filesize; + millis_t next_autostart_ms; + uint32_t sdpos; + + bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware. + + LsAction lsAction; //stored for recursion. + uint16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory. + char* diveDirName; + void lsDive(const char *prepend, SdFile parent, const char * const match=NULL); +}; + +extern CardReader card; + +#define IS_SD_PRINTING (card.sdprinting) + +#if (SDCARDDETECT > -1) + #ifdef SDCARDDETECTINVERTED + #define IS_SD_INSERTED (READ(SDCARDDETECT) != 0) + #else + #define IS_SD_INSERTED (READ(SDCARDDETECT) == 0) + #endif +#else + //No card detect line? Assume the card is inserted. + #define IS_SD_INSERTED true +#endif + +#else + +#define IS_SD_PRINTING (false) + +#endif //SDSUPPORT + +#endif //__CARDREADER_H diff --git a/Marlin/configurator/config/Configuration.h b/Marlin/configurator/config/Configuration.h new file mode 100644 index 0000000..2b2175c --- /dev/null +++ b/Marlin/configurator/config/Configuration.h @@ -0,0 +1,816 @@ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H + +#include "boards.h" + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + +// This configuration file contains the basic settings. +// Advanced settings can be found in Configuration_adv.h +// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/delta directory. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a Scara printer replace the configuration files with the files in the +// example_configurations/SCARA directory. +// + +// @section info + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.3 dev" +#define STRING_URL "reprap.org" +#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time +#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 + +// @section machine + +// SERIAL_PORT selects which serial port should be used for communication with the host. +// This allows the connection of wireless adapters (for instance) to non-default port pins. +// Serial port 0 is still used by the Arduino bootloader regardless of this setting. +// :[0,1,2,3,4,5,6,7] +#define SERIAL_PORT 0 + +// This determines the communication speed of the printer +// :[2400,9600,19200,38400,57600,115200,250000] +#define BAUDRATE 250000 + +// This enables the serial port associated to the Bluetooth interface +//#define BTENABLED // Enable BT interface on AT90USB devices + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_RAMPS_13_EFB +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +// #define CUSTOM_MACHINE_NAME "3D Printer" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// This defines the number of extruders +// :[1,2,3,4] +#define EXTRUDERS 1 + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +//#define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +//// The following define selects which power supply you have. Please choose the one that matches your setup +// 1 = ATX +// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) +// :{1:'ATX',2:'X-Box 360'} + +#define POWER_SUPPLY 1 + +// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. +// #define PS_DEFAULT_OFF + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== +// +//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table +// +//// Temperature sensor settings: +// -2 is thermocouple with MAX6675 (only for sensor 0) +// -1 is thermocouple with AD595 +// 0 is not used +// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup) +// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) +// 3 is Mendel-parts thermistor (4.7k pullup) +// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! +// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup) +// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) +// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) +// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) +// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) +// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) +// 10 is 100k RS thermistor 198-961 (4.7k pullup) +// 11 is 100k beta 3950 1% thermistor (4.7k pullup) +// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) +// 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" +// 20 is the PT100 circuit found in the Ultimainboard V2.x +// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 +// +// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k +// (but gives greater accuracy and more stable PID) +// 51 is 100k thermistor - EPCOS (1k pullup) +// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) +// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) +// +// 1047 is Pt1000 with 4k7 pullup +// 1010 is Pt1000 with 1k pullup (non standard) +// 147 is Pt100 with 4k7 pullup +// 110 is Pt100 with 1k pullup (non standard) +// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. +// Use it for Testing or Development purposes. NEVER for production machine. +// #define DUMMY_THERMISTOR_998_VALUE 25 +// #define DUMMY_THERMISTOR_999_VALUE 100 +// :{ '0': "Not used", '4': "10k !! do not use for a hotend. Bad resolution at high temp. !!", '1': "100k / 4.7k - EPCOS", '51': "100k / 1k - EPCOS", '6': "100k / 4.7k EPCOS - Not as accurate as Table 1", '5': "100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '7': "100k / 4.7k Honeywell 135-104LAG-J01", '71': "100k / 4.7k Honeywell 135-104LAF-J01", '8': "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9': "100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10': "100k / 4.7k RS 198-961", '11': "100k / 4.7k beta 3950 1%", '12': "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13': "100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '60': "100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '55': "100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '2': "200k / 4.7k - ATC Semitec 204GT-2", '52': "200k / 1k - ATC Semitec 204GT-2", '-2': "Thermocouple + MAX6675 (only for sensor 0)", '-1': "Thermocouple + AD595", '3': "Mendel-parts / 4.7k", '1047': "Pt1000 / 4.7k", '1010': "Pt1000 / 1k (non standard)", '20': "PT100 (Ultimainboard V2.x)", '147': "Pt100 / 4.7k", '110': "Pt100 / 1k (non-standard)", '998': "Dummy 1", '999': "Dummy 2" } +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_BED 0 + +// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Actual temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define BED_MAXTEMP 150 + +// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the +// average current. The value should be an integer and the heat bed will be turned on for 1 interval of +// HEATER_BED_DUTY_CYCLE_DIVIDER intervals. +//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4 + +// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) EXTRUDER_WATTS +//#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R +//#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#ifdef PIDTEMP + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + #define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term + #define K1 0.95 //smoothing factor within the PID + +// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it +// Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + +// MakerGear +// #define DEFAULT_Kp 7.0 +// #define DEFAULT_Ki 0.1 +// #define DEFAULT_Kd 12 + +// Mendel Parts V9 on 12V +// #define DEFAULT_Kp 63.0 +// #define DEFAULT_Ki 2.25 +// #define DEFAULT_Kd 440 +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== +// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis +// +// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. +// If your PID_dT is the default, and correct for your hardware/configuration, that means 7.689Hz, +// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. +// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. +// If your configuration is significantly different than this and you don't understand the issues involved, you probably +// shouldn't use bed PID until someone else verifies your hardware works. +// If this is enabled, find your own PID constants below. +//#define PIDTEMPBED +// +//#define BED_LIMIT_SWITCHING + +// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. +// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) +// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, +// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED) +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +//#define PID_BED_DEBUG // Sends debug data to the serial port. + +#ifdef PIDTEMPBED +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from pidautotune +// #define DEFAULT_bedKp 97.1 +// #define DEFAULT_bedKi 1.41 +// #define DEFAULT_bedKd 1675.16 + +// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit +//can be software-disabled for whatever purposes by +#define PREVENT_DANGEROUS_EXTRUDE +//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately. +#define PREVENT_LENGTHY_EXTRUDE + +#define EXTRUDE_MINTEMP 170 +#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. + +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* +This is a feature to protect your printer from burn up in flames if it has +a thermistor coming off place (this happened to a friend of mine recently and +motivated me writing this feature). + +The issue: If a thermistor come off, it will read a lower temperature than actual. +The system will turn the heater on forever, burning up the filament and anything +else around. + +After the temperature reaches the target for the first time, this feature will +start measuring for how long the current temperature stays below the target +minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS). + +If it stays longer than _PERIOD, it means the thermistor temperature +cannot catch up with the target, so something *may be* wrong. Then, to be on the +safe side, the system will he halt. + +Bear in mind the count down will just start AFTER the first time the +thermistor temperature is over the target, so you will have no problem if +your extruder heater takes 2 minutes to hit the target on heating. + +*/ +// If you want to enable this feature for all your extruder heaters, +// uncomment the 2 defines below: + +// Parameters for all extruder heaters +//#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius + +// If you want to enable this feature for your bed heater, +// uncomment the 2 defines below: + +// Parameters for the bed heater +//#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius + + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment this option to enable CoreXY kinematics +// #define COREXY + +// Enable this option for Toshiba steppers +// #define CONFIG_STEPPERS_TOSHIBA + +// @section homing + +// coarse Endstop Settings +#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors + +#ifndef ENDSTOPPULLUPS + // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined + // #define ENDSTOPPULLUP_XMAX + // #define ENDSTOPPULLUP_YMAX + // #define ENDSTOPPULLUP_ZMAX + // #define ENDSTOPPULLUP_XMIN + // #define ENDSTOPPULLUP_YMIN + // #define ENDSTOPPULLUP_ZMIN + // #define ENDSTOPPULLUP_ZPROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. +//#define DISABLE_MAX_ENDSTOPS +//#define DISABLE_MIN_ENDSTOPS + +// @section machine +// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. +// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have +// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// this has no effect. +//#define DISABLE_Z_PROBE_ENDSTOP + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{0:'Low',1:'High'} +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis when it's not being used. +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR false +#define INVERT_Y_DIR false +#define INVERT_Z_DIR false + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false + +// @section homing + +// ENDSTOP SETTINGS: +// Sets direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. +#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. + +// @section machine + +// Travel limits after homing (units are in mm) +#define X_MIN_POS 0 +#define Y_MIN_POS 0 +#define Z_MIN_POS 0 +#define X_MAX_POS 200 +#define Y_MAX_POS 200 +#define Z_MAX_POS 200 + +//=========================================================================== +//============================= Filament Runout Sensor ====================== +//=========================================================================== +//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament + // In RAMPS uses servo pin 2. Can be changed in pins file. For other boards pin definition should be made. + // It is assumed that when logic high = filament available + // when logic low = filament ran out +//const bool FIL_RUNOUT_INVERTING = true; // Should be uncommented and true or false should assigned +//#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. + +//=========================================================================== +//============================ Manual Bed Leveling ========================== +//=========================================================================== + +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling +// #define MESH_BED_LEVELING // Enable mesh bed leveling + +#ifdef MANUAL_BED_LEVELING + #define MBL_Z_STEP 0.025 +#endif // MANUAL_BED_LEVELING + +#ifdef MESH_BED_LEVELING + #define MESH_MIN_X 10 + #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) + #define MESH_MIN_Y 10 + #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_Y_POINTS 3 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 +#endif // MESH_BED_LEVELING + +//=========================================================================== +//============================= Bed Auto Leveling =========================== +//=========================================================================== + +// @section bedlevel + +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) +#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. + +#ifdef ENABLE_AUTO_BED_LEVELING + + // There are 2 different ways to specify probing locations + // + // - "grid" mode + // Probe several points in a rectangular grid. + // You specify the rectangle and the density of sample points. + // This mode is preferred because there are more measurements. + // + // - "3-point" mode + // Probe 3 arbitrary points on the bed (that aren't colinear) + // You specify the XY coordinates of all 3 points. + + // Enable this to sample the bed in a grid (least squares solution) + // Note: this feature generates 10KB extra code size + #define AUTO_BED_LEVELING_GRID + + #ifdef AUTO_BED_LEVELING_GRID + + #define LEFT_PROBE_BED_POSITION 15 + #define RIGHT_PROBE_BED_POSITION 170 + #define FRONT_PROBE_BED_POSITION 20 + #define BACK_PROBE_BED_POSITION 170 + + #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + + // Set the number of grid points per dimension + // You probably don't need more than 3 (squared=9) + #define AUTO_BED_LEVELING_GRID_POINTS 2 + + #else // !AUTO_BED_LEVELING_GRID + + // Arbitrary points to probe. A simple cross-product + // is used to estimate the plane of the bed. + #define ABL_PROBE_PT_1_X 15 + #define ABL_PROBE_PT_1_Y 180 + #define ABL_PROBE_PT_2_X 15 + #define ABL_PROBE_PT_2_Y 20 + #define ABL_PROBE_PT_3_X 170 + #define ABL_PROBE_PT_3_Y 20 + + #endif // AUTO_BED_LEVELING_GRID + + // Offsets to the probe relative to the extruder tip (Hotend - Probe) + // X and Y offsets must be integers + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. + // Be sure you have this distance over your Z_MAX_POS in case + + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + + #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points + #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. + //Useful to retract a deployable probe. + + //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell + //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + + //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk + //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. + // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile. + +// #define PROBE_SERVO_DEACTIVATION_DELAY 300 + + +//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, +//it is highly recommended you let this Z_SAFE_HOMING enabled!!! + + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + // When defined, it will: + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled + // - If stepper drivers timeout, it will need X and Y homing again before Z homing + // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) + // - Block Z homing only when the probe is outside bed area. + + #ifdef Z_SAFE_HOMING + + #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28) + + #endif + + // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. + // If you would like to use both a Z PROBE and a Z MIN endstop together or just a Z PROBE with a custom pin, uncomment #define Z_PROBE_ENDSTOP and read the instructions below. + // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. + // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. + // To use a separate Z PROBE endstop, you must have a Z_PROBE_PIN defined in the pins.h file for your control board. + // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, SERVO_ENDSTOPS and SERVO_ENDSTOPS_ANGLES in the R/C Servo below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 + // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. + // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. + + //#define Z_PROBE_ENDSTOP + +#endif // ENABLE_AUTO_BED_LEVELING + + +// @section homing + +// The position of the homing switches +//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used +//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0) + +// Manual homing switch locations: +// For deltabots this means top and center of the Cartesian print volume. +#ifdef MANUAL_HOME_POSITIONS + #define MANUAL_X_HOME_POS 0 + #define MANUAL_Y_HOME_POS 0 + #define MANUAL_Z_HOME_POS 0 + //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing. +#endif + +// @section movement + +/** + * MOVEMENT SETTINGS + */ + +#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min) + +// default settings + +#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,4000,500} // default steps per unit for Ultimaker +#define DEFAULT_MAX_FEEDRATE {300, 300, 5, 25} // (mm/sec) +#define DEFAULT_MAX_ACCELERATION {3000,3000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot. + +#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration in mm/s^2 for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration in mm/s^2 for retracts +#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves + +// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously) +#define DEFAULT_XYJERK 20.0 // (mm/sec) +#define DEFAULT_ZJERK 0.4 // (mm/sec) +#define DEFAULT_EJERK 5.0 // (mm/sec) + + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section more + +// Custom M code points +#define CUSTOM_M_CODES +#ifdef CUSTOM_M_CODES + #ifdef ENABLE_AUTO_BED_LEVELING + #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 + #define Z_PROBE_OFFSET_RANGE_MIN -20 + #define Z_PROBE_OFFSET_RANGE_MAX 20 + #endif +#endif + +// @section extras + +// EEPROM +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +//define this to enable EEPROM support +//#define EEPROM_SETTINGS + +#ifdef EEPROM_SETTINGS + // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: + #define EEPROM_CHITCHAT // please keep turned on if you can. +#endif + +// @section temperature + +// Preheat Constants +#define PLA_PREHEAT_HOTEND_TEMP 180 +#define PLA_PREHEAT_HPB_TEMP 70 +#define PLA_PREHEAT_FAN_SPEED 0 // Insert Value between 0 and 255 + +#define ABS_PREHEAT_HOTEND_TEMP 240 +#define ABS_PREHEAT_HPB_TEMP 110 +#define ABS_PREHEAT_FAN_SPEED 0 // Insert Value between 0 and 255 + +//==============================LCD and SD support============================= +// @section lcd + +// Define your display language below. Replace (en) with your language code and uncomment. +// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test +// See also language.h +#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en) + +// Choose ONE of these 3 charsets. This has to match your hardware. Ignored for full graphic display. +// To find out what type you have - compile with (test) - upload - click to get the menu. You'll see two typical lines from the upper half of the charset. +// See also documentation/LCDLanguageFont.md + #define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware + //#define DISPLAY_CHARSET_HD44780_WESTERN + //#define DISPLAY_CHARSET_HD44780_CYRILLIC + +//#define ULTRA_LCD //general LCD support, also 16x2 +//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) +//#define SDSUPPORT // Enable SD Card Support in Hardware Console +//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) +//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication +//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder +//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking +//#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. +//#define ULTIPANEL //the UltiPanel as on Thingiverse +//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click + // 0 to disable buzzer feedback + +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +//#define PANEL_ONE + +// The MaKr3d Makr-Panel with graphic controller and SD support +// http://reprap.org/wiki/MaKr3d_MaKrPanel +//#define MAKRPANEL + +// The Panucatt Devices Viki 2.0 and mini Viki with Graphic LCD +// http://panucatt.com +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define VIKI2 +//#define miniVIKI + +// The RepRapDiscount Smart Controller (white PCB) +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// The GADGETS3D G3D LCD/SD Controller (blue PCB) +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +//#define G3D_PANEL + +// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB) +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// The RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click + +// The Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C +//#define RA_CONTROL_PANEL + +/** + * I2C Panels + */ + +//#define LCD_I2C_SAINSMART_YWROBOT + +// PANELOLU2 LCD with status LEDs, separate encoder and click inputs +//#define LCD_I2C_PANELOLU2 + +// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs +//#define LCD_I2C_VIKI + +// Shift register panels +// --------------------- +// 2 wire Non-latching LCD SR from: +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection + +//#define SAV_3DLCD + +// @section extras + +// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// Temperature status LEDs that display the hotend and bet temperature. +// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on. +// Otherwise the RED led is on. There is 1C hysteresis. +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +// #define PHOTOGRAPH_PIN 23 + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder. +//#define BARICUDA + +//define BlinkM/CyzRgb Support +//#define BLINKM + +/*********************************************************************\ +* R/C SERVO support +* Sponsored by TrinityLabs, Reworked by codexmas +**********************************************************************/ + +// Number of servos +// +// If you select a configuration below, this will receive a default value and does not need to be set manually +// set it manually if you have more servos than extruders and wish to manually control some +// leaving it undefined or defining as 0 will disable the servo subsystem +// If unsure, leave commented / disabled +// +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Servo Endstops +// +// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. +// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// +//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1 +//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles + +/**********************************************************************\ + * Support for a filament diameter sensor + * Also allows adjustment of diameter at print time (vs at slicing) + * Single extruder only at this point (extruder 0) + * + * Motherboards + * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector + * 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 - Rambo - uses Analog input 3 + * Note may require analog pins to be defined for different motherboards + **********************************************************************/ +// Uncomment below to enable +//#define FILAMENT_SENSOR + +#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2) +#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel + +#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation +#define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm +#define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm +#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM) + +//defines used in the code +#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially + +//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec. +//#define FILAMENT_LCD_DISPLAY + + + + + + +#include "Configuration_adv.h" +#include "thermistortables.h" + +#endif //CONFIGURATION_H diff --git a/Marlin/configurator/config/Configuration_adv.h b/Marlin/configurator/config/Configuration_adv.h new file mode 100644 index 0000000..6478eb9 --- /dev/null +++ b/Marlin/configurator/config/Configuration_adv.h @@ -0,0 +1,549 @@ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H + +#include "Conditionals.h" + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +#ifdef BED_LIMIT_SWITCHING + #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS +#endif +#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control + +//// Heating sanity check: +// This waits for the watch period in milliseconds whenever an M104 or M109 increases the target temperature +// If the temperature has not increased at the end of that period, the target temperature is set to zero. +// It can be reset with another M104/M109. This check is also only triggered if the target temperature and the current temperature +// differ by at least 2x WATCH_TEMP_INCREASE +//#define WATCH_TEMP_PERIOD 40000 //40 seconds +//#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds + +#ifdef PIDTEMP + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen well, the additional required power due to increased melting should be compensated. + #define PID_ADD_EXTRUSION_RATE + #ifdef PID_ADD_EXTRUSION_RATE + #define DEFAULT_Kc (1) //heating power=Kc*(e_speed) + #endif +#endif + + +//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode. +//The maximum buffered steps/sec of the extruder motor are called "se". +//You enter the autotemp mode by a M109 S B F +// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp +// you exit the value by any M109 without F* +// Also, if the temperature is set to a value Z2 (yes, it is.. think about it) and the Z adjust would be positive. + // Play a little bit with small adjustments (0.5mm) and check the behaviour. + // The M119 (endstops report) will start reporting the Z2 Endstop as well. + + #define Z_DUAL_ENDSTOPS + + #ifdef Z_DUAL_ENDSTOPS + #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. + #define Z2_DIR_PIN E2_DIR_PIN + #define Z2_ENABLE_PIN E2_ENABLE_PIN + #define Z2_MAX_PIN 36 //Endstop used for Z2 axis. In this case I'm using XMAX in a Rumba Board (pin 36) + const bool Z2_MAX_ENDSTOP_INVERTING = false; + #define DISABLE_XMAX_ENDSTOP //Better to disable the XMAX to avoid conflict. Just rename "XMAX_ENDSTOP" by the endstop you are using for Z2 axis. + #endif + +#endif // Z_DUAL_STEPPER_DRIVERS + +// Same again but for Y Axis. +//#define Y_DUAL_STEPPER_DRIVERS + +// Define if the two Y drives need to rotate in opposite directions +#define INVERT_Y2_VS_Y_DIR true + +// Enable this for dual x-carriage printers. +// A dual x-carriage design has the advantage that the inactive extruder can be parked which +// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage +// allowing faster printing speeds. +//#define DUAL_X_CARRIAGE +#ifdef DUAL_X_CARRIAGE + // Configuration for second X-carriage + // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop; + // the second x-carriage always homes to the maximum endstop. + #define X2_MIN_POS 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage + #define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position + // However: In this mode the EXTRUDER_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // Pins for second x-carriage stepper driver (defined here to avoid further complicating pins.h) + #define X2_ENABLE_PIN 29 + #define X2_STEP_PIN 25 + #define X2_DIR_PIN 23 + + // There are a few selectable movement modes for dual x-carriages using M605 S + // Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results + // as long as it supports dual x-carriages. (M605 S0) + // Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so + // that additional slicer support is not required. (M605 S1) + // Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all + // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at + // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE 0 + + // Default settings in "Auto-park Mode" + #define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder + #define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif //DUAL_X_CARRIAGE + +// @section homing + +//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again: +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR {2, 2, 4} // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially. + +// @section machine + +#define AXIS_RELATIVE_MODES {false, false, false, false} + +// @section machine + +//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +#define DEFAULT_STEPPER_DEACTIVE_TIME 60 + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +// @section lcd + +#ifdef ULTIPANEL + #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel + #define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder +#endif + +// @section extras + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05// (mm/sec) + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] + +// Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards) +#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) + +// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C +// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 +// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS +#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value +//#define ENCODER_RATE_MULTIPLIER_DEBUG // If defined, output the encoder steps per second value + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +// @section lcd + +#ifdef SDSUPPORT + + // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted + // You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT + // in the pins.h file. When using a push button pulling the pin to ground this will need inverted. This setting should + // be commented out otherwise + #define SDCARDDETECTINVERTED + + #define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers? + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + + #define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order. + // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that. + // using: + //#define MENU_ADDAUTOSTART + + // Show a progress bar on HD44780 LCDs for SD printing + //#define LCD_PROGRESS_BAR + + #ifdef LCD_PROGRESS_BAR + // Amount of time (ms) to show the bar + #define PROGRESS_BAR_BAR_TIME 2000 + // Amount of time (ms) to show the status message + #define PROGRESS_BAR_MSG_TIME 3000 + // Amount of time (ms) to retain the status message (0=forever) + #define PROGRESS_MSG_EXPIRE 0 + // Enable this to show messages for MSG_TIME then hide them + //#define PROGRESS_MSG_ONCE + #endif + +#endif // SDSUPPORT + +// @section more + +// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation. +//#define USE_WATCHDOG + +#ifdef USE_WATCHDOG +// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. +// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. +// However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. +//#define WATCHDOG_RESET_MANUAL +#endif + +// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled. +//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + +// @section lcd + +// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process +// it can e.g. be used to change z-positions in the print startup phase in real-time +// does not respect endstops! +//#define BABYSTEPPING +#ifdef BABYSTEPPING + #define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions + #define BABYSTEP_INVERT_Z false //true for inverse movements in Z + #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements +#endif + +// @section extruder + +// extruder advance constant (s2/mm3) +// +// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 +// +// Hooke's law says: force = k * distance +// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant +// so: v ^ 2 is proportional to number of steps we advance the extruder +//#define ADVANCE + +#ifdef ADVANCE + #define EXTRUDER_ADVANCE_K .0 + #define D_FILAMENT 2.85 + #define STEPS_MM_E 836 +#endif + +// @section extras + +// Arc interpretation settings: +#define MM_PER_ARC_SEGMENT 1 +#define N_ARC_CORRECTION 25 + +const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//=============================Buffers ============================ +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering. +#ifdef SDSUPPORT + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section more + +//The ASCII buffer for receiving from the serial: +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// @section fwretract + +// Firmware based and LCD controlled retract +// M207 and M208 can be used to define parameters for the retraction. +// The retraction can be called by the slicer using G10 and G11 +// until then, intended retractions can be detected by moves that only extrude and the direction. +// the moves are than replaced by the firmware controlled ones. + +// #define FWRETRACT //ONLY PARTIALLY TESTED +#ifdef FWRETRACT + #define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt + #define RETRACT_LENGTH 3 //default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 //default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) + #define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) +#endif + +// Add support for experimental filament exchange support M600; requires display +#ifdef ULTIPANEL + //#define FILAMENTCHANGEENABLE + #ifdef FILAMENTCHANGEENABLE + #define FILAMENTCHANGE_XPOS 3 + #define FILAMENTCHANGE_YPOS 3 + #define FILAMENTCHANGE_ZADD 10 + #define FILAMENTCHANGE_FIRSTRETRACT -2 + #define FILAMENTCHANGE_FINALRETRACT -100 + #endif +#endif + +/******************************************************************************\ + * enable this section if you have TMC26X motor drivers. + * you need to import the TMC26XStepper library into the arduino IDE for this + ******************************************************************************/ + +// @section tmc + +//#define HAVE_TMCDRIVER +#ifdef HAVE_TMCDRIVER + +// #define X_IS_TMC + #define X_MAX_CURRENT 1000 //in mA + #define X_SENSE_RESISTOR 91 //in mOhms + #define X_MICROSTEPS 16 //number of microsteps + +// #define X2_IS_TMC + #define X2_MAX_CURRENT 1000 //in mA + #define X2_SENSE_RESISTOR 91 //in mOhms + #define X2_MICROSTEPS 16 //number of microsteps + +// #define Y_IS_TMC + #define Y_MAX_CURRENT 1000 //in mA + #define Y_SENSE_RESISTOR 91 //in mOhms + #define Y_MICROSTEPS 16 //number of microsteps + +// #define Y2_IS_TMC + #define Y2_MAX_CURRENT 1000 //in mA + #define Y2_SENSE_RESISTOR 91 //in mOhms + #define Y2_MICROSTEPS 16 //number of microsteps + +// #define Z_IS_TMC + #define Z_MAX_CURRENT 1000 //in mA + #define Z_SENSE_RESISTOR 91 //in mOhms + #define Z_MICROSTEPS 16 //number of microsteps + +// #define Z2_IS_TMC + #define Z2_MAX_CURRENT 1000 //in mA + #define Z2_SENSE_RESISTOR 91 //in mOhms + #define Z2_MICROSTEPS 16 //number of microsteps + +// #define E0_IS_TMC + #define E0_MAX_CURRENT 1000 //in mA + #define E0_SENSE_RESISTOR 91 //in mOhms + #define E0_MICROSTEPS 16 //number of microsteps + +// #define E1_IS_TMC + #define E1_MAX_CURRENT 1000 //in mA + #define E1_SENSE_RESISTOR 91 //in mOhms + #define E1_MICROSTEPS 16 //number of microsteps + +// #define E2_IS_TMC + #define E2_MAX_CURRENT 1000 //in mA + #define E2_SENSE_RESISTOR 91 //in mOhms + #define E2_MICROSTEPS 16 //number of microsteps + +// #define E3_IS_TMC + #define E3_MAX_CURRENT 1000 //in mA + #define E3_SENSE_RESISTOR 91 //in mOhms + #define E3_MICROSTEPS 16 //number of microsteps + +#endif + +/******************************************************************************\ + * enable this section if you have L6470 motor drivers. + * you need to import the L6470 library into the arduino IDE for this + ******************************************************************************/ + +// @section l6470 + +//#define HAVE_L6470DRIVER +#ifdef HAVE_L6470DRIVER + +// #define X_IS_L6470 + #define X_MICROSTEPS 16 //number of microsteps + #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define X_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define X2_IS_L6470 + #define X2_MICROSTEPS 16 //number of microsteps + #define X2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define X2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Y_IS_L6470 + #define Y_MICROSTEPS 16 //number of microsteps + #define Y_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Y_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Y2_IS_L6470 + #define Y2_MICROSTEPS 16 //number of microsteps + #define Y2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Y2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Z_IS_L6470 + #define Z_MICROSTEPS 16 //number of microsteps + #define Z_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Z_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Z2_IS_L6470 + #define Z2_MICROSTEPS 16 //number of microsteps + #define Z2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Z2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E0_IS_L6470 + #define E0_MICROSTEPS 16 //number of microsteps + #define E0_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E0_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E1_IS_L6470 + #define E1_MICROSTEPS 16 //number of microsteps + #define E1_MICROSTEPS 16 //number of microsteps + #define E1_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E1_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E2_IS_L6470 + #define E2_MICROSTEPS 16 //number of microsteps + #define E2_MICROSTEPS 16 //number of microsteps + #define E2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E3_IS_L6470 + #define E3_MICROSTEPS 16 //number of microsteps + #define E3_MICROSTEPS 16 //number of microsteps + #define E3_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E3_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +#endif + +#include "Conditionals.h" +#include "SanityCheck.h" + +#endif //CONFIGURATION_ADV_H diff --git a/Marlin/configurator/config/_htaccess b/Marlin/configurator/config/_htaccess new file mode 100644 index 0000000..f289550 --- /dev/null +++ b/Marlin/configurator/config/_htaccess @@ -0,0 +1 @@ +Header set Access-Control-Allow-Origin "*" diff --git a/Marlin/configurator/config/boards.h b/Marlin/configurator/config/boards.h new file mode 100644 index 0000000..8a60f01 --- /dev/null +++ b/Marlin/configurator/config/boards.h @@ -0,0 +1,62 @@ +#ifndef BOARDS_H +#define BOARDS_H + +#define BOARD_UNKNOWN -1 + +#define BOARD_GEN7_CUSTOM 10 // Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics" +#define BOARD_GEN7_12 11 // Gen7 v1.1, v1.2 +#define BOARD_GEN7_13 12 // Gen7 v1.3 +#define BOARD_GEN7_14 13 // Gen7 v1.4 +#define BOARD_CHEAPTRONIC 2 // Cheaptronic v1.0 +#define BOARD_SETHI 20 // Sethi 3D_1 +#define BOARD_RAMPS_OLD 3 // MEGA/RAMPS up to 1.2 +#define BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed) +#define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed) +#define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan) +#define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan) +#define BOARD_FELIX2 37 // Felix 2.0+ Electronics Board (RAMPS like) +#define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignments +#define BOARD_GEN6 5 // Gen6 +#define BOARD_GEN6_DELUXE 51 // Gen6 deluxe +#define BOARD_SANGUINOLOLU_11 6 // Sanguinololu < 1.2 +#define BOARD_SANGUINOLOLU_12 62 // Sanguinololu 1.2 and above +#define BOARD_MELZI 63 // Melzi +#define BOARD_STB_11 64 // STB V1.1 +#define BOARD_AZTEEG_X1 65 // Azteeg X1 +#define BOARD_MELZI_1284 66 // Melzi with ATmega1284 (MaKr3d version) +#define BOARD_AZTEEG_X3 67 // Azteeg X3 +#define BOARD_AZTEEG_X3_PRO 68 // Azteeg X3 Pro +#define BOARD_ULTIMAKER 7 // Ultimaker +#define BOARD_ULTIMAKER_OLD 71 // Ultimaker (Older electronics. Pre 1.5.4. This is rare) +#define BOARD_ULTIMAIN_2 72 // Ultimainboard 2.x (Uses TEMP_SENSOR 20) +#define BOARD_3DRAG 77 // 3Drag Controller +#define BOARD_K8200 78 // Vellemann K8200 Controller (derived from 3Drag Controller) +#define BOARD_TEENSYLU 8 // Teensylu +#define BOARD_RUMBA 80 // Rumba +#define BOARD_PRINTRBOARD 81 // Printrboard (AT90USB1286) +#define BOARD_BRAINWAVE 82 // Brainwave (AT90USB646) +#define BOARD_SAV_MKI 83 // SAV Mk-I (AT90USB1286) +#define BOARD_TEENSY2 84 // Teensy++2.0 (AT90USB1286) - CLI compile: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make +#define BOARD_BRAINWAVE_PRO 85 // Brainwave Pro (AT90USB1286) +#define BOARD_GEN3_PLUS 9 // Gen3+ +#define BOARD_GEN3_MONOLITHIC 22 // Gen3 Monolithic Electronics +#define BOARD_MEGATRONICS 70 // Megatronics +#define BOARD_MEGATRONICS_2 701 // Megatronics v2.0 +#define BOARD_MEGATRONICS_1 702 // Minitronics v1.0 +#define BOARD_MEGATRONICS_3 703 // Megatronics v3.0 +#define BOARD_OMCA_A 90 // Alpha OMCA board +#define BOARD_OMCA 91 // Final OMCA board +#define BOARD_RAMBO 301 // Rambo +#define BOARD_ELEFU_3 21 // Elefu Ra Board (v3) +#define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board +#define BOARD_LEAPFROG 999 // Leapfrog +#define BOARD_WITBOX 41 // bq WITBOX +#define BOARD_HEPHESTOS 42 // bq Prusa i3 Hephestos +#define BOARD_BAM_DICE 401 // 2PrintBeta BAM&DICE with STK drivers +#define BOARD_BAM_DICE_DUE 402 // 2PrintBeta BAM&DICE Due with STK drivers + +#define BOARD_99 99 // This is in pins.h but...? + +#define MB(board) (MOTHERBOARD==BOARD_##board) + +#endif //__BOARDS_H diff --git a/Marlin/configurator/config/language.h b/Marlin/configurator/config/language.h new file mode 100644 index 0000000..5d1fd6c --- /dev/null +++ b/Marlin/configurator/config/language.h @@ -0,0 +1,238 @@ +#ifndef LANGUAGE_H +#define LANGUAGE_H + +#include "Configuration.h" + +#define LANGUAGE_CONCAT(M) #M +#define GENERATE_LANGUAGE_INCLUDE(M) LANGUAGE_CONCAT(language_##M.h) + + +// NOTE: IF YOU CHANGE LANGUAGE FILES OR MERGE A FILE WITH CHANGES +// +// ==> ALWAYS TRY TO COMPILE MARLIN WITH/WITHOUT "ULTIPANEL" / "ULTRALCD" / "SDSUPPORT" #define IN "Configuration.h" +// ==> ALSO TRY ALL AVAILABLE LANGUAGE OPTIONS +// See also documentation/LCDLanguageFont.md + +// Languages +// en English +// pl Polish +// fr French +// de German +// es Spanish +// ru Russian +// it Italian +// pt Portuguese +// pt-br Portuguese (Brazil) +// fi Finnish +// an Aragonese +// nl Dutch +// ca Catalan +// eu Basque-Euskera +// kana Japanese +// kana_utf Japanese + +#ifndef LANGUAGE_INCLUDE + // pick your language from the list above + #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en) +#endif + +#ifdef HAS_AUTOMATIC_VERSIONING + #include "_Version.h" +#endif + +#define PROTOCOL_VERSION "1.0" + +#if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2) + #define MACHINE_NAME "Ultimaker" + #define FIRMWARE_URL "http://firmware.ultimaker.com" +#elif MB(RUMBA) + #define MACHINE_NAME "Rumba" +#elif MB(3DRAG) + #define MACHINE_NAME "3Drag" + #define FIRMWARE_URL "http://3dprint.elettronicain.it/" +#elif MB(K8200) + #define MACHINE_NAME "K8200" +#elif MB(5DPRINT) + #define MACHINE_NAME "Makibox" +#elif MB(SAV_MKI) + #define MACHINE_NAME "SAV MkI" + #define FIRMWARE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config" +#elif MB(WITBOX) + #define MACHINE_NAME "WITBOX" + #define FIRMWARE_URL "http://www.bq.com/gb/downloads-witbox.html" +#elif MB(HEPHESTOS) + #define MACHINE_NAME "HEPHESTOS" + #define FIRMWARE_URL "http://www.bq.com/gb/downloads-prusa-i3-hephestos.html" +#elif MB(BRAINWAVE_PRO) + #define MACHINE_NAME "Kossel Pro" + #ifndef FIRMWARE_URL + #define FIRMWARE_URL "https://github.com/OpenBeamUSA/Marlin/" + #endif +#else + #ifndef MACHINE_NAME + #define MACHINE_NAME "Mendel" + #endif +#endif + +#ifdef CUSTOM_MENDEL_NAME + #error CUSTOM_MENDEL_NAME deprecated - use CUSTOM_MACHINE_NAME + #define CUSTOM_MACHINE_NAME CUSTOM_MENDEL_NAME +#endif + +#ifdef CUSTOM_MACHINE_NAME + #undef MACHINE_NAME + #define MACHINE_NAME CUSTOM_MACHINE_NAME +#endif + +#ifndef FIRMWARE_URL + #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" +#endif + +#ifndef BUILD_VERSION + #define BUILD_VERSION "V1; Sprinter/grbl mashup for gen6" +#endif + +#ifndef MACHINE_UUID + #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" +#endif + + +#define STRINGIFY_(n) #n +#define STRINGIFY(n) STRINGIFY_(n) + + +// Common LCD messages + + /* nothing here yet */ + +// Common serial messages +#define MSG_MARLIN "Marlin" + +// Serial Console Messages (do not translate those!) + +#define MSG_Enqueing "enqueing \"" +#define MSG_POWERUP "PowerUp" +#define MSG_EXTERNAL_RESET " External Reset" +#define MSG_BROWNOUT_RESET " Brown out Reset" +#define MSG_WATCHDOG_RESET " Watchdog Reset" +#define MSG_SOFTWARE_RESET " Software Reset" +#define MSG_AUTHOR " | Author: " +#define MSG_CONFIGURATION_VER " Last Updated: " +#define MSG_FREE_MEMORY " Free Memory: " +#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: " +#define MSG_OK "ok" +#define MSG_FILE_SAVED "Done saving file." +#define MSG_ERR_LINE_NO "Line Number is not Last Line Number+1, Last Line: " +#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: " +#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: " +#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No Line Number with checksum, Last Line: " +#define MSG_FILE_PRINTED "Done printing file" +#define MSG_BEGIN_FILE_LIST "Begin file list" +#define MSG_END_FILE_LIST "End file list" +#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder " +#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder " +#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder " +#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder " +#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder " +#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature" +#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder " +#define MSG_HEATING "Heating..." +#define MSG_HEATING_COMPLETE "Heating done." +#define MSG_BED_HEATING "Bed Heating." +#define MSG_BED_DONE "Bed done." +#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin " BUILD_VERSION " FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" +#define MSG_COUNT_X " Count X: " +#define MSG_ERR_KILLED "Printer halted. kill() called!" +#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)" +#define MSG_RESEND "Resend: " +#define MSG_UNKNOWN_COMMAND "Unknown command: \"" +#define MSG_ACTIVE_EXTRUDER "Active Extruder: " +#define MSG_INVALID_EXTRUDER "Invalid extruder" +#define MSG_INVALID_SOLENOID "Invalid solenoid" +#define MSG_X_MIN "x_min: " +#define MSG_X_MAX "x_max: " +#define MSG_Y_MIN "y_min: " +#define MSG_Y_MAX "y_max: " +#define MSG_Z_MIN "z_min: " +#define MSG_Z_MAX "z_max: " +#define MSG_Z2_MAX "z2_max: " +#define MSG_Z_PROBE "z_probe: " +#define MSG_M119_REPORT "Reporting endstop status" +#define MSG_ENDSTOP_HIT "TRIGGERED" +#define MSG_ENDSTOP_OPEN "open" +#define MSG_HOTEND_OFFSET "Hotend offsets:" + +#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir" +#define MSG_SD_INIT_FAIL "SD init fail" +#define MSG_SD_VOL_INIT_FAIL "volume.init failed" +#define MSG_SD_OPENROOT_FAIL "openRoot failed" +#define MSG_SD_CARD_OK "SD card ok" +#define MSG_SD_WORKDIR_FAIL "workDir open failed" +#define MSG_SD_OPEN_FILE_FAIL "open failed, File: " +#define MSG_SD_FILE_OPENED "File opened: " +#define MSG_SD_SIZE " Size: " +#define MSG_SD_FILE_SELECTED "File selected" +#define MSG_SD_WRITE_TO_FILE "Writing to file: " +#define MSG_SD_PRINTING_BYTE "SD printing byte " +#define MSG_SD_NOT_PRINTING "Not SD printing" +#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file" +#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: " + +#define MSG_STEPPER_TOO_HIGH "Steprate too high: " +#define MSG_ENDSTOPS_HIT "endstops hit: " +#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented" +#define MSG_ERR_LONG_EXTRUDE_STOP " too long extrusion prevented" +#define MSG_BABYSTEPPING_X "Babystepping X" +#define MSG_BABYSTEPPING_Y "Babystepping Y" +#define MSG_BABYSTEPPING_Z "Babystepping Z" +#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure" + +#define MSG_ERR_EEPROM_WRITE "Error writing to EEPROM!" + +// temperature.cpp strings +#define MSG_PID_AUTOTUNE "PID Autotune" +#define MSG_PID_AUTOTUNE_START MSG_PID_AUTOTUNE " start" +#define MSG_PID_AUTOTUNE_FAILED MSG_PID_AUTOTUNE " failed!" +#define MSG_PID_BAD_EXTRUDER_NUM MSG_PID_AUTOTUNE_FAILED " Bad extruder number" +#define MSG_PID_TEMP_TOO_HIGH MSG_PID_AUTOTUNE_FAILED " Temperature too high" +#define MSG_PID_TIMEOUT MSG_PID_AUTOTUNE_FAILED " timeout" +#define MSG_BIAS " bias: " +#define MSG_D " d: " +#define MSG_T_MIN " min: " +#define MSG_T_MAX " max: " +#define MSG_KU " Ku: " +#define MSG_TU " Tu: " +#define MSG_CLASSIC_PID " Classic PID " +#define MSG_KP " Kp: " +#define MSG_KI " Ki: " +#define MSG_KD " Kd: " +#define MSG_OK_B "ok B:" +#define MSG_OK_T "ok T:" +#define MSG_AT " @:" +#define MSG_PID_AUTOTUNE_FINISHED MSG_PID_AUTOTUNE " finished! Put the last Kp, Ki and Kd constants from above into Configuration.h" +#define MSG_PID_DEBUG " PID_DEBUG " +#define MSG_PID_DEBUG_INPUT ": Input " +#define MSG_PID_DEBUG_OUTPUT " Output " +#define MSG_PID_DEBUG_PTERM " pTerm " +#define MSG_PID_DEBUG_ITERM " iTerm " +#define MSG_PID_DEBUG_DTERM " dTerm " +#define MSG_HEATING_FAILED "Heating failed" +#define MSG_EXTRUDER_SWITCHED_OFF "Extruder switched off. Temperature difference between temp sensors is too high !" + +#define MSG_INVALID_EXTRUDER_NUM " - Invalid extruder number !" +#define MSG_THERMAL_RUNAWAY_STOP "Thermal Runaway, system stopped! Heater_ID: " +#define MSG_SWITCHED_OFF_MAX " switched off. MAXTEMP triggered !!" +#define MSG_MINTEMP_EXTRUDER_OFF ": Extruder switched off. MINTEMP triggered !" +#define MSG_MAXTEMP_EXTRUDER_OFF ": Extruder" MSG_SWITCHED_OFF_MAX +#define MSG_MAXTEMP_BED_OFF "Heated bed" MSG_SWITCHED_OFF_MAX + +// LCD Menu Messages + +#if !(defined( DISPLAY_CHARSET_HD44780_JAPAN ) || defined( DISPLAY_CHARSET_HD44780_WESTERN ) || defined( DISPLAY_CHARSET_HD44780_CYRILLIC )) + #define DISPLAY_CHARSET_HD44780_JAPAN +#endif + +#include LANGUAGE_INCLUDE +#include "language_en.h" + +#endif //__LANGUAGE_H diff --git a/Marlin/configurator/css/configurator.css b/Marlin/configurator/css/configurator.css new file mode 100644 index 0000000..8833207 --- /dev/null +++ b/Marlin/configurator/css/configurator.css @@ -0,0 +1,344 @@ +/* configurator.css */ +/* Styles for Marlin Configurator */ + +.clear { clear: both; } + +/* Prevent selection except PRE tags */ +* { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } +pre { + -webkit-touch-callout: text; + -webkit-user-select: text; + -khtml-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + } + +body { margin: 0; padding: 0; background: #56A; color: #000; font-family: monospace; } +#main { + max-width: 1100px; + margin: 0 auto 10px; + padding: 0 2%; width: 96%; + } + +h1, h2, h3, h4, h5, h6 { clear: both; } + +h1, p.info { font-family: sans-serif; } +h1 { + height: 38px; + margin-bottom: -30px; + color: #FFF; + background: transparent url(logo.png) right top no-repeat; + } +p.info { padding: 0; color: #000; } +p.info span { color: #800; } + +#message { text-align: center; } +#message { width: 80%; margin: 0 auto 0.25em; color: #FF0; } +#message p { padding: 2px 0; font-weight: bold; border-radius: 0.8em; } +#message p.message { color: #080; background: #CFC; } +#message p.error { color: #F00; background: #FF4; } +#message p.warning { color: #FF0; background: #BA4; } +#message p.message span, +#message p.error span, +#message p.warning span { + color: #A00; + background: rgba(255, 255, 255, 1); + border: 1px solid rgba(0,0,0,0.5); + border-radius: 1em; + float: right; + margin-right: 0.5em; + padding: 0 3px; + font-family: sans-serif; + font-size: small; + position: relative; + top: -1px; + } + +#help strong { color: #0DD; } +img { display: none; } + +/* Forms */ + +#config_form { + display: block; + background: #EEE; + padding: 6px 20px 20px; + color: #000; + position: relative; + border-radius: 1.5em; + border-top-left-radius: 0; + } +fieldset { + height: 16.1em; + overflow-y: scroll; + overflow-x: hidden; + margin-top: 10px; + } +label, input, select, textarea { display: block; float: left; margin: 1px 0; } +label.newline, textarea, fieldset { clear: both; } +label { + width: 120px; /* label area */ + height: 1em; + padding: 10px 460px 10px 1em; + margin-right: -450px; + text-align: right; + } +label.blocked, label.added.blocked, label.added.blocked.sublabel { color: #AAA; } + +label.added.sublabel { + width: auto; + margin: 11px -2.5em 0 1em; + padding: 0 3em 0 0; + font-style: italic; + color: #444; + } +label+label.added.sublabel { + margin-left: 0; + } + +input[type="text"], select { margin: 0.75em 0 0; } +input[type="checkbox"], input[type="radio"], input[type="file"] { margin: 1em 0 0; } +input[type="checkbox"].enabler, input[type="radio"].enabler { margin-left: 1em; } + +input:disabled { color: #BBB; } + +#config_form input[type="text"].subitem { width: 4em; } +#config_form input[type="text"].subitem+.subitem { margin-left: 4px; } + +input[type="text"].added { width: 20em; } +label.added { + width: 265px; /* label area */ + height: 1em; + padding: 10px 370px 10px 1em; + margin-right: -360px; + text-align: right; + } + +ul.tabs { padding: 0; list-style: none; } +ul.tabs li { display: inline; } +ul.tabs li a, +ul.tabs li a.active:hover, +ul.tabs li a.active:active { + display: block; + float: left; + background: #1E4059; + color: #CCC; + font-size: 110%; + border-radius: 0.25em 0.25em 0 0; + margin: 0 4px 0 0; + padding: 2px 8px; + text-decoration: none; + font-family: georgia,"times new roman",times; + } +ul.tabs li a.active:link, +ul.tabs li a.active:visited { + background: #DDD; + color: #06F; + cursor: default; + margin-top: -4px; + padding-bottom: 4px; + padding-top: 4px; + } +ul.tabs li a:hover, +ul.tabs li a:active { + background: #000; + color: #FFF; + } + +fieldset { display: none; border: 1px solid #AAA; border-radius: 1em; } +fieldset legend { display: none; } + +.hilightable span { + display: block; + float: left; + width: 100%; + height: 1.3em; + background: rgba(225,255,0,1); + margin: 0 -100% -1em 0; + } + +#serial_stepper { padding-top: 0.75em; display: block; float: left; } +/*#SERIAL_PORT { display: none; }*/ + +/* Tooltips */ + +#tooltip { + display: none; + max-width: 30em; + padding: 8px; + border: 2px solid #73d699; + border-radius: 1em; + position: absolute; + z-index: 999; + font-family: sans-serif; + font-size: 85%; + color: #000; + line-height: 1.1; + background: #e2ff99; /* Old browsers */ + background: -moz-linear-gradient(top, #e2ff99 0%, #73d699 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e2ff99), color-stop(100%,#73d699)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #e2ff99 0%,#73d699 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #e2ff99 0%,#73d699 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #e2ff99 0%,#73d699 100%); /* IE10+ */ + background: linear-gradient(to bottom, #e2ff99 0%,#73d699 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2ff99', endColorstr='#73d699',GradientType=0 ); /* IE6-9 */ + -webkit-box-shadow: 0px 6px 25px -4px rgba(0,0,0,0.75); + -moz-box-shadow: 0px 6px 25px -4px rgba(0,0,0,0.75); + box-shadow: 0px 6px 25px -4px rgba(0,0,0,0.75); + } +#tooltip>span { + position: absolute; + content: ""; + width: 0; + height: 0; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #73d699; + z-index: 999; + bottom: -10px; + left: 20px; + } +#tooltip>strong { color: #00B; } + +/* Tooltips Checkbox */ + +#tipson { + width: auto; + height: auto; + padding: 0; + margin-right: 0; + float: right; + font-weight: bold; + font-size: 100%; + font-family: helvetica; + text-align: left; + cursor: pointer; + } +#tipson input { float: none; display: inline; cursor: pointer; } + +/* Config Text */ + +pre.config { + height: 25em; + padding: 10px; + border: 2px solid #888; + border-radius: 5px; + overflow: auto; + clear: both; + background-color: #FFF; + color: #000; + font-family: "Fira Mono", monospace; + font-size: small; + } + +/* Pre Headers */ + +h2 { + width: 100%; + margin: 12px -300px 4px 0; + padding: 0; + float: left; + } + +/* Disclosure Widget */ + +span.disclose, a.download, a.download-all {︎ + display: block; + float: right; + margin-top: 12px; + } + +span.disclose { + margin-right: -10px; /* total width */ + margin-left: 14px; + width: 0; + height: 0; + position: relative; + left: 3px; + top: 3px; + cursor: pointer; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 10px solid #000; + } +span.disclose.closed { + margin-right: -8px; /* total width */ + margin-left: 10px; + left: 0; + top: 0; + border-top: 8px solid transparent; + border-bottom: 8px solid transparent; + border-right: 10px solid #000; + } +span.disclose.almost { + -ms-transform: rotate(45deg); /* IE 9 */ + -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */ + transform: rotate(45deg); + } +span.disclose.closed.almost { + left: 1px; + top: 3px; + -ms-transform: rotate(315deg); /* IE 9 */ + -webkit-transform: rotate(315deg); /* Chrome, Safari, Opera */ + transform: rotate(315deg); + } + +/* Download Button */ + +a.download, a.download-all { + visibility: hidden; + padding: 2px; + border: 1px solid #494; + border-radius: 4px; + margin: 12px 0 0; + background: #FFF; + color: #494; + font-family: sans-serif; + font-size: small; + font-weight: bold; + text-decoration: none; + } +a.download-all { margin: 9px 2em 0; color: #449; border-color: #449; } + +input[type="text"].one_of_2 { max-width: 15%; } +input[type="text"].one_of_3 { max-width: 10%; } +input[type="text"].one_of_4 { max-width: 7%; } + +select.one_of_2 { max-width: 15%; } +select.one_of_3 { max-width: 10%; } +select.one_of_4 { max-width: 14%; } +select.one_of_4+span.label+select.one_of_4+span.label { clear: both; margin-left: 265px; padding-left: 1.75em; } +select.one_of_4+span.label+select.one_of_4+span.label+select.one_of_4+span.label { clear: none; margin-left: 1em; padding-left: 0; } + +@media all and (min-width: 1140px) { + + #main { max-width: 10000px; } + + fieldset { float: left; width: 50%; height: auto; } + + #config_text, #config_adv_text { float: right; clear: right; width: 45%; } + + pre.config { height: 20em; } + + .disclose { display: none; } + + input[type="text"].one_of_2 { max-width: 15%; } + input[type="text"].one_of_3 { max-width: 9%; } + input[type="text"].one_of_4 { max-width: 8%; } + + select.one_of_2 { max-width: 15%; } + select.one_of_3 { max-width: 10%; } + select.one_of_4 { max-width: 16%; } + +} + +/*label.blocked, .blocked { display: none; }*/ + diff --git a/Marlin/configurator/css/logo.png b/Marlin/configurator/css/logo.png new file mode 100644 index 0000000..0618dc1 Binary files /dev/null and b/Marlin/configurator/css/logo.png differ diff --git a/Marlin/configurator/index.html b/Marlin/configurator/index.html new file mode 100644 index 0000000..5435391 --- /dev/null +++ b/Marlin/configurator/index.html @@ -0,0 +1,129 @@ + + + + + Marlin Firmware Configurator + + + + + + + + + + + + +
+

Marlin Configurator

+

Select presets (coming soon), modify, and download.

+ +
+
+ +
+ +
+ + + + Download Zip + +
+ Info +
+ +
+ Machine + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ Homing +
+ +
+ Temperature + + + + + + + + + + +
+ +
+ Extruder +
+ +
+ LCD / SD +
+ +
+ Bed Leveling +
+ +
+ FW Retract +
+ +
+ TMC +
+ +
+ L6470 +
+ +
+ Extras +
+ +
+ More… +
+ +
+

Configuration.h

+ + Download +

+        
+ +
+

Configuration_adv.h

+ + Download +

+        
+ +
+
+
+ + diff --git a/Marlin/configurator/js/FileSaver.min.js b/Marlin/configurator/js/FileSaver.min.js new file mode 100644 index 0000000..f731960 --- /dev/null +++ b/Marlin/configurator/js/FileSaver.min.js @@ -0,0 +1,2 @@ +/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ +var saveAs=saveAs||typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator)||function(view){"use strict";if(typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var doc=view.document,get_URL=function(){return view.URL||view.webkitURL||view},save_link=doc.createElementNS("http://www.w3.org/1999/xhtml","a"),can_use_save_link="download"in save_link,click=function(node){var event=doc.createEvent("MouseEvents");event.initMouseEvent("click",true,false,view,0,0,0,0,0,false,false,false,false,0,null);node.dispatchEvent(event)},webkit_req_fs=view.webkitRequestFileSystem,req_fs=view.requestFileSystem||webkit_req_fs||view.mozRequestFileSystem,throw_outside=function(ex){(view.setImmediate||view.setTimeout)(function(){throw ex},0)},force_saveable_type="application/octet-stream",fs_min_size=0,arbitrary_revoke_timeout=500,revoke=function(file){var revoker=function(){if(typeof file==="string"){get_URL().revokeObjectURL(file)}else{file.remove()}};if(view.chrome){revoker()}else{setTimeout(revoker,arbitrary_revoke_timeout)}},dispatch=function(filesaver,event_types,event){event_types=[].concat(event_types);var i=event_types.length;while(i--){var listener=filesaver["on"+event_types[i]];if(typeof listener==="function"){try{listener.call(filesaver,event||filesaver)}catch(ex){throw_outside(ex)}}}},FileSaver=function(blob,name){var filesaver=this,type=blob.type,blob_changed=false,object_url,target_view,dispatch_all=function(){dispatch(filesaver,"writestart progress write writeend".split(" "))},fs_error=function(){if(blob_changed||!object_url){object_url=get_URL().createObjectURL(blob)}if(target_view){target_view.location.href=object_url}else{var new_tab=view.open(object_url,"_blank");if(new_tab==undefined&&typeof safari!=="undefined"){view.location.href=object_url}}filesaver.readyState=filesaver.DONE;dispatch_all();revoke(object_url)},abortable=function(func){return function(){if(filesaver.readyState!==filesaver.DONE){return func.apply(this,arguments)}}},create_if_not_found={create:true,exclusive:false},slice;filesaver.readyState=filesaver.INIT;if(!name){name="download"}if(can_use_save_link){object_url=get_URL().createObjectURL(blob);save_link.href=object_url;save_link.download=name;click(save_link);filesaver.readyState=filesaver.DONE;dispatch_all();revoke(object_url);return}if(view.chrome&&type&&type!==force_saveable_type){slice=blob.slice||blob.webkitSlice;blob=slice.call(blob,0,blob.size,force_saveable_type);blob_changed=true}if(webkit_req_fs&&name!=="download"){name+=".download"}if(type===force_saveable_type||webkit_req_fs){target_view=view}if(!req_fs){fs_error();return}fs_min_size+=blob.size;req_fs(view.TEMPORARY,fs_min_size,abortable(function(fs){fs.root.getDirectory("saved",create_if_not_found,abortable(function(dir){var save=function(){dir.getFile(name,create_if_not_found,abortable(function(file){file.createWriter(abortable(function(writer){writer.onwriteend=function(event){target_view.location.href=file.toURL();filesaver.readyState=filesaver.DONE;dispatch(filesaver,"writeend",event);revoke(file)};writer.onerror=function(){var error=writer.error;if(error.code!==error.ABORT_ERR){fs_error()}};"writestart progress write abort".split(" ").forEach(function(event){writer["on"+event]=filesaver["on"+event]});writer.write(blob);filesaver.abort=function(){writer.abort();filesaver.readyState=filesaver.DONE};filesaver.readyState=filesaver.WRITING}),fs_error)}),fs_error)};dir.getFile(name,{create:false},abortable(function(file){file.remove();save()}),abortable(function(ex){if(ex.code===ex.NOT_FOUND_ERR){save()}else{fs_error()}}))}),fs_error)}),fs_error)},FS_proto=FileSaver.prototype,saveAs=function(blob,name){return new FileSaver(blob,name)};FS_proto.abort=function(){var filesaver=this;filesaver.readyState=filesaver.DONE;dispatch(filesaver,"abort")};FS_proto.readyState=FS_proto.INIT=0;FS_proto.WRITING=1;FS_proto.DONE=2;FS_proto.error=FS_proto.onwritestart=FS_proto.onprogress=FS_proto.onwrite=FS_proto.onabort=FS_proto.onerror=FS_proto.onwriteend=null;return saveAs}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports.saveAs=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!=null){define([],function(){return saveAs})} diff --git a/Marlin/configurator/js/binaryfileuploader.js b/Marlin/configurator/js/binaryfileuploader.js new file mode 100644 index 0000000..0a1f38f --- /dev/null +++ b/Marlin/configurator/js/binaryfileuploader.js @@ -0,0 +1,79 @@ +function BinaryFileUploader(o) { + this.options = null; + + + this._defaultOptions = { + element: null, // HTML file element + onFileLoad: function(file) { + console.log(file.toString()); + } + }; + + + this._init = function(o) { + if (!this.hasFileUploaderSupport()) return; + + this._verifyDependencies(); + + this.options = this._mergeObjects(this._defaultOptions, o); + this._verifyOptions(); + + this.addFileChangeListener(); + } + + + this.hasFileUploaderSupport = function() { + return !!(window.File && window.FileReader && window.FileList && window.Blob); + } + + this.addFileChangeListener = function() { + this.options.element.addEventListener( + 'change', + this._bind(this, this.onFileChange) + ); + } + + this.onFileChange = function(e) { + // TODO accept multiple files + var file = e.target.files[0], + reader = new FileReader(); + + reader.onload = this._bind(this, this.onFileLoad); + reader.readAsBinaryString(file); + } + + this.onFileLoad = function(e) { + var content = e.target.result, + string = new BinaryString(content); + this.options.onFileLoad(string); + } + + + this._mergeObjects = function(starting, override) { + var merged = starting; + for (key in override) merged[key] = override[key]; + + return merged; + } + + this._verifyOptions = function() { + if (!(this.options.element && this.options.element.type && this.options.element.type === 'file')) { + throw 'Invalid element param in options. Must be a file upload DOM element'; + } + + if (typeof this.options.onFileLoad !== 'function') { + throw 'Invalid onFileLoad param in options. Must be a function'; + } + } + + this._verifyDependencies = function() { + if (!window.BinaryString) throw 'BinaryString is missing. Check that you\'ve correctly included it'; + } + + // helper function for binding methods to objects + this._bind = function(object, method) { + return function() {return method.apply(object, arguments);}; + } + + this._init(o); +} diff --git a/Marlin/configurator/js/binarystring.js b/Marlin/configurator/js/binarystring.js new file mode 100644 index 0000000..06af64f --- /dev/null +++ b/Marlin/configurator/js/binarystring.js @@ -0,0 +1,168 @@ +function BinaryString(source) { + this._source = null; + this._bytes = []; + this._pos = 0; + this._length = 0; + + this._init = function(source) { + this._source = source; + this._bytes = this._stringToBytes(this._source); + this._length = this._bytes.length; + } + + this.current = function() {return this._pos;} + + this.rewind = function() {return this.jump(0);} + this.end = function() {return this.jump(this.length() - 1);} + this.next = function() {return this.jump(this.current() + 1);} + this.prev = function() {return this.jump(this.current() - 1);} + + this.jump = function(pos) { + if (pos < 0 || pos >= this.length()) return false; + + this._pos = pos; + return true; + } + + this.readByte = function(pos) { + pos = (typeof pos == 'number') ? pos : this.current(); + return this.readBytes(1, pos)[0]; + } + + this.readBytes = function(length, pos) { + length = length || 1; + pos = (typeof pos == 'number') ? pos : this.current(); + + if (pos > this.length() || + pos < 0 || + length <= 0 || + pos + length > this.length() || + pos + length < 0 + ) { + return false; + } + + var bytes = []; + + for (var i = pos; i < pos + length; i++) { + bytes.push(this._bytes[i]); + } + + return bytes; + } + + this.length = function() {return this._length;} + + this.toString = function() { + var string = '', + length = this.length(); + + for (var i = 0; i < length; i++) { + string += String.fromCharCode(this.readByte(i)); + } + + return string; + } + + this.toUtf8 = function() { + var inc = 0, + string = '', + length = this.length(); + + // determine if first 3 characters are the BOM + // then skip them in output if so + if (length >= 3 && + this.readByte(0) === 0xEF && + this.readByte(1) === 0xBB && + this.readByte(2) === 0xBF + ) { + inc = 3; + } + + for (; inc < length; inc++) { + var byte1 = this.readByte(inc), + byte2 = 0, + byte3 = 0, + byte4 = 0, + code1 = 0, + code2 = 0, + point = 0; + + switch (true) { + // single byte character; same as ascii + case (byte1 < 0x80): + code1 = byte1; + break; + + // 2 byte character + case (byte1 >= 0xC2 && byte1 < 0xE0): + byte2 = this.readByte(++inc); + + code1 = ((byte1 & 0x1F) << 6) + + (byte2 & 0x3F); + break; + + // 3 byte character + case (byte1 >= 0xE0 && byte1 < 0xF0): + byte2 = this.readByte(++inc); + byte3 = this.readByte(++inc); + + code1 = ((byte1 & 0xFF) << 12) + + ((byte2 & 0x3F) << 6) + + (byte3 & 0x3F); + break; + + // 4 byte character + case (byte1 >= 0xF0 && byte1 < 0xF5): + byte2 = this.readByte(++inc); + byte3 = this.readByte(++inc); + byte4 = this.readByte(++inc); + + point = ((byte1 & 0x07) << 18) + + ((byte2 & 0x3F) << 12) + + ((byte3 & 0x3F) << 6) + + (byte4 & 0x3F) + point -= 0x10000; + + code1 = (point >> 10) + 0xD800; + code2 = (point & 0x3FF) + 0xDC00; + break; + + default: + throw 'Invalid byte ' + this._byteToString(byte1) + ' whilst converting to UTF-8'; + break; + } + + string += (code2) ? String.fromCharCode(code1, code2) + : String.fromCharCode(code1); + } + + return string; + } + + this.toArray = function() {return this.readBytes(this.length() - 1, 0);} + + + this._stringToBytes = function(str) { + var bytes = [], + chr = 0; + + for (var i = 0; i < str.length; i++) { + chr = str.charCodeAt(i); + bytes.push(chr & 0xFF); + } + + return bytes; + } + + this._byteToString = function(byte) { + var asString = byte.toString(16).toUpperCase(); + while (asString.length < 2) { + asString = '0' + asString; + } + + return '0x' + asString; + } + + this._init(source); +} diff --git a/Marlin/configurator/js/configurator.js b/Marlin/configurator/js/configurator.js new file mode 100644 index 0000000..1a0da92 --- /dev/null +++ b/Marlin/configurator/js/configurator.js @@ -0,0 +1,1432 @@ +/** + * configurator.js + * + * Marlin Configuration Utility + * - Web form for entering configuration options + * - A reprap calculator to calculate movement values + * - Uses HTML5 to generate downloadables in Javascript + * - Reads and parses standard configuration files from local folders + * + * Supporting functions + * - Parser to read Marlin Configuration.h and Configuration_adv.h files + * - Utilities to replace values in configuration files + */ + +"use strict"; + +$(function(){ + +/** + * Github API useful GET paths. (Start with "https://api.github.com/repos/:owner/:repo/") + * + * contributors Get a list of contributors + * tags Get a list of tags + * contents/[path]?ref=branch/tag/commit Get the contents of a file + */ + + // GitHub + // Warning! Limited to 60 requests per hour! +var config = { + type: 'github', + host: 'https://api.github.com', + owner: 'MarlinFirmware', + repo: 'Marlin', + ref: 'Development', + path: 'Marlin/configurator/config' +}; +/**/ + +/* // Remote +var config = { + type: 'remote', + host: 'http://www.thinkyhead.com', + path: '_marlin/config' +}; +/**/ + +/* // Local +var config = { + type: 'local', + path: 'config' +}; +/**/ + +function github_command(conf, command, path) { + var req = conf.host+'/repos/'+conf.owner+'/'+conf.repo+'/'+command; + if (path) req += '/' + path; + return req; +} +function config_path(item) { + var path = '', ref = ''; + switch(config.type) { + case 'github': + path = github_command(config, 'contents', config.path); + if (config.ref !== undefined) ref = '?ref=' + config.ref; + break; + case 'remote': + path = config.host + '/' + config.path + '/'; + break; + case 'local': + path = config.path + '/'; + break; + } + return path + '/' + item + ref; +} + +// Extend builtins +String.prototype.lpad = function(len, chr) { + if (chr === undefined) { chr = ' '; } + var s = this+'', need = len - s.length; + if (need > 0) { s = new Array(need+1).join(chr) + s; } + return s; +}; + +String.prototype.prePad = function(len, chr) { return len ? this.lpad(len, chr) : this; }; +String.prototype.zeroPad = function(len) { return this.prePad(len, '0'); }; +String.prototype.toHTML = function() { return jQuery('
').text(this).html(); }; +String.prototype.regEsc = function() { return this.replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&"); } +String.prototype.lineCount = function(ind) { var len = (ind === undefined ? this : this.substr(0,ind*1)).split(/\r?\n|\r/).length; return len > 0 ? len - 1 : 0; }; +String.prototype.line = function(num) { var arr = this.split(/\r?\n|\r/); return num < arr.length ? arr[1*num] : ''; }; +String.prototype.replaceLine = function(num,txt) { var arr = this.split(/\r?\n|\r/); if (num < arr.length) { arr[num] = txt; return arr.join('\n'); } else return this; } +String.prototype.toLabel = function() { return this.replace(/[\[\]]/g, '').replace(/_/g, ' ').toTitleCase(); } +String.prototype.toTitleCase = function() { return this.replace(/([A-Z])(\w+)/gi, function(m,p1,p2) { return p1.toUpperCase() + p2.toLowerCase(); }); } +Number.prototype.limit = function(m1, m2) { + if (m2 == null) return this > m1 ? m1 : this; + return this < m1 ? m1 : this > m2 ? m2 : this; +}; +Date.prototype.fileStamp = function(filename) { + var fs = this.getFullYear() + + ((this.getMonth()+1)+'').zeroPad(2) + + (this.getDate()+'').zeroPad(2) + + (this.getHours()+'').zeroPad(2) + + (this.getMinutes()+'').zeroPad(2) + + (this.getSeconds()+'').zeroPad(2); + + if (filename !== undefined) + return filename.replace(/^(.+)(\.\w+)$/g, '$1-['+fs+']$2'); + + return fs; +} + +/** + * selectField.addOptions takes an array or keyed object + */ +$.fn.extend({ + addOptions: function(arrObj) { + return this.each(function() { + var sel = $(this); + var isArr = Object.prototype.toString.call(arrObj) == "[object Array]"; + $.each(arrObj, function(k, v) { + sel.append( $('