21 Commits

Author SHA1 Message Date
d8e59ee525 Added some more documentation.
All checks were successful
Deploy firmware via FTP (master) / Build and FTP Sync (push) Successful in 2m21s
2026-03-20 16:11:53 +01:00
51241512b9 Dateien nach "CAD" hochladen
All checks were successful
Deploy firmware via FTP (master) / Build and FTP Sync (push) Successful in 2m17s
2026-03-19 23:36:45 +00:00
757cfdac8a Nick war zu doof
All checks were successful
Deploy firmware via FTP (master) / Build and FTP Sync (push) Successful in 2m26s
2026-03-19 23:30:25 +00:00
c6348417ec alternative EiAndocker für 16x2 O-Ringe und voll aus TPU gedruckt ohne O-Ring
Some checks failed
Deploy firmware via FTP (master) / Build and FTP Sync (push) Has been cancelled
- erfolgreich getestet mit 95A TPU
2026-03-19 23:29:21 +00:00
Holger Weber
c6fd370e02 Added documentation for inkscape plugin.
All checks were successful
Deploy firmware via FTP (master) / Build and FTP Sync (push) Successful in 2m30s
2026-03-20 00:18:23 +01:00
Holger Weber
6931ee4dfd Added working AxiDraw windows version 2026-03-20 00:12:26 +01:00
Holger Weber
6aa6a6637f Added search for windows COM ports 2026-03-20 00:10:49 +01:00
Holger Weber
a0f8a06daf Fixed initial Pin Setting 2026-03-20 00:09:55 +01:00
dca1ab0b53 Added test svg - chicken.
All checks were successful
Deploy firmware via FTP (master) / Build and FTP Sync (push) Successful in 2m20s
2026-03-17 22:45:30 +01:00
fbd14c9b5d Merge pull request 'Added wifi state output as version.' (#6) from feature/wifi-state-in-version into master
All checks were successful
Deploy firmware via FTP (master) / Build and FTP Sync (push) Successful in 2m26s
Reviewed-on: #6
2026-03-14 08:06:12 +00:00
303423a5a5 Added wifi state output as version. 2026-03-13 15:52:36 +01:00
f55dab7546 Added script to kill python process of inkscape.
All checks were successful
Deploy firmware via FTP (master) / Build and FTP Sync (push) Successful in 2m24s
2026-03-13 14:11:32 +01:00
b7a0aa47c8 Fixed target in action.
All checks were successful
Deploy firmware via FTP (master) / Build and FTP Sync (push) Successful in 2m26s
2026-03-13 14:03:38 +01:00
eed8f1365d Merge commit '2eebf732089c57b6d9132218408e68be360a5b43'
Some checks failed
Deploy firmware via FTP (master) / Build and FTP Sync (push) Failing after 13s
2026-03-13 14:02:06 +01:00
2eebf73208 Select build system by your own platformio_override.ini file. Check example file. 2026-03-13 13:50:03 +01:00
62b6472b43 Merge branch 'SlEggBotEL32Cfg' of https://git.sternenlabor.de/Sternenlabor/EggDuino into SlEggBotEL32Cfg 2026-03-13 12:44:40 +01:00
5c3f03ecdd Update platformio.ini and esp_timer_compat.c for Windows build compatibility 2026-03-13 12:44:33 +01:00
3bacff9ea6 Added some documentation. 2026-03-13 11:33:33 +01:00
dda7ee60c0 Merge pull request 'Update deploy workflow to use 'master' branch and add unit tests for deployment triggers' (#4) from firmware_deploy into master
All checks were successful
Deploy firmware via FTP (master) / Build and FTP Sync (push) Successful in 3m31s
Reviewed-on: #4
2026-03-13 10:16:07 +00:00
ad39e86a9d Merge pull request 'firmware_deploy' (#3) from firmware_deploy into master
Reviewed-on: #3
2026-03-13 10:05:59 +00:00
7c609ea452 Add legacy ESP32 compatibility fixes 2026-03-13 10:42:42 +01:00
24 changed files with 111023 additions and 92 deletions

View File

@@ -28,7 +28,7 @@ jobs:
python -m pip install platformio
- name: Build firmware bundle
run: pio run -e uno
run: pio run -e uno_linux
- name: Install lftp client
run: |

1
.gitignore vendored
View File

@@ -216,3 +216,4 @@ pip-log.txt
#Mr Developer
.mr.developer.cfg
src/credentials.h
platformio_override.ini

View File

@@ -0,0 +1,848 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
FILE_NAME('Open CASCADE Shape Model','2026-03-16T19:11:20',(''),(''),
'Open CASCADE STEP processor 7.8','FreeCAD','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('EiAndockerLinksORing16x2','EiAndockerLinksORing16x2','',(
#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#629);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#241,#269,#295,#322,#354,#404,#424,#444,#491,
#502,#519,#529,#539,#565,#595,#620));
#17 = ADVANCED_FACE('',(#18,#45),#236,.T.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20,#30,#37,#38));
#20 = ORIENTED_EDGE('',*,*,#21,.T.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(11.,0.,0.));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(11.,0.,39.));
#26 = LINE('',#27,#28);
#27 = CARTESIAN_POINT('',(11.,0.,0.));
#28 = VECTOR('',#29,1.);
#29 = DIRECTION('',(0.,0.,1.));
#30 = ORIENTED_EDGE('',*,*,#31,.T.);
#31 = EDGE_CURVE('',#24,#24,#32,.T.);
#32 = CIRCLE('',#33,11.);
#33 = AXIS2_PLACEMENT_3D('',#34,#35,#36);
#34 = CARTESIAN_POINT('',(0.,0.,39.));
#35 = DIRECTION('',(0.,0.,1.));
#36 = DIRECTION('',(1.,0.,0.));
#37 = ORIENTED_EDGE('',*,*,#21,.F.);
#38 = ORIENTED_EDGE('',*,*,#39,.F.);
#39 = EDGE_CURVE('',#22,#22,#40,.T.);
#40 = CIRCLE('',#41,11.);
#41 = AXIS2_PLACEMENT_3D('',#42,#43,#44);
#42 = CARTESIAN_POINT('',(0.,0.,0.));
#43 = DIRECTION('',(0.,0.,1.));
#44 = DIRECTION('',(1.,0.,0.));
#45 = FACE_BOUND('',#46,.F.);
#46 = EDGE_LOOP('',(#47,#112,#175));
#47 = ORIENTED_EDGE('',*,*,#48,.F.);
#48 = EDGE_CURVE('',#49,#51,#53,.T.);
#49 = VERTEX_POINT('',#50);
#50 = CARTESIAN_POINT('',(-2.927613660003E-07,-11.,12.));
#51 = VERTEX_POINT('',#52);
#52 = CARTESIAN_POINT('',(2.374854292069E-07,-11.,6.));
#53 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#54,#55,#56,#57,#58,#59,#60,#61,
#62,#63,#64,#65,#66,#67,#68,#69,#70,#71,#72,#73,#74,#75,#76,#77,#78,
#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#94,#95,
#96,#97,#98,#99,#100,#101,#102,#103,#104,#105,#106,#107,#108,#109,
#110,#111),.UNSPECIFIED.,.T.,.F.,(9,7,7,7,7,7,7,7,9),(0.,
0.12028008765,0.221803874722,0.313717691764,0.424279510118,
0.557035521011,0.678561824844,0.82156830206,1.),.UNSPECIFIED.);
#54 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.));
#55 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.247784463312));
#56 = CARTESIAN_POINT('',(-2.97661099072,-10.58963540912,9.495313801967)
);
#57 = CARTESIAN_POINT('',(-2.929914976415,-10.60287246882,9.741235870322
));
#58 = CARTESIAN_POINT('',(-2.859695742185,-10.62246505723,9.984131705533
));
#59 = CARTESIAN_POINT('',(-2.765485670196,-10.64792558084,
10.222409636621));
#60 = CARTESIAN_POINT('',(-2.646608254922,-10.67848833322,
10.454173492424));
#61 = CARTESIAN_POINT('',(-2.502230313136,-10.71304744389,
10.677050088509));
#62 = CARTESIAN_POINT('',(-2.187278576625,-10.78135296782,
11.065983092374));
#63 = CARTESIAN_POINT('',(-2.023097625341,-10.8146465199,11.236965633107
));
#64 = CARTESIAN_POINT('',(-1.838511950113,-10.84895509728,
11.397919728876));
#65 = CARTESIAN_POINT('',(-1.63351040545,-10.88295677609,11.545684384537
));
#66 = CARTESIAN_POINT('',(-1.408464110369,-10.9150703833,11.676917729215
));
#67 = CARTESIAN_POINT('',(-1.164167045979,-10.9435285676,11.788067939419
));
#68 = CARTESIAN_POINT('',(-0.901928016914,-10.96650203127,
11.875311066446));
#69 = CARTESIAN_POINT('',(-0.371875127732,-10.99660615524,
11.987977286074));
#70 = CARTESIAN_POINT('',(-0.110970775212,-11.00480136742,
12.017613390432));
#71 = CARTESIAN_POINT('',(0.154044903682,-11.00581158676,12.020939532078
));
#72 = CARTESIAN_POINT('',(0.417899218976,-10.99920605305,11.997223641124
));
#73 = CARTESIAN_POINT('',(0.675301956574,-10.98540660424,11.947326541564
));
#74 = CARTESIAN_POINT('',(0.921256391971,-10.96563060757,11.873683621587
));
#75 = CARTESIAN_POINT('',(1.151344483982,-10.9416388314,11.780339397179)
);
#76 = CARTESIAN_POINT('',(1.615331728924,-10.88374449378,11.543926087641
));
#77 = CARTESIAN_POINT('',(1.844790555774,-10.84828787337,11.392441050153
));
#78 = CARTESIAN_POINT('',(2.050308680927,-10.81116823604,11.22331735385)
);
#79 = CARTESIAN_POINT('',(2.232359248194,-10.77424422358,11.040306652498
));
#80 = CARTESIAN_POINT('',(2.391662754536,-10.73898686411,10.846382998433
));
#81 = CARTESIAN_POINT('',(2.529009637688,-10.70651764133,10.643900023181
));
#82 = CARTESIAN_POINT('',(2.645138305672,-10.67768546127,10.434702100122
));
#83 = CARTESIAN_POINT('',(2.85530473354,-10.62361774287,9.962660574488)
);
#84 = CARTESIAN_POINT('',(2.940294167414,-10.60024937474,9.697330811818)
);
#85 = CARTESIAN_POINT('',(2.996436520884,-10.58414357274,9.426929463329)
);
#86 = CARTESIAN_POINT('',(3.024268131702,-10.575989631,9.153706681797));
#87 = CARTESIAN_POINT('',(3.024041649892,-10.57609184962,8.87967057245)
);
#88 = CARTESIAN_POINT('',(2.995725631373,-10.58439583235,8.606771307622)
);
#89 = CARTESIAN_POINT('',(2.938989259398,-10.60048293223,8.337074927084)
);
#90 = CARTESIAN_POINT('',(2.77460924759,-10.64463059066,7.831165270903)
);
#91 = CARTESIAN_POINT('',(2.67175104555,-10.67154326208,7.59427485792));
#92 = CARTESIAN_POINT('',(2.544056330611,-10.70365056993,7.363762211941)
);
#93 = CARTESIAN_POINT('',(2.390660235376,-10.74006998818,7.141595617126)
);
#94 = CARTESIAN_POINT('',(2.210506350817,-10.7795878533,6.930367243669)
);
#95 = CARTESIAN_POINT('',(2.002505624649,-10.82052918413,6.733473412639)
);
#96 = CARTESIAN_POINT('',(1.76577358126,-10.86066377413,6.555368237331)
);
#97 = CARTESIAN_POINT('',(1.187250065257,-10.94029721233,6.221357529634)
);
#98 = CARTESIAN_POINT('',(0.823824071924,-10.97986998106,6.068899191573)
);
#99 = CARTESIAN_POINT('',(0.422202059946,-11.00848612598,5.968367559822)
);
#100 = CARTESIAN_POINT('',(2.076561145259E-12,-11.01910836895,
5.933413112681));
#101 = CARTESIAN_POINT('',(-0.42220205995,-11.00848612598,5.968367559823
));
#102 = CARTESIAN_POINT('',(-0.823824071923,-10.97986998106,
6.068899191572));
#103 = CARTESIAN_POINT('',(-1.187250065258,-10.94029721233,
6.221357529634));
#104 = CARTESIAN_POINT('',(-1.890223596673,-10.84353329916,6.62721948723
));
#105 = CARTESIAN_POINT('',(-2.218095833563,-10.78212870183,
6.905826251681));
#106 = CARTESIAN_POINT('',(-2.484538511301,-10.72169165657,
7.219322097354));
#107 = CARTESIAN_POINT('',(-2.692957757048,-10.66854367312,
7.555805901262));
#108 = CARTESIAN_POINT('',(-2.846758847749,-10.62644198358,7.90703918817
));
#109 = CARTESIAN_POINT('',(-2.94864197823,-10.59756449647,8.267356983371
));
#110 = CARTESIAN_POINT('',(-3.,-10.58300524425,8.632829859132));
#111 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.));
#112 = ORIENTED_EDGE('',*,*,#113,.F.);
#113 = EDGE_CURVE('',#114,#49,#116,.T.);
#114 = VERTEX_POINT('',#115);
#115 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.));
#116 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#117,#118,#119,#120,#121,#122,
#123,#124,#125,#126,#127,#128,#129,#130,#131,#132,#133,#134,#135,
#136,#137,#138,#139,#140,#141,#142,#143,#144,#145,#146,#147,#148,
#149,#150,#151,#152,#153,#154,#155,#156,#157,#158,#159,#160,#161,
#162,#163,#164,#165,#166,#167,#168,#169,#170,#171,#172,#173,#174),
.UNSPECIFIED.,.T.,.F.,(9,7,7,7,7,7,7,7,9),(0.,0.12028008765,
0.221803874722,0.313717691764,0.424279510118,0.557035521011,
0.678561824844,0.82156830206,1.),.UNSPECIFIED.);
#117 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.));
#118 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.247784463312));
#119 = CARTESIAN_POINT('',(-2.97661099072,-10.58963540912,9.495313801967
));
#120 = CARTESIAN_POINT('',(-2.929914976415,-10.60287246882,
9.741235870322));
#121 = CARTESIAN_POINT('',(-2.859695742185,-10.62246505723,
9.984131705533));
#122 = CARTESIAN_POINT('',(-2.765485670196,-10.64792558084,
10.222409636621));
#123 = CARTESIAN_POINT('',(-2.646608254922,-10.67848833322,
10.454173492424));
#124 = CARTESIAN_POINT('',(-2.502230313136,-10.71304744389,
10.677050088509));
#125 = CARTESIAN_POINT('',(-2.187278576625,-10.78135296782,
11.065983092374));
#126 = CARTESIAN_POINT('',(-2.023097625341,-10.8146465199,
11.236965633107));
#127 = CARTESIAN_POINT('',(-1.838511950113,-10.84895509728,
11.397919728876));
#128 = CARTESIAN_POINT('',(-1.63351040545,-10.88295677609,
11.545684384537));
#129 = CARTESIAN_POINT('',(-1.408464110369,-10.9150703833,
11.676917729215));
#130 = CARTESIAN_POINT('',(-1.164167045979,-10.9435285676,
11.788067939419));
#131 = CARTESIAN_POINT('',(-0.901928016914,-10.96650203127,
11.875311066446));
#132 = CARTESIAN_POINT('',(-0.371875127732,-10.99660615524,
11.987977286074));
#133 = CARTESIAN_POINT('',(-0.110970775212,-11.00480136742,
12.017613390432));
#134 = CARTESIAN_POINT('',(0.154044903682,-11.00581158676,
12.020939532078));
#135 = CARTESIAN_POINT('',(0.417899218976,-10.99920605305,
11.997223641124));
#136 = CARTESIAN_POINT('',(0.675301956574,-10.98540660424,
11.947326541564));
#137 = CARTESIAN_POINT('',(0.921256391971,-10.96563060757,
11.873683621587));
#138 = CARTESIAN_POINT('',(1.151344483982,-10.9416388314,11.780339397179
));
#139 = CARTESIAN_POINT('',(1.615331728924,-10.88374449378,
11.543926087641));
#140 = CARTESIAN_POINT('',(1.844790555774,-10.84828787337,
11.392441050153));
#141 = CARTESIAN_POINT('',(2.050308680927,-10.81116823604,11.22331735385
));
#142 = CARTESIAN_POINT('',(2.232359248194,-10.77424422358,
11.040306652498));
#143 = CARTESIAN_POINT('',(2.391662754536,-10.73898686411,
10.846382998433));
#144 = CARTESIAN_POINT('',(2.529009637688,-10.70651764133,
10.643900023181));
#145 = CARTESIAN_POINT('',(2.645138305672,-10.67768546127,
10.434702100122));
#146 = CARTESIAN_POINT('',(2.85530473354,-10.62361774287,9.962660574488)
);
#147 = CARTESIAN_POINT('',(2.940294167414,-10.60024937474,9.697330811818
));
#148 = CARTESIAN_POINT('',(2.996436520884,-10.58414357274,9.426929463329
));
#149 = CARTESIAN_POINT('',(3.024268131702,-10.575989631,9.153706681797)
);
#150 = CARTESIAN_POINT('',(3.024041649892,-10.57609184962,8.87967057245)
);
#151 = CARTESIAN_POINT('',(2.995725631373,-10.58439583235,8.606771307622
));
#152 = CARTESIAN_POINT('',(2.938989259398,-10.60048293223,8.337074927084
));
#153 = CARTESIAN_POINT('',(2.77460924759,-10.64463059066,7.831165270903)
);
#154 = CARTESIAN_POINT('',(2.67175104555,-10.67154326208,7.59427485792)
);
#155 = CARTESIAN_POINT('',(2.544056330611,-10.70365056993,7.363762211941
));
#156 = CARTESIAN_POINT('',(2.390660235376,-10.74006998818,7.141595617126
));
#157 = CARTESIAN_POINT('',(2.210506350817,-10.7795878533,6.930367243669)
);
#158 = CARTESIAN_POINT('',(2.002505624649,-10.82052918413,6.733473412639
));
#159 = CARTESIAN_POINT('',(1.76577358126,-10.86066377413,6.555368237331)
);
#160 = CARTESIAN_POINT('',(1.187250065257,-10.94029721233,6.221357529634
));
#161 = CARTESIAN_POINT('',(0.823824071924,-10.97986998106,6.068899191573
));
#162 = CARTESIAN_POINT('',(0.422202059946,-11.00848612598,5.968367559822
));
#163 = CARTESIAN_POINT('',(2.076561145259E-12,-11.01910836895,
5.933413112681));
#164 = CARTESIAN_POINT('',(-0.42220205995,-11.00848612598,5.968367559823
));
#165 = CARTESIAN_POINT('',(-0.823824071923,-10.97986998106,
6.068899191572));
#166 = CARTESIAN_POINT('',(-1.187250065258,-10.94029721233,
6.221357529634));
#167 = CARTESIAN_POINT('',(-1.890223596673,-10.84353329916,6.62721948723
));
#168 = CARTESIAN_POINT('',(-2.218095833563,-10.78212870183,
6.905826251681));
#169 = CARTESIAN_POINT('',(-2.484538511301,-10.72169165657,
7.219322097354));
#170 = CARTESIAN_POINT('',(-2.692957757048,-10.66854367312,
7.555805901262));
#171 = CARTESIAN_POINT('',(-2.846758847749,-10.62644198358,7.90703918817
));
#172 = CARTESIAN_POINT('',(-2.94864197823,-10.59756449647,8.267356983371
));
#173 = CARTESIAN_POINT('',(-3.,-10.58300524425,8.632829859132));
#174 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.));
#175 = ORIENTED_EDGE('',*,*,#176,.F.);
#176 = EDGE_CURVE('',#51,#114,#177,.T.);
#177 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#178,#179,#180,#181,#182,#183,
#184,#185,#186,#187,#188,#189,#190,#191,#192,#193,#194,#195,#196,
#197,#198,#199,#200,#201,#202,#203,#204,#205,#206,#207,#208,#209,
#210,#211,#212,#213,#214,#215,#216,#217,#218,#219,#220,#221,#222,
#223,#224,#225,#226,#227,#228,#229,#230,#231,#232,#233,#234,#235),
.UNSPECIFIED.,.T.,.F.,(9,7,7,7,7,7,7,7,9),(0.,0.12028008765,
0.221803874722,0.313717691764,0.424279510118,0.557035521011,
0.678561824844,0.82156830206,1.),.UNSPECIFIED.);
#178 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.));
#179 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.247784463312));
#180 = CARTESIAN_POINT('',(-2.97661099072,-10.58963540912,9.495313801967
));
#181 = CARTESIAN_POINT('',(-2.929914976415,-10.60287246882,
9.741235870322));
#182 = CARTESIAN_POINT('',(-2.859695742185,-10.62246505723,
9.984131705533));
#183 = CARTESIAN_POINT('',(-2.765485670196,-10.64792558084,
10.222409636621));
#184 = CARTESIAN_POINT('',(-2.646608254922,-10.67848833322,
10.454173492424));
#185 = CARTESIAN_POINT('',(-2.502230313136,-10.71304744389,
10.677050088509));
#186 = CARTESIAN_POINT('',(-2.187278576625,-10.78135296782,
11.065983092374));
#187 = CARTESIAN_POINT('',(-2.023097625341,-10.8146465199,
11.236965633107));
#188 = CARTESIAN_POINT('',(-1.838511950113,-10.84895509728,
11.397919728876));
#189 = CARTESIAN_POINT('',(-1.63351040545,-10.88295677609,
11.545684384537));
#190 = CARTESIAN_POINT('',(-1.408464110369,-10.9150703833,
11.676917729215));
#191 = CARTESIAN_POINT('',(-1.164167045979,-10.9435285676,
11.788067939419));
#192 = CARTESIAN_POINT('',(-0.901928016914,-10.96650203127,
11.875311066446));
#193 = CARTESIAN_POINT('',(-0.371875127732,-10.99660615524,
11.987977286074));
#194 = CARTESIAN_POINT('',(-0.110970775212,-11.00480136742,
12.017613390432));
#195 = CARTESIAN_POINT('',(0.154044903682,-11.00581158676,
12.020939532078));
#196 = CARTESIAN_POINT('',(0.417899218976,-10.99920605305,
11.997223641124));
#197 = CARTESIAN_POINT('',(0.675301956574,-10.98540660424,
11.947326541564));
#198 = CARTESIAN_POINT('',(0.921256391971,-10.96563060757,
11.873683621587));
#199 = CARTESIAN_POINT('',(1.151344483982,-10.9416388314,11.780339397179
));
#200 = CARTESIAN_POINT('',(1.615331728924,-10.88374449378,
11.543926087641));
#201 = CARTESIAN_POINT('',(1.844790555774,-10.84828787337,
11.392441050153));
#202 = CARTESIAN_POINT('',(2.050308680927,-10.81116823604,11.22331735385
));
#203 = CARTESIAN_POINT('',(2.232359248194,-10.77424422358,
11.040306652498));
#204 = CARTESIAN_POINT('',(2.391662754536,-10.73898686411,
10.846382998433));
#205 = CARTESIAN_POINT('',(2.529009637688,-10.70651764133,
10.643900023181));
#206 = CARTESIAN_POINT('',(2.645138305672,-10.67768546127,
10.434702100122));
#207 = CARTESIAN_POINT('',(2.85530473354,-10.62361774287,9.962660574488)
);
#208 = CARTESIAN_POINT('',(2.940294167414,-10.60024937474,9.697330811818
));
#209 = CARTESIAN_POINT('',(2.996436520884,-10.58414357274,9.426929463329
));
#210 = CARTESIAN_POINT('',(3.024268131702,-10.575989631,9.153706681797)
);
#211 = CARTESIAN_POINT('',(3.024041649892,-10.57609184962,8.87967057245)
);
#212 = CARTESIAN_POINT('',(2.995725631373,-10.58439583235,8.606771307622
));
#213 = CARTESIAN_POINT('',(2.938989259398,-10.60048293223,8.337074927084
));
#214 = CARTESIAN_POINT('',(2.77460924759,-10.64463059066,7.831165270903)
);
#215 = CARTESIAN_POINT('',(2.67175104555,-10.67154326208,7.59427485792)
);
#216 = CARTESIAN_POINT('',(2.544056330611,-10.70365056993,7.363762211941
));
#217 = CARTESIAN_POINT('',(2.390660235376,-10.74006998818,7.141595617126
));
#218 = CARTESIAN_POINT('',(2.210506350817,-10.7795878533,6.930367243669)
);
#219 = CARTESIAN_POINT('',(2.002505624649,-10.82052918413,6.733473412639
));
#220 = CARTESIAN_POINT('',(1.76577358126,-10.86066377413,6.555368237331)
);
#221 = CARTESIAN_POINT('',(1.187250065257,-10.94029721233,6.221357529634
));
#222 = CARTESIAN_POINT('',(0.823824071924,-10.97986998106,6.068899191573
));
#223 = CARTESIAN_POINT('',(0.422202059946,-11.00848612598,5.968367559822
));
#224 = CARTESIAN_POINT('',(2.076561145259E-12,-11.01910836895,
5.933413112681));
#225 = CARTESIAN_POINT('',(-0.42220205995,-11.00848612598,5.968367559823
));
#226 = CARTESIAN_POINT('',(-0.823824071923,-10.97986998106,
6.068899191572));
#227 = CARTESIAN_POINT('',(-1.187250065258,-10.94029721233,
6.221357529634));
#228 = CARTESIAN_POINT('',(-1.890223596673,-10.84353329916,6.62721948723
));
#229 = CARTESIAN_POINT('',(-2.218095833563,-10.78212870183,
6.905826251681));
#230 = CARTESIAN_POINT('',(-2.484538511301,-10.72169165657,
7.219322097354));
#231 = CARTESIAN_POINT('',(-2.692957757048,-10.66854367312,
7.555805901262));
#232 = CARTESIAN_POINT('',(-2.846758847749,-10.62644198358,7.90703918817
));
#233 = CARTESIAN_POINT('',(-2.94864197823,-10.59756449647,8.267356983371
));
#234 = CARTESIAN_POINT('',(-3.,-10.58300524425,8.632829859132));
#235 = CARTESIAN_POINT('',(-3.,-10.58300524425,9.));
#236 = CYLINDRICAL_SURFACE('',#237,11.);
#237 = AXIS2_PLACEMENT_3D('',#238,#239,#240);
#238 = CARTESIAN_POINT('',(0.,0.,0.));
#239 = DIRECTION('',(-0.,-0.,-1.));
#240 = DIRECTION('',(1.,0.,0.));
#241 = ADVANCED_FACE('',(#242,#245),#264,.F.);
#242 = FACE_BOUND('',#243,.F.);
#243 = EDGE_LOOP('',(#244));
#244 = ORIENTED_EDGE('',*,*,#39,.T.);
#245 = FACE_BOUND('',#246,.F.);
#246 = EDGE_LOOP('',(#247,#257));
#247 = ORIENTED_EDGE('',*,*,#248,.F.);
#248 = EDGE_CURVE('',#249,#251,#253,.T.);
#249 = VERTEX_POINT('',#250);
#250 = CARTESIAN_POINT('',(-1.581929201956,-2.,0.));
#251 = VERTEX_POINT('',#252);
#252 = CARTESIAN_POINT('',(1.581929201956,-2.,0.));
#253 = LINE('',#254,#255);
#254 = CARTESIAN_POINT('',(-1.581929201956,-2.,0.));
#255 = VECTOR('',#256,1.);
#256 = DIRECTION('',(1.,0.,0.));
#257 = ORIENTED_EDGE('',*,*,#258,.T.);
#258 = EDGE_CURVE('',#249,#251,#259,.T.);
#259 = CIRCLE('',#260,2.55);
#260 = AXIS2_PLACEMENT_3D('',#261,#262,#263);
#261 = CARTESIAN_POINT('',(0.,0.,0.));
#262 = DIRECTION('',(0.,0.,-1.));
#263 = DIRECTION('',(1.,0.,0.));
#264 = PLANE('',#265);
#265 = AXIS2_PLACEMENT_3D('',#266,#267,#268);
#266 = CARTESIAN_POINT('',(-7.458764359306E-16,-4.490371596874E-16,0.));
#267 = DIRECTION('',(0.,0.,1.));
#268 = DIRECTION('',(1.,0.,0.));
#269 = ADVANCED_FACE('',(#270),#290,.T.);
#270 = FACE_BOUND('',#271,.T.);
#271 = EDGE_LOOP('',(#272,#281,#282,#283));
#272 = ORIENTED_EDGE('',*,*,#273,.F.);
#273 = EDGE_CURVE('',#24,#274,#276,.T.);
#274 = VERTEX_POINT('',#275);
#275 = CARTESIAN_POINT('',(10.,0.,40.));
#276 = CIRCLE('',#277,1.);
#277 = AXIS2_PLACEMENT_3D('',#278,#279,#280);
#278 = CARTESIAN_POINT('',(10.,0.,39.));
#279 = DIRECTION('',(0.,-1.,0.));
#280 = DIRECTION('',(1.,0.,0.));
#281 = ORIENTED_EDGE('',*,*,#31,.T.);
#282 = ORIENTED_EDGE('',*,*,#273,.T.);
#283 = ORIENTED_EDGE('',*,*,#284,.F.);
#284 = EDGE_CURVE('',#274,#274,#285,.T.);
#285 = CIRCLE('',#286,10.);
#286 = AXIS2_PLACEMENT_3D('',#287,#288,#289);
#287 = CARTESIAN_POINT('',(0.,0.,40.));
#288 = DIRECTION('',(0.,0.,1.));
#289 = DIRECTION('',(1.,0.,0.));
#290 = TOROIDAL_SURFACE('',#291,10.,1.);
#291 = AXIS2_PLACEMENT_3D('',#292,#293,#294);
#292 = CARTESIAN_POINT('',(0.,0.,39.));
#293 = DIRECTION('',(0.,0.,1.));
#294 = DIRECTION('',(1.,0.,0.));
#295 = ADVANCED_FACE('',(#296),#317,.F.);
#296 = FACE_BOUND('',#297,.T.);
#297 = EDGE_LOOP('',(#298,#299,#307,#314,#315,#316));
#298 = ORIENTED_EDGE('',*,*,#113,.F.);
#299 = ORIENTED_EDGE('',*,*,#300,.T.);
#300 = EDGE_CURVE('',#114,#301,#303,.T.);
#301 = VERTEX_POINT('',#302);
#302 = CARTESIAN_POINT('',(-3.,-9.,9.));
#303 = LINE('',#304,#305);
#304 = CARTESIAN_POINT('',(-3.,-11.,9.));
#305 = VECTOR('',#306,1.);
#306 = DIRECTION('',(0.,1.,-2.22044604925E-16));
#307 = ORIENTED_EDGE('',*,*,#308,.T.);
#308 = EDGE_CURVE('',#301,#301,#309,.T.);
#309 = CIRCLE('',#310,3.);
#310 = AXIS2_PLACEMENT_3D('',#311,#312,#313);
#311 = CARTESIAN_POINT('',(0.,-9.,9.));
#312 = DIRECTION('',(0.,1.,-2.22044604925E-16));
#313 = DIRECTION('',(-1.,0.,0.));
#314 = ORIENTED_EDGE('',*,*,#300,.F.);
#315 = ORIENTED_EDGE('',*,*,#176,.F.);
#316 = ORIENTED_EDGE('',*,*,#48,.F.);
#317 = CYLINDRICAL_SURFACE('',#318,3.);
#318 = AXIS2_PLACEMENT_3D('',#319,#320,#321);
#319 = CARTESIAN_POINT('',(0.,-11.,9.));
#320 = DIRECTION('',(0.,-1.,2.22044604925E-16));
#321 = DIRECTION('',(-1.,0.,0.));
#322 = ADVANCED_FACE('',(#323),#349,.T.);
#323 = FACE_BOUND('',#324,.T.);
#324 = EDGE_LOOP('',(#325,#326,#334,#343));
#325 = ORIENTED_EDGE('',*,*,#248,.F.);
#326 = ORIENTED_EDGE('',*,*,#327,.T.);
#327 = EDGE_CURVE('',#249,#328,#330,.T.);
#328 = VERTEX_POINT('',#329);
#329 = CARTESIAN_POINT('',(-1.581929201956,-2.,7.776276174948));
#330 = LINE('',#331,#332);
#331 = CARTESIAN_POINT('',(-1.581929201956,-2.,0.));
#332 = VECTOR('',#333,1.);
#333 = DIRECTION('',(0.,0.,1.));
#334 = ORIENTED_EDGE('',*,*,#335,.F.);
#335 = EDGE_CURVE('',#336,#328,#338,.T.);
#336 = VERTEX_POINT('',#337);
#337 = CARTESIAN_POINT('',(1.581929201956,-2.,7.776276174948));
#338 = CIRCLE('',#339,2.);
#339 = AXIS2_PLACEMENT_3D('',#340,#341,#342);
#340 = CARTESIAN_POINT('',(0.,-2.,9.));
#341 = DIRECTION('',(0.,1.,-2.22044604925E-16));
#342 = DIRECTION('',(-1.,0.,0.));
#343 = ORIENTED_EDGE('',*,*,#344,.F.);
#344 = EDGE_CURVE('',#251,#336,#345,.T.);
#345 = LINE('',#346,#347);
#346 = CARTESIAN_POINT('',(1.581929201956,-2.,0.));
#347 = VECTOR('',#348,1.);
#348 = DIRECTION('',(0.,0.,1.));
#349 = PLANE('',#350);
#350 = AXIS2_PLACEMENT_3D('',#351,#352,#353);
#351 = CARTESIAN_POINT('',(-1.581929201956,-2.,0.));
#352 = DIRECTION('',(0.,1.,0.));
#353 = DIRECTION('',(1.,0.,0.));
#354 = ADVANCED_FACE('',(#355),#399,.F.);
#355 = FACE_BOUND('',#356,.F.);
#356 = EDGE_LOOP('',(#357,#358,#366,#374,#383,#391,#397,#398));
#357 = ORIENTED_EDGE('',*,*,#327,.T.);
#358 = ORIENTED_EDGE('',*,*,#359,.T.);
#359 = EDGE_CURVE('',#328,#360,#362,.T.);
#360 = VERTEX_POINT('',#361);
#361 = CARTESIAN_POINT('',(-1.581929201956,-2.,10.223723825052));
#362 = LINE('',#363,#364);
#363 = CARTESIAN_POINT('',(-1.581929201956,-2.,0.));
#364 = VECTOR('',#365,1.);
#365 = DIRECTION('',(0.,0.,1.));
#366 = ORIENTED_EDGE('',*,*,#367,.T.);
#367 = EDGE_CURVE('',#360,#368,#370,.T.);
#368 = VERTEX_POINT('',#369);
#369 = CARTESIAN_POINT('',(-1.581929201956,-2.,18.));
#370 = LINE('',#371,#372);
#371 = CARTESIAN_POINT('',(-1.581929201956,-2.,0.));
#372 = VECTOR('',#373,1.);
#373 = DIRECTION('',(0.,0.,1.));
#374 = ORIENTED_EDGE('',*,*,#375,.T.);
#375 = EDGE_CURVE('',#368,#376,#378,.T.);
#376 = VERTEX_POINT('',#377);
#377 = CARTESIAN_POINT('',(1.581929201956,-2.,18.));
#378 = CIRCLE('',#379,2.55);
#379 = AXIS2_PLACEMENT_3D('',#380,#381,#382);
#380 = CARTESIAN_POINT('',(0.,0.,18.));
#381 = DIRECTION('',(0.,0.,-1.));
#382 = DIRECTION('',(1.,0.,0.));
#383 = ORIENTED_EDGE('',*,*,#384,.F.);
#384 = EDGE_CURVE('',#385,#376,#387,.T.);
#385 = VERTEX_POINT('',#386);
#386 = CARTESIAN_POINT('',(1.581929201956,-2.,10.223723825052));
#387 = LINE('',#388,#389);
#388 = CARTESIAN_POINT('',(1.581929201956,-2.,0.));
#389 = VECTOR('',#390,1.);
#390 = DIRECTION('',(0.,0.,1.));
#391 = ORIENTED_EDGE('',*,*,#392,.F.);
#392 = EDGE_CURVE('',#336,#385,#393,.T.);
#393 = LINE('',#394,#395);
#394 = CARTESIAN_POINT('',(1.581929201956,-2.,0.));
#395 = VECTOR('',#396,1.);
#396 = DIRECTION('',(0.,0.,1.));
#397 = ORIENTED_EDGE('',*,*,#344,.F.);
#398 = ORIENTED_EDGE('',*,*,#258,.F.);
#399 = CYLINDRICAL_SURFACE('',#400,2.55);
#400 = AXIS2_PLACEMENT_3D('',#401,#402,#403);
#401 = CARTESIAN_POINT('',(0.,0.,0.));
#402 = DIRECTION('',(0.,0.,-1.));
#403 = DIRECTION('',(1.,0.,0.));
#404 = ADVANCED_FACE('',(#405,#408),#419,.T.);
#405 = FACE_BOUND('',#406,.T.);
#406 = EDGE_LOOP('',(#407));
#407 = ORIENTED_EDGE('',*,*,#284,.T.);
#408 = FACE_BOUND('',#409,.T.);
#409 = EDGE_LOOP('',(#410));
#410 = ORIENTED_EDGE('',*,*,#411,.T.);
#411 = EDGE_CURVE('',#412,#412,#414,.T.);
#412 = VERTEX_POINT('',#413);
#413 = CARTESIAN_POINT('',(0.,-9.916515138991,40.));
#414 = CIRCLE('',#415,9.916515138991);
#415 = AXIS2_PLACEMENT_3D('',#416,#417,#418);
#416 = CARTESIAN_POINT('',(0.,0.,40.));
#417 = DIRECTION('',(-0.,-0.,-1.));
#418 = DIRECTION('',(0.,-1.,0.));
#419 = PLANE('',#420);
#420 = AXIS2_PLACEMENT_3D('',#421,#422,#423);
#421 = CARTESIAN_POINT('',(-7.458764359306E-16,-4.490371596874E-16,40.)
);
#422 = DIRECTION('',(0.,0.,1.));
#423 = DIRECTION('',(1.,0.,0.));
#424 = ADVANCED_FACE('',(#425,#428),#439,.F.);
#425 = FACE_BOUND('',#426,.F.);
#426 = EDGE_LOOP('',(#427));
#427 = ORIENTED_EDGE('',*,*,#308,.T.);
#428 = FACE_BOUND('',#429,.F.);
#429 = EDGE_LOOP('',(#430));
#430 = ORIENTED_EDGE('',*,*,#431,.F.);
#431 = EDGE_CURVE('',#432,#432,#434,.T.);
#432 = VERTEX_POINT('',#433);
#433 = CARTESIAN_POINT('',(-2.,-9.,9.));
#434 = CIRCLE('',#435,2.);
#435 = AXIS2_PLACEMENT_3D('',#436,#437,#438);
#436 = CARTESIAN_POINT('',(0.,-9.,9.));
#437 = DIRECTION('',(0.,1.,-2.22044604925E-16));
#438 = DIRECTION('',(-1.,0.,0.));
#439 = PLANE('',#440);
#440 = AXIS2_PLACEMENT_3D('',#441,#442,#443);
#441 = CARTESIAN_POINT('',(2.279066887566E-16,-9.,9.));
#442 = DIRECTION('',(0.,1.,0.));
#443 = DIRECTION('',(0.,0.,1.));
#444 = ADVANCED_FACE('',(#445),#486,.F.);
#445 = FACE_BOUND('',#446,.F.);
#446 = EDGE_LOOP('',(#447,#455,#462,#463,#470,#477,#484,#485));
#447 = ORIENTED_EDGE('',*,*,#448,.F.);
#448 = EDGE_CURVE('',#449,#432,#451,.T.);
#449 = VERTEX_POINT('',#450);
#450 = CARTESIAN_POINT('',(-2.,-2.,9.));
#451 = LINE('',#452,#453);
#452 = CARTESIAN_POINT('',(-2.,-2.,9.));
#453 = VECTOR('',#454,1.);
#454 = DIRECTION('',(0.,-1.,2.22044604925E-16));
#455 = ORIENTED_EDGE('',*,*,#456,.F.);
#456 = EDGE_CURVE('',#328,#449,#457,.T.);
#457 = CIRCLE('',#458,2.);
#458 = AXIS2_PLACEMENT_3D('',#459,#460,#461);
#459 = CARTESIAN_POINT('',(0.,-2.,9.));
#460 = DIRECTION('',(0.,1.,-2.22044604925E-16));
#461 = DIRECTION('',(-1.,0.,0.));
#462 = ORIENTED_EDGE('',*,*,#335,.F.);
#463 = ORIENTED_EDGE('',*,*,#464,.F.);
#464 = EDGE_CURVE('',#385,#336,#465,.T.);
#465 = CIRCLE('',#466,2.);
#466 = AXIS2_PLACEMENT_3D('',#467,#468,#469);
#467 = CARTESIAN_POINT('',(0.,-2.,9.));
#468 = DIRECTION('',(0.,1.,-2.22044604925E-16));
#469 = DIRECTION('',(-1.,0.,0.));
#470 = ORIENTED_EDGE('',*,*,#471,.F.);
#471 = EDGE_CURVE('',#360,#385,#472,.T.);
#472 = CIRCLE('',#473,2.);
#473 = AXIS2_PLACEMENT_3D('',#474,#475,#476);
#474 = CARTESIAN_POINT('',(0.,-2.,9.));
#475 = DIRECTION('',(0.,1.,-2.22044604925E-16));
#476 = DIRECTION('',(-1.,0.,0.));
#477 = ORIENTED_EDGE('',*,*,#478,.F.);
#478 = EDGE_CURVE('',#449,#360,#479,.T.);
#479 = CIRCLE('',#480,2.);
#480 = AXIS2_PLACEMENT_3D('',#481,#482,#483);
#481 = CARTESIAN_POINT('',(0.,-2.,9.));
#482 = DIRECTION('',(0.,1.,-2.22044604925E-16));
#483 = DIRECTION('',(-1.,0.,0.));
#484 = ORIENTED_EDGE('',*,*,#448,.T.);
#485 = ORIENTED_EDGE('',*,*,#431,.T.);
#486 = CYLINDRICAL_SURFACE('',#487,2.);
#487 = AXIS2_PLACEMENT_3D('',#488,#489,#490);
#488 = CARTESIAN_POINT('',(0.,-2.,9.));
#489 = DIRECTION('',(0.,1.,-2.22044604925E-16));
#490 = DIRECTION('',(-1.,0.,0.));
#491 = ADVANCED_FACE('',(#492),#497,.F.);
#492 = FACE_BOUND('',#493,.F.);
#493 = EDGE_LOOP('',(#494,#495,#496));
#494 = ORIENTED_EDGE('',*,*,#456,.T.);
#495 = ORIENTED_EDGE('',*,*,#478,.T.);
#496 = ORIENTED_EDGE('',*,*,#359,.F.);
#497 = PLANE('',#498);
#498 = AXIS2_PLACEMENT_3D('',#499,#500,#501);
#499 = CARTESIAN_POINT('',(4.273250414186E-17,-2.,9.));
#500 = DIRECTION('',(0.,1.,-2.563950248511E-16));
#501 = DIRECTION('',(0.,2.563950248511E-16,1.));
#502 = ADVANCED_FACE('',(#503),#514,.T.);
#503 = FACE_BOUND('',#504,.T.);
#504 = EDGE_LOOP('',(#505,#506,#507,#513));
#505 = ORIENTED_EDGE('',*,*,#471,.F.);
#506 = ORIENTED_EDGE('',*,*,#367,.T.);
#507 = ORIENTED_EDGE('',*,*,#508,.T.);
#508 = EDGE_CURVE('',#368,#376,#509,.T.);
#509 = LINE('',#510,#511);
#510 = CARTESIAN_POINT('',(-1.581929201956,-2.,18.));
#511 = VECTOR('',#512,1.);
#512 = DIRECTION('',(1.,0.,0.));
#513 = ORIENTED_EDGE('',*,*,#384,.F.);
#514 = PLANE('',#515);
#515 = AXIS2_PLACEMENT_3D('',#516,#517,#518);
#516 = CARTESIAN_POINT('',(-1.581929201956,-2.,0.));
#517 = DIRECTION('',(0.,1.,0.));
#518 = DIRECTION('',(1.,0.,0.));
#519 = ADVANCED_FACE('',(#520),#524,.F.);
#520 = FACE_BOUND('',#521,.F.);
#521 = EDGE_LOOP('',(#522,#523));
#522 = ORIENTED_EDGE('',*,*,#392,.T.);
#523 = ORIENTED_EDGE('',*,*,#464,.T.);
#524 = PLANE('',#525);
#525 = AXIS2_PLACEMENT_3D('',#526,#527,#528);
#526 = CARTESIAN_POINT('',(4.273250414186E-17,-2.,9.));
#527 = DIRECTION('',(0.,1.,-2.563950248511E-16));
#528 = DIRECTION('',(0.,2.563950248511E-16,1.));
#529 = ADVANCED_FACE('',(#530),#534,.F.);
#530 = FACE_BOUND('',#531,.T.);
#531 = EDGE_LOOP('',(#532,#533));
#532 = ORIENTED_EDGE('',*,*,#375,.T.);
#533 = ORIENTED_EDGE('',*,*,#508,.F.);
#534 = PLANE('',#535);
#535 = AXIS2_PLACEMENT_3D('',#536,#537,#538);
#536 = CARTESIAN_POINT('',(2.776832757453E-16,-5.892051345584E-02,18.));
#537 = DIRECTION('',(0.,0.,1.));
#538 = DIRECTION('',(1.,0.,0.));
#539 = ADVANCED_FACE('',(#540),#560,.F.);
#540 = FACE_BOUND('',#541,.F.);
#541 = EDGE_LOOP('',(#542,#551,#558,#559));
#542 = ORIENTED_EDGE('',*,*,#543,.T.);
#543 = EDGE_CURVE('',#412,#544,#546,.T.);
#544 = VERTEX_POINT('',#545);
#545 = CARTESIAN_POINT('',(0.,-8.,39.6));
#546 = CIRCLE('',#547,1.);
#547 = AXIS2_PLACEMENT_3D('',#548,#549,#550);
#548 = CARTESIAN_POINT('',(0.,-9.,39.6));
#549 = DIRECTION('',(1.,0.,0.));
#550 = DIRECTION('',(0.,1.,0.));
#551 = ORIENTED_EDGE('',*,*,#552,.F.);
#552 = EDGE_CURVE('',#544,#544,#553,.T.);
#553 = CIRCLE('',#554,8.);
#554 = AXIS2_PLACEMENT_3D('',#555,#556,#557);
#555 = CARTESIAN_POINT('',(0.,0.,39.6));
#556 = DIRECTION('',(-0.,-0.,-1.));
#557 = DIRECTION('',(0.,-1.,0.));
#558 = ORIENTED_EDGE('',*,*,#543,.F.);
#559 = ORIENTED_EDGE('',*,*,#411,.T.);
#560 = TOROIDAL_SURFACE('',#561,9.,1.);
#561 = AXIS2_PLACEMENT_3D('',#562,#563,#564);
#562 = CARTESIAN_POINT('',(0.,0.,39.6));
#563 = DIRECTION('',(-0.,-0.,-1.));
#564 = DIRECTION('',(0.,-1.,0.));
#565 = ADVANCED_FACE('',(#566),#586,.F.);
#566 = FACE_BOUND('',#567,.F.);
#567 = EDGE_LOOP('',(#568,#577,#578,#579));
#568 = ORIENTED_EDGE('',*,*,#569,.F.);
#569 = EDGE_CURVE('',#544,#570,#572,.T.);
#570 = VERTEX_POINT('',#571);
#571 = CARTESIAN_POINT('',(0.,-1.502502139544E-03,33.6));
#572 = ELLIPSE('',#573,8.,6.000000105821);
#573 = AXIS2_PLACEMENT_3D('',#574,#575,#576);
#574 = CARTESIAN_POINT('',(0.,4.561730651331E-33,39.6));
#575 = DIRECTION('',(1.,0.,0.));
#576 = DIRECTION('',(0.,-1.,0.));
#577 = ORIENTED_EDGE('',*,*,#552,.T.);
#578 = ORIENTED_EDGE('',*,*,#569,.T.);
#579 = ORIENTED_EDGE('',*,*,#580,.F.);
#580 = EDGE_CURVE('',#570,#570,#581,.T.);
#581 = CIRCLE('',#582,1.502502139544E-03);
#582 = AXIS2_PLACEMENT_3D('',#583,#584,#585);
#583 = CARTESIAN_POINT('',(0.,0.,33.6));
#584 = DIRECTION('',(-0.,-0.,-1.));
#585 = DIRECTION('',(0.,-1.,0.));
#586 = SURFACE_OF_REVOLUTION('',#587,#592);
#587 = ELLIPSE('',#588,8.,6.000000105821);
#588 = AXIS2_PLACEMENT_3D('',#589,#590,#591);
#589 = CARTESIAN_POINT('',(0.,4.561730651331E-33,39.6));
#590 = DIRECTION('',(1.,0.,0.));
#591 = DIRECTION('',(0.,-1.,0.));
#592 = AXIS1_PLACEMENT('',#593,#594);
#593 = CARTESIAN_POINT('',(0.,0.,0.));
#594 = DIRECTION('',(-0.,-0.,-1.));
#595 = ADVANCED_FACE('',(#596),#615,.T.);
#596 = FACE_BOUND('',#597,.T.);
#597 = EDGE_LOOP('',(#598,#607,#613,#614));
#598 = ORIENTED_EDGE('',*,*,#599,.T.);
#599 = EDGE_CURVE('',#600,#600,#602,.T.);
#600 = VERTEX_POINT('',#601);
#601 = CARTESIAN_POINT('',(0.,-1.502502139542E-03,40.));
#602 = CIRCLE('',#603,1.502502139542E-03);
#603 = AXIS2_PLACEMENT_3D('',#604,#605,#606);
#604 = CARTESIAN_POINT('',(0.,0.,40.));
#605 = DIRECTION('',(-0.,-0.,-1.));
#606 = DIRECTION('',(0.,-1.,0.));
#607 = ORIENTED_EDGE('',*,*,#608,.T.);
#608 = EDGE_CURVE('',#600,#570,#609,.T.);
#609 = LINE('',#610,#611);
#610 = CARTESIAN_POINT('',(0.,-1.502502139542E-03,45.6));
#611 = VECTOR('',#612,1.);
#612 = DIRECTION('',(0.,0.,-1.));
#613 = ORIENTED_EDGE('',*,*,#580,.F.);
#614 = ORIENTED_EDGE('',*,*,#608,.F.);
#615 = CYLINDRICAL_SURFACE('',#616,1.502502139542E-03);
#616 = AXIS2_PLACEMENT_3D('',#617,#618,#619);
#617 = CARTESIAN_POINT('',(0.,0.,45.6));
#618 = DIRECTION('',(-0.,-0.,-1.));
#619 = DIRECTION('',(0.,-1.,0.));
#620 = ADVANCED_FACE('',(#621),#624,.T.);
#621 = FACE_BOUND('',#622,.T.);
#622 = EDGE_LOOP('',(#623));
#623 = ORIENTED_EDGE('',*,*,#599,.F.);
#624 = PLANE('',#625);
#625 = AXIS2_PLACEMENT_3D('',#626,#627,#628);
#626 = CARTESIAN_POINT('',(-7.458764359306E-16,-4.490371596874E-16,40.)
);
#627 = DIRECTION('',(0.,0.,1.));
#628 = DIRECTION('',(1.,0.,0.));
#629 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#633)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#630,#631,#632)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#630 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#631 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#632 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#633 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#630,
'distance_accuracy_value','confusion accuracy');
#634 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#635 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#636)
,#629);
#636 = STYLED_ITEM('color',(#637),#15);
#637 = PRESENTATION_STYLE_ASSIGNMENT((#638,#644));
#638 = SURFACE_STYLE_USAGE(.BOTH.,#639);
#639 = SURFACE_SIDE_STYLE('',(#640));
#640 = SURFACE_STYLE_FILL_AREA(#641);
#641 = FILL_AREA_STYLE('',(#642));
#642 = FILL_AREA_STYLE_COLOUR('',#643);
#643 = COLOUR_RGB('',0.668813114255,0.490523995954,0.661122442898);
#644 = CURVE_STYLE('',#645,POSITIVE_LENGTH_MEASURE(0.1),#646);
#645 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#646 = COLOUR_RGB('',9.803921802644E-02,9.803921802644E-02,
9.803921802644E-02);
ENDSEC;
END-ISO-10303-21;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,608 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
FILE_NAME('Open CASCADE Shape Model','2026-03-20T00:36:18',('Author'),(
''),'Open CASCADE STEP processor 7.8','FreeCAD','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('EiAndockerRechtsORing16x2','EiAndockerRechtsORing16x2','',
(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#548);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#50,#76,#102,#122,#142,#168,#193,#229,#254,
#437,#457,#488,#513,#539));
#17 = ADVANCED_FACE('',(#18),#45,.T.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20,#30,#37,#38));
#20 = ORIENTED_EDGE('',*,*,#21,.T.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(12.,0.,1.9));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(12.,0.,7.));
#26 = LINE('',#27,#28);
#27 = CARTESIAN_POINT('',(12.,0.,0.));
#28 = VECTOR('',#29,1.);
#29 = DIRECTION('',(0.,0.,1.));
#30 = ORIENTED_EDGE('',*,*,#31,.T.);
#31 = EDGE_CURVE('',#24,#24,#32,.T.);
#32 = CIRCLE('',#33,12.);
#33 = AXIS2_PLACEMENT_3D('',#34,#35,#36);
#34 = CARTESIAN_POINT('',(0.,0.,7.));
#35 = DIRECTION('',(0.,0.,1.));
#36 = DIRECTION('',(1.,0.,0.));
#37 = ORIENTED_EDGE('',*,*,#21,.F.);
#38 = ORIENTED_EDGE('',*,*,#39,.F.);
#39 = EDGE_CURVE('',#22,#22,#40,.T.);
#40 = CIRCLE('',#41,12.);
#41 = AXIS2_PLACEMENT_3D('',#42,#43,#44);
#42 = CARTESIAN_POINT('',(0.,0.,1.9));
#43 = DIRECTION('',(0.,0.,1.));
#44 = DIRECTION('',(1.,0.,-0.));
#45 = CYLINDRICAL_SURFACE('',#46,12.);
#46 = AXIS2_PLACEMENT_3D('',#47,#48,#49);
#47 = CARTESIAN_POINT('',(0.,0.,0.));
#48 = DIRECTION('',(-0.,-0.,-1.));
#49 = DIRECTION('',(1.,0.,0.));
#50 = ADVANCED_FACE('',(#51),#71,.T.);
#51 = FACE_BOUND('',#52,.F.);
#52 = EDGE_LOOP('',(#53,#62,#63,#64));
#53 = ORIENTED_EDGE('',*,*,#54,.F.);
#54 = EDGE_CURVE('',#22,#55,#57,.T.);
#55 = VERTEX_POINT('',#56);
#56 = CARTESIAN_POINT('',(10.1,0.,0.));
#57 = CIRCLE('',#58,1.9);
#58 = AXIS2_PLACEMENT_3D('',#59,#60,#61);
#59 = CARTESIAN_POINT('',(10.1,0.,1.9));
#60 = DIRECTION('',(-0.,1.,0.));
#61 = DIRECTION('',(1.,0.,0.));
#62 = ORIENTED_EDGE('',*,*,#39,.F.);
#63 = ORIENTED_EDGE('',*,*,#54,.T.);
#64 = ORIENTED_EDGE('',*,*,#65,.T.);
#65 = EDGE_CURVE('',#55,#55,#66,.T.);
#66 = CIRCLE('',#67,10.1);
#67 = AXIS2_PLACEMENT_3D('',#68,#69,#70);
#68 = CARTESIAN_POINT('',(0.,0.,0.));
#69 = DIRECTION('',(0.,0.,1.));
#70 = DIRECTION('',(1.,0.,-0.));
#71 = TOROIDAL_SURFACE('',#72,10.1,1.9);
#72 = AXIS2_PLACEMENT_3D('',#73,#74,#75);
#73 = CARTESIAN_POINT('',(0.,0.,1.9));
#74 = DIRECTION('',(-0.,-0.,-1.));
#75 = DIRECTION('',(1.,0.,0.));
#76 = ADVANCED_FACE('',(#77),#97,.T.);
#77 = FACE_BOUND('',#78,.F.);
#78 = EDGE_LOOP('',(#79,#88,#95,#96));
#79 = ORIENTED_EDGE('',*,*,#80,.F.);
#80 = EDGE_CURVE('',#81,#24,#83,.T.);
#81 = VERTEX_POINT('',#82);
#82 = CARTESIAN_POINT('',(10.,0.,9.));
#83 = CIRCLE('',#84,2.);
#84 = AXIS2_PLACEMENT_3D('',#85,#86,#87);
#85 = CARTESIAN_POINT('',(10.,0.,7.));
#86 = DIRECTION('',(-0.,1.,0.));
#87 = DIRECTION('',(1.,0.,0.));
#88 = ORIENTED_EDGE('',*,*,#89,.F.);
#89 = EDGE_CURVE('',#81,#81,#90,.T.);
#90 = CIRCLE('',#91,10.);
#91 = AXIS2_PLACEMENT_3D('',#92,#93,#94);
#92 = CARTESIAN_POINT('',(0.,0.,9.));
#93 = DIRECTION('',(0.,0.,1.));
#94 = DIRECTION('',(1.,0.,0.));
#95 = ORIENTED_EDGE('',*,*,#80,.T.);
#96 = ORIENTED_EDGE('',*,*,#31,.T.);
#97 = TOROIDAL_SURFACE('',#98,10.,2.);
#98 = AXIS2_PLACEMENT_3D('',#99,#100,#101);
#99 = CARTESIAN_POINT('',(0.,0.,7.));
#100 = DIRECTION('',(-0.,-0.,-1.));
#101 = DIRECTION('',(1.,0.,0.));
#102 = ADVANCED_FACE('',(#103,#106),#117,.F.);
#103 = FACE_BOUND('',#104,.F.);
#104 = EDGE_LOOP('',(#105));
#105 = ORIENTED_EDGE('',*,*,#65,.T.);
#106 = FACE_BOUND('',#107,.F.);
#107 = EDGE_LOOP('',(#108));
#108 = ORIENTED_EDGE('',*,*,#109,.F.);
#109 = EDGE_CURVE('',#110,#110,#112,.T.);
#110 = VERTEX_POINT('',#111);
#111 = CARTESIAN_POINT('',(0.,9.916515138991,0.));
#112 = CIRCLE('',#113,9.916515138991);
#113 = AXIS2_PLACEMENT_3D('',#114,#115,#116);
#114 = CARTESIAN_POINT('',(0.,0.,0.));
#115 = DIRECTION('',(0.,-0.,1.));
#116 = DIRECTION('',(0.,1.,0.));
#117 = PLANE('',#118);
#118 = AXIS2_PLACEMENT_3D('',#119,#120,#121);
#119 = CARTESIAN_POINT('',(-9.1E-16,-3.E-17,0.));
#120 = DIRECTION('',(0.,0.,1.));
#121 = DIRECTION('',(1.,0.,0.));
#122 = ADVANCED_FACE('',(#123,#126),#137,.T.);
#123 = FACE_BOUND('',#124,.T.);
#124 = EDGE_LOOP('',(#125));
#125 = ORIENTED_EDGE('',*,*,#89,.T.);
#126 = FACE_BOUND('',#127,.T.);
#127 = EDGE_LOOP('',(#128));
#128 = ORIENTED_EDGE('',*,*,#129,.F.);
#129 = EDGE_CURVE('',#130,#130,#132,.T.);
#130 = VERTEX_POINT('',#131);
#131 = CARTESIAN_POINT('',(7.5,0.,9.));
#132 = CIRCLE('',#133,7.5);
#133 = AXIS2_PLACEMENT_3D('',#134,#135,#136);
#134 = CARTESIAN_POINT('',(0.,0.,9.));
#135 = DIRECTION('',(0.,0.,1.));
#136 = DIRECTION('',(1.,0.,0.));
#137 = PLANE('',#138);
#138 = AXIS2_PLACEMENT_3D('',#139,#140,#141);
#139 = CARTESIAN_POINT('',(-9.1E-16,-3.E-17,9.));
#140 = DIRECTION('',(0.,0.,1.));
#141 = DIRECTION('',(1.,0.,0.));
#142 = ADVANCED_FACE('',(#143),#163,.F.);
#143 = FACE_BOUND('',#144,.F.);
#144 = EDGE_LOOP('',(#145,#154,#161,#162));
#145 = ORIENTED_EDGE('',*,*,#146,.T.);
#146 = EDGE_CURVE('',#110,#147,#149,.T.);
#147 = VERTEX_POINT('',#148);
#148 = CARTESIAN_POINT('',(0.,10.,0.4));
#149 = CIRCLE('',#150,1.);
#150 = AXIS2_PLACEMENT_3D('',#151,#152,#153);
#151 = CARTESIAN_POINT('',(0.,9.,0.4));
#152 = DIRECTION('',(1.,0.,0.));
#153 = DIRECTION('',(0.,1.,0.));
#154 = ORIENTED_EDGE('',*,*,#155,.F.);
#155 = EDGE_CURVE('',#147,#147,#156,.T.);
#156 = CIRCLE('',#157,10.);
#157 = AXIS2_PLACEMENT_3D('',#158,#159,#160);
#158 = CARTESIAN_POINT('',(0.,0.,0.4));
#159 = DIRECTION('',(0.,-0.,1.));
#160 = DIRECTION('',(0.,1.,0.));
#161 = ORIENTED_EDGE('',*,*,#146,.F.);
#162 = ORIENTED_EDGE('',*,*,#109,.T.);
#163 = TOROIDAL_SURFACE('',#164,9.,1.);
#164 = AXIS2_PLACEMENT_3D('',#165,#166,#167);
#165 = CARTESIAN_POINT('',(0.,0.,0.4));
#166 = DIRECTION('',(0.,0.,1.));
#167 = DIRECTION('',(0.,1.,0.));
#168 = ADVANCED_FACE('',(#169),#188,.T.);
#169 = FACE_BOUND('',#170,.F.);
#170 = EDGE_LOOP('',(#171,#179,#186,#187));
#171 = ORIENTED_EDGE('',*,*,#172,.T.);
#172 = EDGE_CURVE('',#130,#173,#175,.T.);
#173 = VERTEX_POINT('',#174);
#174 = CARTESIAN_POINT('',(7.5,0.,9.1));
#175 = LINE('',#176,#177);
#176 = CARTESIAN_POINT('',(7.5,0.,9.));
#177 = VECTOR('',#178,1.);
#178 = DIRECTION('',(0.,0.,1.));
#179 = ORIENTED_EDGE('',*,*,#180,.T.);
#180 = EDGE_CURVE('',#173,#173,#181,.T.);
#181 = CIRCLE('',#182,7.5);
#182 = AXIS2_PLACEMENT_3D('',#183,#184,#185);
#183 = CARTESIAN_POINT('',(0.,0.,9.1));
#184 = DIRECTION('',(0.,0.,1.));
#185 = DIRECTION('',(1.,0.,0.));
#186 = ORIENTED_EDGE('',*,*,#172,.F.);
#187 = ORIENTED_EDGE('',*,*,#129,.F.);
#188 = CYLINDRICAL_SURFACE('',#189,7.5);
#189 = AXIS2_PLACEMENT_3D('',#190,#191,#192);
#190 = CARTESIAN_POINT('',(0.,0.,9.));
#191 = DIRECTION('',(-0.,-0.,-1.));
#192 = DIRECTION('',(1.,0.,0.));
#193 = ADVANCED_FACE('',(#194),#224,.F.);
#194 = FACE_BOUND('',#195,.F.);
#195 = EDGE_LOOP('',(#196,#205,#206,#207,#216,#223));
#196 = ORIENTED_EDGE('',*,*,#197,.F.);
#197 = EDGE_CURVE('',#147,#198,#200,.T.);
#198 = VERTEX_POINT('',#199);
#199 = CARTESIAN_POINT('',(0.,8.,0.400000001205));
#200 = CIRCLE('',#201,1.);
#201 = AXIS2_PLACEMENT_3D('',#202,#203,#204);
#202 = CARTESIAN_POINT('',(0.,9.,0.4));
#203 = DIRECTION('',(1.,0.,0.));
#204 = DIRECTION('',(0.,1.,0.));
#205 = ORIENTED_EDGE('',*,*,#155,.T.);
#206 = ORIENTED_EDGE('',*,*,#197,.T.);
#207 = ORIENTED_EDGE('',*,*,#208,.T.);
#208 = EDGE_CURVE('',#198,#209,#211,.T.);
#209 = VERTEX_POINT('',#210);
#210 = CARTESIAN_POINT('',(0.,8.083484861009,0.));
#211 = CIRCLE('',#212,1.);
#212 = AXIS2_PLACEMENT_3D('',#213,#214,#215);
#213 = CARTESIAN_POINT('',(0.,9.,0.4));
#214 = DIRECTION('',(1.,0.,0.));
#215 = DIRECTION('',(0.,1.,0.));
#216 = ORIENTED_EDGE('',*,*,#217,.F.);
#217 = EDGE_CURVE('',#209,#209,#218,.T.);
#218 = CIRCLE('',#219,8.083484861009);
#219 = AXIS2_PLACEMENT_3D('',#220,#221,#222);
#220 = CARTESIAN_POINT('',(0.,0.,0.));
#221 = DIRECTION('',(0.,-0.,1.));
#222 = DIRECTION('',(0.,1.,0.));
#223 = ORIENTED_EDGE('',*,*,#208,.F.);
#224 = TOROIDAL_SURFACE('',#225,9.,1.);
#225 = AXIS2_PLACEMENT_3D('',#226,#227,#228);
#226 = CARTESIAN_POINT('',(0.,0.,0.4));
#227 = DIRECTION('',(0.,0.,1.));
#228 = DIRECTION('',(0.,1.,0.));
#229 = ADVANCED_FACE('',(#230),#249,.T.);
#230 = FACE_BOUND('',#231,.F.);
#231 = EDGE_LOOP('',(#232,#240,#247,#248));
#232 = ORIENTED_EDGE('',*,*,#233,.F.);
#233 = EDGE_CURVE('',#234,#173,#236,.T.);
#234 = VERTEX_POINT('',#235);
#235 = CARTESIAN_POINT('',(6.,0.,10.6));
#236 = LINE('',#237,#238);
#237 = CARTESIAN_POINT('',(7.5,0.,9.1));
#238 = VECTOR('',#239,1.);
#239 = DIRECTION('',(0.707106781187,0.,-0.707106781187));
#240 = ORIENTED_EDGE('',*,*,#241,.T.);
#241 = EDGE_CURVE('',#234,#234,#242,.T.);
#242 = CIRCLE('',#243,6.);
#243 = AXIS2_PLACEMENT_3D('',#244,#245,#246);
#244 = CARTESIAN_POINT('',(0.,0.,10.6));
#245 = DIRECTION('',(0.,0.,1.));
#246 = DIRECTION('',(1.,0.,0.));
#247 = ORIENTED_EDGE('',*,*,#233,.T.);
#248 = ORIENTED_EDGE('',*,*,#180,.F.);
#249 = CONICAL_SURFACE('',#250,7.5,0.785398163397);
#250 = AXIS2_PLACEMENT_3D('',#251,#252,#253);
#251 = CARTESIAN_POINT('',(0.,0.,9.1));
#252 = DIRECTION('',(-0.,-0.,-1.));
#253 = DIRECTION('',(1.,0.,0.));
#254 = ADVANCED_FACE('',(#255,#258),#432,.F.);
#255 = FACE_BOUND('',#256,.F.);
#256 = EDGE_LOOP('',(#257));
#257 = ORIENTED_EDGE('',*,*,#217,.T.);
#258 = FACE_BOUND('',#259,.F.);
#259 = EDGE_LOOP('',(#260));
#260 = ORIENTED_EDGE('',*,*,#261,.T.);
#261 = EDGE_CURVE('',#262,#262,#264,.T.);
#262 = VERTEX_POINT('',#263);
#263 = CARTESIAN_POINT('',(0.,7.959899496853,-1.E-15));
#264 = B_SPLINE_CURVE_WITH_KNOTS('',6,(#265,#266,#267,#268,#269,#270,
#271,#272,#273,#274,#275,#276,#277,#278,#279,#280,#281,#282,#283,
#284,#285,#286,#287,#288,#289,#290,#291,#292,#293,#294,#295,#296,
#297,#298,#299,#300,#301,#302,#303,#304,#305,#306,#307,#308,#309,
#310,#311,#312,#313,#314,#315,#316,#317,#318,#319,#320,#321,#322,
#323,#324,#325,#326,#327,#328,#329,#330,#331,#332,#333,#334,#335,
#336,#337,#338,#339,#340,#341,#342,#343,#344,#345,#346,#347,#348,
#349,#350,#351,#352,#353,#354,#355,#356,#357,#358,#359,#360,#361,
#362,#363,#364,#365,#366,#367,#368,#369,#370,#371,#372,#373,#374,
#375,#376,#377,#378,#379,#380,#381,#382,#383,#384,#385,#386,#387,
#388,#389,#390,#391,#392,#393,#394,#395,#396,#397,#398,#399,#400,
#401,#402,#403,#404,#405,#406,#407,#408,#409,#410,#411,#412,#413,
#414,#415,#416,#417,#418,#419,#420,#421,#422,#423,#424,#425,#426,
#427,#428,#429,#430,#431),.UNSPECIFIED.,.T.,.F.,(7,5,5,5,5,5,5,5,5,5
,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7),(0.,
1.900049665728E-02,4.200109787471E-02,6.400167295201E-02,
9.300243101292E-02,0.108002823111,0.132003450468,0.161004208529,
0.185004835887,0.214005593948,0.237006195165,0.266006953226,
0.295007711287,0.319008338645,0.347009070565,0.374009776344,
0.403010534405,0.420010978782,0.442011553859,0.462012076656,
0.486012704014,0.516013488216,0.545014246277,0.573014978197,
0.602015736258,0.627016389756,0.648016938693,0.66801746149,
0.691018062708,0.803003200132,0.8520044812,0.876005108557,
0.904005840477,1.),.UNSPECIFIED.);
#265 = CARTESIAN_POINT('',(1.75E-15,7.959899496853,0.));
#266 = CARTESIAN_POINT('',(0.158376135629,7.959899497669,0.));
#267 = CARTESIAN_POINT('',(0.316752351616,7.956118089688,0.));
#268 = CARTESIAN_POINT('',(0.475015617318,7.948555279547,0.));
#269 = CARTESIAN_POINT('',(0.633053169985,7.937215556685,0.));
#270 = CARTESIAN_POINT('',(0.790752514768,7.922107893339,0.));
#271 = CARTESIAN_POINT('',(1.138355338001,7.880412624282,0.));
#272 = CARTESIAN_POINT('',(1.328049519396,7.852077734661,0.));
#273 = CARTESIAN_POINT('',(1.516884753828,7.81826499274,0.));
#274 = CARTESIAN_POINT('',(1.704663662893,7.779007782072,0.));
#275 = CARTESIAN_POINT('',(1.891190704861,7.734348952714,0.));
#276 = CARTESIAN_POINT('',(2.253306633934,7.63650695822,0.));
#277 = CARTESIAN_POINT('',(2.429018836525,7.583778745675,0.));
#278 = CARTESIAN_POINT('',(2.603239302083,7.526201992934,0.));
#279 = CARTESIAN_POINT('',(2.775801188964,7.463830138133,0.));
#280 = CARTESIAN_POINT('',(2.946540294248,7.396724248196,0.));
#281 = CARTESIAN_POINT('',(3.337744400845,7.23034554941,0.));
#282 = CARTESIAN_POINT('',(3.556746610884,7.127631172373,0.));
#283 = CARTESIAN_POINT('',(3.771931109825,7.016967583615,0.));
#284 = CARTESIAN_POINT('',(3.982938862859,6.898533945567,0.));
#285 = CARTESIAN_POINT('',(4.189422374394,6.772530887207,0.));
#286 = CARTESIAN_POINT('',(4.495333685936,6.570206123623,0.));
#287 = CARTESIAN_POINT('',(4.598321567445,6.4992659464,0.));
#288 = CARTESIAN_POINT('',(4.699962971259,6.426390636936,0.));
#289 = CARTESIAN_POINT('',(4.800212565896,6.351612267911,0.));
#290 = CARTESIAN_POINT('',(4.899026049716,6.274964320139,0.));
#291 = CARTESIAN_POINT('',(5.152094667792,6.07090950342,0.));
#292 = CARTESIAN_POINT('',(5.304042208553,5.940640308207,0.));
#293 = CARTESIAN_POINT('',(5.45202528765,5.805817242063,0.));
#294 = CARTESIAN_POINT('',(5.595874245688,5.666591784137,0.));
#295 = CARTESIAN_POINT('',(5.735427249427,5.523123747585,0.));
#296 = CARTESIAN_POINT('',(6.033779745648,5.197300879326,0.));
#297 = CARTESIAN_POINT('',(6.190532634937,5.013070743487,0.));
#298 = CARTESIAN_POINT('',(6.340517043336,4.823187948851,0.));
#299 = CARTESIAN_POINT('',(6.483480451658,4.627964327476,0.));
#300 = CARTESIAN_POINT('',(6.619189737838,4.42772646668,0.));
#301 = CARTESIAN_POINT('',(6.853562076147,4.05323432989,0.));
#302 = CARTESIAN_POINT('',(6.954578645737,3.880451891451,0.));
#303 = CARTESIAN_POINT('',(7.050359943099,3.704661692808,0.));
#304 = CARTESIAN_POINT('',(7.140795146125,3.526062350936,0.));
#305 = CARTESIAN_POINT('',(7.225783553202,3.344857800697,0.));
#306 = CARTESIAN_POINT('',(7.401237885347,2.939406779224,0.));
#307 = CARTESIAN_POINT('',(7.489156626833,2.714057037385,0.));
#308 = CARTESIAN_POINT('',(7.56883094046,2.485577711821,0.));
#309 = CARTESIAN_POINT('',(7.640124113834,2.254346048998,0.));
#310 = CARTESIAN_POINT('',(7.702922589384,2.020746899341,0.));
#311 = CARTESIAN_POINT('',(7.800132809305,1.598337937264,0.));
#312 = CARTESIAN_POINT('',(7.837729669059,1.410260228425,0.));
#313 = CARTESIAN_POINT('',(7.86988156502,1.221135129971,0.));
#314 = CARTESIAN_POINT('',(7.896553047583,1.031159659721,0.));
#315 = CARTESIAN_POINT('',(7.917718196142,0.840532314065,0.));
#316 = CARTESIAN_POINT('',(7.953083678491,0.408527174328,0.));
#317 = CARTESIAN_POINT('',(7.964026809915,0.166881857539,0.));
#318 = CARTESIAN_POINT('',(7.96615723779,-7.508148625279E-02,0.));
#319 = CARTESIAN_POINT('',(7.959466556881,-0.316961690591,0.));
#320 = CARTESIAN_POINT('',(7.943970732293,-0.558357818713,0.));
#321 = CARTESIAN_POINT('',(7.895449487125,-1.039380510448,0.));
#322 = CARTESIAN_POINT('',(7.862423933096,-1.27900839704,0.));
#323 = CARTESIAN_POINT('',(7.820673939692,-1.517352133087,0.));
#324 = CARTESIAN_POINT('',(7.770263934502,-1.754015670283,0.));
#325 = CARTESIAN_POINT('',(7.71128227038,-1.988607602261,0.));
#326 = CARTESIAN_POINT('',(7.588027935622,-2.412851780118,0.));
#327 = CARTESIAN_POINT('',(7.526420639738,-2.603279350229,0.));
#328 = CARTESIAN_POINT('',(7.459082978329,-2.791804919369,0.));
#329 = CARTESIAN_POINT('',(7.38608929913,-2.978213539503,0.));
#330 = CARTESIAN_POINT('',(7.307524657077,-3.162294270118,0.));
#331 = CARTESIAN_POINT('',(7.125438372101,-3.555643678098,0.));
#332 = CARTESIAN_POINT('',(7.019939177843,-3.76399782198,0.));
#333 = CARTESIAN_POINT('',(6.907139533304,-3.96857376379,0.));
#334 = CARTESIAN_POINT('',(6.787210104706,-4.16905320895,0.));
#335 = CARTESIAN_POINT('',(6.66033992272,-4.365128414381,0.));
#336 = CARTESIAN_POINT('',(6.39790439774,-4.741041209999,0.));
#337 = CARTESIAN_POINT('',(6.262810860483,-4.921209429162,0.));
#338 = CARTESIAN_POINT('',(6.12164178035,-5.096740501076,0.));
#339 = CARTESIAN_POINT('',(5.974597240315,-5.267379797952,0.));
#340 = CARTESIAN_POINT('',(5.821891396666,-5.432884409128,0.));
#341 = CARTESIAN_POINT('',(5.493899612152,-5.765023980942,0.));
#342 = CARTESIAN_POINT('',(5.317778109013,-5.930835402093,0.));
#343 = CARTESIAN_POINT('',(5.135671008924,-6.090170905226,0.));
#344 = CARTESIAN_POINT('',(4.94787706243,-6.242762622309,0.));
#345 = CARTESIAN_POINT('',(4.754710731296,-6.388361316561,0.));
#346 = CARTESIAN_POINT('',(4.440310899176,-6.607852860349,0.));
#347 = CARTESIAN_POINT('',(4.32238669345,-6.686487188298,0.));
#348 = CARTESIAN_POINT('',(4.202795938003,-6.762593037977,0.));
#349 = CARTESIAN_POINT('',(4.08160651871,-6.836126525555,0.));
#350 = CARTESIAN_POINT('',(3.958887840648,-6.907046211699,0.));
#351 = CARTESIAN_POINT('',(3.67401119217,-7.063658476263,0.));
#352 = CARTESIAN_POINT('',(3.51086900792,-7.1475612191,0.));
#353 = CARTESIAN_POINT('',(3.345438129381,-7.226936766351,0.));
#354 = CARTESIAN_POINT('',(3.177875801637,-7.301707879731,0.));
#355 = CARTESIAN_POINT('',(3.008342660805,-7.371804646398,0.));
#356 = CARTESIAN_POINT('',(2.681239152791,-7.496582516025,0.));
#357 = CARTESIAN_POINT('',(2.523982134607,-7.552085819632,0.));
#358 = CARTESIAN_POINT('',(2.365354878931,-7.603627403417,0.));
#359 = CARTESIAN_POINT('',(2.205482222939,-7.651165545667,0.));
#360 = CARTESIAN_POINT('',(2.044490641548,-7.694663789319,0.));
#361 = CARTESIAN_POINT('',(1.688129411634,-7.781403520843,0.));
#362 = CARTESIAN_POINT('',(1.492323407707,-7.822853818679,0.));
#363 = CARTESIAN_POINT('',(1.295311790344,-7.858387935907,0.));
#364 = CARTESIAN_POINT('',(1.09731797362,-7.887963253361,0.));
#365 = CARTESIAN_POINT('',(0.898567230977,-7.911548432262,0.));
#366 = CARTESIAN_POINT('',(0.450186155614,-7.951092147012,0.));
#367 = CARTESIAN_POINT('',(0.200256625253,-7.963670023027,0.));
#368 = CARTESIAN_POINT('',(-5.005765232589E-02,-7.966817966631,0.));
#369 = CARTESIAN_POINT('',(-0.300312608957,-7.96052481238,0.));
#370 = CARTESIAN_POINT('',(-0.550064351841,-7.944807305014,0.));
#371 = CARTESIAN_POINT('',(-1.039380510447,-7.895449487125,0.));
#372 = CARTESIAN_POINT('',(-1.27900839704,-7.862423933096,0.));
#373 = CARTESIAN_POINT('',(-1.517352133087,-7.820673939692,0.));
#374 = CARTESIAN_POINT('',(-1.754015670283,-7.770263934502,0.));
#375 = CARTESIAN_POINT('',(-1.988607602261,-7.71128227038,0.));
#376 = CARTESIAN_POINT('',(-2.444870148825,-7.578725744846,0.));
#377 = CARTESIAN_POINT('',(-2.666708515307,-7.505723906384,0.));
#378 = CARTESIAN_POINT('',(-2.885908270162,-7.424936882384,0.));
#379 = CARTESIAN_POINT('',(-3.102129092468,-7.336485586311,0.));
#380 = CARTESIAN_POINT('',(-3.315038334248,-7.240510672782,0.));
#381 = CARTESIAN_POINT('',(-3.741057717922,-7.030143782343,0.));
#382 = CARTESIAN_POINT('',(-3.953904597841,-6.915215905132,0.));
#383 = CARTESIAN_POINT('',(-4.162490591287,-6.792567294051,0.));
#384 = CARTESIAN_POINT('',(-4.366467363345,-6.662397117274,0.));
#385 = CARTESIAN_POINT('',(-4.565499313135,-6.524925323022,0.));
#386 = CARTESIAN_POINT('',(-4.926301794497,-6.255795466567,0.));
#387 = CARTESIAN_POINT('',(-5.08942592189,-6.125950428497,0.));
#388 = CARTESIAN_POINT('',(-5.248429351289,-5.991011678914,0.));
#389 = CARTESIAN_POINT('',(-5.403114347759,-5.851143496091,0.));
#390 = CARTESIAN_POINT('',(-5.553292046128,-5.706520283009,0.));
#391 = CARTESIAN_POINT('',(-5.820994420566,-5.432003823187,0.));
#392 = CARTESIAN_POINT('',(-5.939899288526,-5.303455881577,0.));
#393 = CARTESIAN_POINT('',(-6.055390477644,-5.171792049896,0.));
#394 = CARTESIAN_POINT('',(-6.167366506686,-5.037125987889,0.));
#395 = CARTESIAN_POINT('',(-6.275730990412,-4.899575707687,0.));
#396 = CARTESIAN_POINT('',(-6.480070406405,-4.625632966639,0.));
#397 = CARTESIAN_POINT('',(-6.576389727827,-4.489497097743,0.));
#398 = CARTESIAN_POINT('',(-6.669271774128,-4.350961663368,0.));
#399 = CARTESIAN_POINT('',(-6.758642333318,-4.210135372312,0.));
#400 = CARTESIAN_POINT('',(-6.844431811118,-4.067129945918,0.));
#401 = CARTESIAN_POINT('',(-7.021040154892,-3.755229839557,0.));
#402 = CARTESIAN_POINT('',(-7.110683334025,-3.585669086845,0.));
#403 = CARTESIAN_POINT('',(-7.195405922937,-3.413552468801,0.));
#404 = CARTESIAN_POINT('',(-7.275117788537,-3.239058727476,0.));
#405 = CARTESIAN_POINT('',(-7.349737510064,-3.062370738114,0.));
#406 = CARTESIAN_POINT('',(-7.757352875972,-2.013649693212,0.));
#407 = CARTESIAN_POINT('',(-7.973282061516,-1.095508224133,0.));
#408 = CARTESIAN_POINT('',(-8.057895117922,-0.151905736054,0.));
#409 = CARTESIAN_POINT('',(-8.008906731552,0.794215378184,0.));
#410 = CARTESIAN_POINT('',(-7.827735889287,1.719842893081,0.));
#411 = CARTESIAN_POINT('',(-7.389092770737,2.987998676376,0.));
#412 = CARTESIAN_POINT('',(-7.231806238386,3.3657885693,0.));
#413 = CARTESIAN_POINT('',(-7.05138858479,3.733518071333,0.));
#414 = CARTESIAN_POINT('',(-6.848656421229,4.089432648516,0.));
#415 = CARTESIAN_POINT('',(-6.624601885028,4.431870703153,0.));
#416 = CARTESIAN_POINT('',(-6.260779345283,4.919620275415,0.));
#417 = CARTESIAN_POINT('',(-6.136329640465,5.076369723055,0.));
#418 = CARTESIAN_POINT('',(-6.007179879082,5.229329162117,0.));
#419 = CARTESIAN_POINT('',(-5.873475038158,5.378323344476,0.));
#420 = CARTESIAN_POINT('',(-5.735368717774,5.523184528493,0.));
#421 = CARTESIAN_POINT('',(-5.426953360878,5.827748379869,0.));
#422 = CARTESIAN_POINT('',(-5.255112824258,5.985901341385,0.));
#423 = CARTESIAN_POINT('',(-5.07775944125,6.137956769802,0.));
#424 = CARTESIAN_POINT('',(-4.895164622458,6.283676390738,0.));
#425 = CARTESIAN_POINT('',(-4.707613279045,6.422838249183,0.));
#426 = CARTESIAN_POINT('',(-3.856458223064,7.009134450453,0.));
#427 = CARTESIAN_POINT('',(-3.142544053826,7.383692786948,0.));
#428 = CARTESIAN_POINT('',(-2.386074209915,7.670231393488,0.));
#429 = CARTESIAN_POINT('',(-1.600552180122,7.863379363923,0.));
#430 = CARTESIAN_POINT('',(-0.800145275911,7.959899704658,0.));
#431 = CARTESIAN_POINT('',(-2.E-17,7.959899496853,0.));
#432 = PLANE('',#433);
#433 = AXIS2_PLACEMENT_3D('',#434,#435,#436);
#434 = CARTESIAN_POINT('',(-9.1E-16,-3.E-17,0.));
#435 = DIRECTION('',(0.,0.,1.));
#436 = DIRECTION('',(1.,0.,0.));
#437 = ADVANCED_FACE('',(#438,#441),#452,.T.);
#438 = FACE_BOUND('',#439,.T.);
#439 = EDGE_LOOP('',(#440));
#440 = ORIENTED_EDGE('',*,*,#241,.T.);
#441 = FACE_BOUND('',#442,.T.);
#442 = EDGE_LOOP('',(#443));
#443 = ORIENTED_EDGE('',*,*,#444,.F.);
#444 = EDGE_CURVE('',#445,#445,#447,.T.);
#445 = VERTEX_POINT('',#446);
#446 = CARTESIAN_POINT('',(3.95,0.,10.6));
#447 = CIRCLE('',#448,3.95);
#448 = AXIS2_PLACEMENT_3D('',#449,#450,#451);
#449 = CARTESIAN_POINT('',(0.,0.,10.6));
#450 = DIRECTION('',(0.,0.,1.));
#451 = DIRECTION('',(1.,0.,0.));
#452 = PLANE('',#453);
#453 = AXIS2_PLACEMENT_3D('',#454,#455,#456);
#454 = CARTESIAN_POINT('',(-3.6E-16,6.E-17,10.6));
#455 = DIRECTION('',(0.,0.,1.));
#456 = DIRECTION('',(1.,0.,0.));
#457 = ADVANCED_FACE('',(#458),#479,.F.);
#458 = FACE_BOUND('',#459,.F.);
#459 = EDGE_LOOP('',(#460,#461,#468,#477,#478));
#460 = ORIENTED_EDGE('',*,*,#261,.F.);
#461 = ORIENTED_EDGE('',*,*,#462,.T.);
#462 = EDGE_CURVE('',#262,#198,#463,.T.);
#463 = ELLIPSE('',#464,8.,4.);
#464 = AXIS2_PLACEMENT_3D('',#465,#466,#467);
#465 = CARTESIAN_POINT('',(0.,0.,0.4));
#466 = DIRECTION('',(1.,0.,-0.));
#467 = DIRECTION('',(0.,1.,4.7E-16));
#468 = ORIENTED_EDGE('',*,*,#469,.T.);
#469 = EDGE_CURVE('',#198,#470,#472,.T.);
#470 = VERTEX_POINT('',#471);
#471 = CARTESIAN_POINT('',(0.,-1.13E-13,4.4));
#472 = ELLIPSE('',#473,8.,4.);
#473 = AXIS2_PLACEMENT_3D('',#474,#475,#476);
#474 = CARTESIAN_POINT('',(0.,0.,0.4));
#475 = DIRECTION('',(1.,0.,-0.));
#476 = DIRECTION('',(0.,1.,4.7E-16));
#477 = ORIENTED_EDGE('',*,*,#469,.F.);
#478 = ORIENTED_EDGE('',*,*,#462,.F.);
#479 = SURFACE_OF_REVOLUTION('',#480,#485);
#480 = ELLIPSE('',#481,8.,4.);
#481 = AXIS2_PLACEMENT_3D('',#482,#483,#484);
#482 = CARTESIAN_POINT('',(0.,0.,0.4));
#483 = DIRECTION('',(1.,0.,-0.));
#484 = DIRECTION('',(0.,1.,4.7E-16));
#485 = AXIS1_PLACEMENT('',#486,#487);
#486 = CARTESIAN_POINT('',(0.,0.,0.));
#487 = DIRECTION('',(0.,0.,1.));
#488 = ADVANCED_FACE('',(#489),#508,.T.);
#489 = FACE_BOUND('',#490,.F.);
#490 = EDGE_LOOP('',(#491,#499,#506,#507));
#491 = ORIENTED_EDGE('',*,*,#492,.T.);
#492 = EDGE_CURVE('',#445,#493,#495,.T.);
#493 = VERTEX_POINT('',#494);
#494 = CARTESIAN_POINT('',(3.95,0.,17.6));
#495 = LINE('',#496,#497);
#496 = CARTESIAN_POINT('',(3.95,0.,10.6));
#497 = VECTOR('',#498,1.);
#498 = DIRECTION('',(0.,0.,1.));
#499 = ORIENTED_EDGE('',*,*,#500,.T.);
#500 = EDGE_CURVE('',#493,#493,#501,.T.);
#501 = CIRCLE('',#502,3.95);
#502 = AXIS2_PLACEMENT_3D('',#503,#504,#505);
#503 = CARTESIAN_POINT('',(0.,0.,17.6));
#504 = DIRECTION('',(0.,0.,1.));
#505 = DIRECTION('',(1.,0.,0.));
#506 = ORIENTED_EDGE('',*,*,#492,.F.);
#507 = ORIENTED_EDGE('',*,*,#444,.F.);
#508 = CYLINDRICAL_SURFACE('',#509,3.95);
#509 = AXIS2_PLACEMENT_3D('',#510,#511,#512);
#510 = CARTESIAN_POINT('',(0.,0.,10.6));
#511 = DIRECTION('',(-0.,-0.,-1.));
#512 = DIRECTION('',(1.,0.,0.));
#513 = ADVANCED_FACE('',(#514),#534,.T.);
#514 = FACE_BOUND('',#515,.T.);
#515 = EDGE_LOOP('',(#516,#525,#526,#527));
#516 = ORIENTED_EDGE('',*,*,#517,.F.);
#517 = EDGE_CURVE('',#493,#518,#520,.T.);
#518 = VERTEX_POINT('',#519);
#519 = CARTESIAN_POINT('',(2.95,0.,18.6));
#520 = CIRCLE('',#521,1.);
#521 = AXIS2_PLACEMENT_3D('',#522,#523,#524);
#522 = CARTESIAN_POINT('',(2.95,0.,17.6));
#523 = DIRECTION('',(0.,-1.,0.));
#524 = DIRECTION('',(1.,0.,0.));
#525 = ORIENTED_EDGE('',*,*,#500,.T.);
#526 = ORIENTED_EDGE('',*,*,#517,.T.);
#527 = ORIENTED_EDGE('',*,*,#528,.F.);
#528 = EDGE_CURVE('',#518,#518,#529,.T.);
#529 = CIRCLE('',#530,2.95);
#530 = AXIS2_PLACEMENT_3D('',#531,#532,#533);
#531 = CARTESIAN_POINT('',(0.,0.,18.6));
#532 = DIRECTION('',(0.,0.,1.));
#533 = DIRECTION('',(1.,0.,0.));
#534 = TOROIDAL_SURFACE('',#535,2.95,1.);
#535 = AXIS2_PLACEMENT_3D('',#536,#537,#538);
#536 = CARTESIAN_POINT('',(0.,0.,17.6));
#537 = DIRECTION('',(0.,0.,1.));
#538 = DIRECTION('',(1.,0.,0.));
#539 = ADVANCED_FACE('',(#540),#543,.T.);
#540 = FACE_BOUND('',#541,.T.);
#541 = EDGE_LOOP('',(#542));
#542 = ORIENTED_EDGE('',*,*,#528,.T.);
#543 = PLANE('',#544);
#544 = AXIS2_PLACEMENT_3D('',#545,#546,#547);
#545 = CARTESIAN_POINT('',(-3.5E-16,1.E-17,18.6));
#546 = DIRECTION('',(0.,0.,1.));
#547 = DIRECTION('',(1.,0.,0.));
#548 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#552)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#549,#550,#551)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#549 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#550 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#551 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#552 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.E-07),#549,
'distance_accuracy_value','confusion accuracy');
#553 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#554 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#555)
,#548);
#555 = STYLED_ITEM('color',(#556),#15);
#556 = PRESENTATION_STYLE_ASSIGNMENT((#557,#563));
#557 = SURFACE_STYLE_USAGE(.BOTH.,#558);
#558 = SURFACE_SIDE_STYLE('',(#559));
#559 = SURFACE_STYLE_FILL_AREA(#560);
#560 = FILL_AREA_STYLE('',(#561));
#561 = FILL_AREA_STYLE_COLOUR('',#562);
#562 = COLOUR_RGB('',0.650980421574,0.411764706019,0.956862747054);
#563 = CURVE_STYLE('',#564,POSITIVE_LENGTH_MEASURE(0.1),#565);
#564 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#565 = COLOUR_RGB('',9.803921802644E-02,9.803921802644E-02,
9.803921802644E-02);
ENDSEC;
END-ISO-10303-21;

File diff suppressed because it is too large Load Diff

BIN
CAD/Zusatzteile.FCStd Normal file

Binary file not shown.

102
README.md
View File

@@ -1,58 +1,62 @@
Eggduino
====
# Der Sternenlabor EggBot
* Basiert auf EggDuino mit folgenden Anpassungen
* portiert auf ESP32
* Bessere Stepper Library
* Einfache Bahnplanung (weniger Verzerrungen)
* Stift Servo mit Rampensteuerung
* Webinterface für Logging und Einstellungen (Anschlussbelegung)
* BLE Interface (http://Eggbot.app)
* Web Socket Interace (aktuell ungetestet)
* RS232 Kommunikation mit 115200 (zuvor 9600)
* Inkscape Plugin AxiDraw_395 (siehe GIT)
* Modifizierte ebb_serial.py zur Erkennung
* Modifizierte eggbot.py - entfernt Pausen zwischen Bewegungen
* Verwendung ohne Inkscape mittels http://EggBot.app
Arduino Firmware for Eggbot / Spherebot with Inkscape-Integration
Ohne angepasstes Inkscape Plugin kann keine Kommunikation zum EggBot aufgenommen werden.
Version 1.6a
tested with Inkscape Portable 0.91, Eggbot Extension and patched eggbot.py
# Materialliste
Regards: Eggduino-Firmware by Joachim Cerny, 2015
Schrauben:
* Motor Welle Ei: M3x8
* Motorbefestigung: 8x M3x10
* Motor Welle Stift: M3x12
* Klemme für Eihalterung: 2x M3x16
* Spannschraube Stift: M3x25
* Armgelenk: M3x30
* Mutter: 4x M3 **vierkant!**
* Platine Schrauben: 4x M2.3x5
* Schrauben für Feder: 2x M2.3x5
* Scheiben für Feder: 2x M3x6x0.5
Thanks for the nice libs ACCELSTEPPER and SERIALCOMMAND, which made this project much easier. Thanks to the Eggbot-Team for such a funny and enjoyable concept! Thanks to my wife and my daughter for their patience. :-)
Sonstiges:
* Zugfeder: 8x17 (entspannt)
* O-Ring: 3x 18x2
* Kugellager: 608ZZ (8x22x7)
Features:
Elektronik:
* 2x Schrittmotor Nema 17 (200 Schritte/Umd.)
* 2x Anschlusskabel
* 1x Micro Servo
* 1x CNC Shield (z.B. AZDelivery)
* 2x Schrittmotor Treiber DRV8825
* Konfiguriert auf 32 Mikroschritte
* Auf 0,5V kalibriert
* 1x ESP32 Arduino UNO Formfaktor
* 1x Netzteil 12V min. 1A
* 1x Micro USB Kabel
- Implemented Eggbot-Protocol-Version 2.1.0
- Turn-on homing: switch-on position of pen will be taken as reference point.
- No collision-detection!!
- Supported Servos: At least one type ;-) I use Arduino Servo-Lib with TG9e- standard servo.
- Full Arduino-Compatible. I used an Arduino Uno
- Button-support (3 buttons)
3D-Druckteile: https://www.thingiverse.com/thing:3431363 (hoffentlich bald in unserem GIT)
Tested and fully functional with Inkscape.
# Elektronik
Damit der ESP32 mit angeschlossenem CNC Shield korrekt funktioniert. Muss zwischen Enable und GND ein 1k Widerstand eingelötet werden.
![CNC Mod](res/cnc-shield-mod.png)
Installation:
- Upload Eggduino.ino with Arduino-IDE or similar tool to your Arudino (i.e. Uno)
- Disable Autoreset on Arduinoboard (there are several ways to do this... Which one does not matter...)
- Install Inkscape Tools wit Eggbot extension. Detailed instructions: (You yust need to complete Steps 1 and 2)
http://wiki.evilmadscientist.com/Installing_software
- Because of an bug in the Eggbot-extension (Function findEiBotBoards()), the Eggduino cannot be detected by default.
Hopefully, the guys will fix this later on. But we can fix it on our own.
It is quiete easy:
- Go to your Inkscape-Installationfolder and navigate to subfolder .\App\Inkscape\share\extensions
- open File "eggbot.py" in texteditor and search for line:
"Try any devices which seem to have EBB boards attached"
- comment that block with "#" like this:
# Try any devices which seem to have EBB boards attached
# for strComPort in eggbot_scan.findEiBotBoards():
# serialPort = self.testSerialPort( strComPort )
# if serialPort:
# self.svgSerialPort = strComPort
# return serialPort
- In my version lines 1355-1360
## Setup
Add credentials.h file with content like this:
const char *kWifiSsid = "MySSID";
const char *kWifiPassword = "MySecret";
To disable Wifi:
const char *kWifiSsid = 0;
const char *kWifiPassword = 0;
## Anschlussbelegung
* Ei-Drehen Stepper: Y
* Stift-Bewegen Stepper: X
* Servo Ctrl Pin: Z-Step
* USB Versorgung an ESP32 UNO (nötig)
* 12V Netzteil an CNC Shield (nicht ESP32 UNO Buche)
Falls von der Anschlussbelegung abgewichen wird, muss die geänderte Belegung über das Webinterface angepasst werden.

BIN
docs/res/cnc-shield-mod.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

View File

@@ -0,0 +1,14 @@
#pragma once
// Arduino-ESP32 1.0.6 does not define these version macros, but some newer
// libraries use them to select legacy-compatible code paths.
#ifndef ESP_ARDUINO_VERSION
#define EGGDUINO_LEGACY_ARDUINO_ESP32 1
#define ESP_ARDUINO_VERSION 0
#else
#define EGGDUINO_LEGACY_ARDUINO_ESP32 0
#endif
#ifndef ESP_ARDUINO_VERSION_VAL
#define ESP_ARDUINO_VERSION_VAL(major, minor, patch) (((major) * 10000) + ((minor) * 100) + (patch))
#endif

View File

@@ -14,25 +14,21 @@
#include "SerialCommand.h"
#include "button.h"
// implemented Eggbot-Protocol-Version v13
#define initSting "EBBv13_and_above Protocol emulated by Eggduino-Firmware V1.6a"
#ifdef ESP32
// Rotational Stepper
static const int kDefaultRotDirPin = 16;
static const int kDefaultRotStepPin = 25;
static const int kDefaultRotDirPin = 27;
static const int kDefaultRotEnablePin = 12;
static const int kDefaultRotStepPin = 26;
#define rotMicrostep 32
static const int kDefaultRotMicrostep = rotMicrostep;
static const int kDefaultRotMicrostep = 32;
// Pen Stepper
static const int kDefaultPenStepPin = 25;
static const int kDefaultPenDirPin = 27;
static const int kDefaultPenDirPin = 16;
static const int kDefaultPenEnablePin = 12;
#define penMicrostep 32
static const int kDefaultPenMicrostep = penMicrostep;
static const int kDefaultPenMicrostep = 32;
// Servo Pin
static const int kDefaultServoPin = 17;
@@ -104,6 +100,7 @@ extern int g_iMaxAcclSpeed;
extern String g_sHostname;
extern String g_sWifiSsid;
extern String g_sWifiPassword;
extern String g_strConnectionState;
enum ProtocolTransport {
PROTOCOL_TRANSPORT_SERIAL = 0,

View File

@@ -29,7 +29,7 @@ private:
public:
Button(byte p, ActionCb a): debounce(0), state(1), lastState(1), action(a), pin(p) {
Button(byte p, ActionCb a): debounce(0), state(1), lastState(1), pin(p), action(a) {
pinMode(pin, INPUT_PULLUP);
}
@@ -56,4 +56,3 @@ public:
}; //button
#endif //__BUTTON_H__

5
inkscape/README.md Normal file
View File

@@ -0,0 +1,5 @@
# Inkscape
Das Verzeichnis ernthält die funktionierenden AxiDraw Plugins für Inkscape. Nach der Installation müssen allerdings noch zwei Datei gepatched werden.
1. Installationsort des Inkscape Plugins öffnen. Diese findet man indem man Inkscape öffnet und in Bearbeiten->Einstellung unter System den Eintrag Benutzererweiterungen sucht.
2. Im Ordner die Datei eggbot.py durch die im Ordner Patch enthaltene Datei ersetzen.
3. Im Ordner des Plugins unter axidraw_deps/plotink die Datei ebb_serial.py ersetzen.

15
inkscape/killegg.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
# killegg.sh
# Simple helper script to terminate any running instance of the Python program "eggbot.py" which is started by inkscape.
# It searches for the process by name and sends a termination signal.
PROCESS="eggbot.py"
PIDS=$(pgrep -f "$PROCESS")
if [ -z "$PIDS" ]; then
echo "Kein laufender Prozess für $PROCESS gefunden."
else
echo "Beende Prozess(e): $PIDS"
kill $PIDS
fi

View File

@@ -64,6 +64,9 @@ def findPort():
if port[0].startswith("/dev/ttyUSB"):
ebb_port = port[0] # Success; EBB found by name match.
break # stop searching-- we are done.
elif port[0].startswith("COM"):
ebb_port = port[0] # Success; EBB found by name match.
break # stop searching-- we are done.
for port in com_ports_list:
if port[1].startswith("EiBotBoard"):
ebb_port = port[0] # Success; EBB found by name match.
@@ -215,6 +218,8 @@ def listEBBports():
port_has_ebb = False
if port[0].startswith("/dev/ttyUSB"):
port_has_ebb = True
elif port[0].startswith("COM"):
port_has_ebb = True
elif port[1].startswith("EiBotBoard"):
port_has_ebb = True
elif port[2].startswith("USB VID:PID=04D8:FD92"):

Binary file not shown.

View File

@@ -8,34 +8,45 @@
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:uno]
[platformio]
default_envs = uno_linux
extra_configs = platformio_override.ini
[env]
platform = platformio/espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
upload_speed = 576000
upload_port = /dev/ttyUSB*
extra_scripts = post:scripts/package_firmware.py
lib_deps =
arminjo/ServoEasing
madhephaestus/ESP32Servo@^3.0.6
bblanchon/ArduinoJson@^6.21.5
gin66/FastAccelStepper@^0.33.13
h2zero/NimBLE-Arduino@^2.3.6
links2004/WebSockets@^2.6.1
[env:uno_macos]
platform = platformio/espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
monitor_port = /dev/cu.usb*
upload_port = /dev/cu.usb*
extra_scripts = post:scripts/package_firmware.py
[env:uno_linux]
upload_speed = 576000
upload_port = /dev/ttyUSB*
lib_deps =
arminjo/ServoEasing
madhephaestus/ESP32Servo@^3.0.6
bblanchon/ArduinoJson@^6.21.5
${env.lib_deps}
gin66/FastAccelStepper@^0.33.13
h2zero/NimBLE-Arduino@^2.3.6
[env:uno_windows]
extra_scripts = pre:scripts/patch_legacy_esp32_libs.py
build_flags =
-DEGGDUINO_WINDOWS_BUILD_FIXES=1
-include $PROJECT_INCLUDE_DIR/ArduinoEsp32Compat.h
monitor_port = COM*
upload_port = COM8
lib_deps =
${env.lib_deps}
gin66/FastAccelStepper@0.30.15
h2zero/NimBLE-Arduino@2.2.3
[env:uno_macos]
monitor_port = /dev/cu.usb*
upload_port = /dev/cu.usb*
lib_deps =
${env.lib_deps}
gin66/FastAccelStepper@^0.33.13
h2zero/NimBLE-Arduino@^2.3.6
links2004/WebSockets@^2.6.1

View File

@@ -0,0 +1,5 @@
# Copy file to platformio_override.ini and change default_envs to your needs.
# In this example file it uses the mac configuration.
[platformio]
default_envs = uno_mac

View File

@@ -0,0 +1,98 @@
from pathlib import Path
Import("env")
def patch_nimble_address() -> None:
libdeps_dir = Path(env.subst("$PROJECT_LIBDEPS_DIR"))
env_name = env.subst("$PIOENV")
source_path = libdeps_dir / env_name / "NimBLE-Arduino" / "src" / "NimBLEAddress.cpp"
if not source_path.exists():
return
original = source_path.read_text(encoding="utf-8")
updated = original
include_old = '# include <algorithm>\n'
include_new = '# include <algorithm>\n# include <cstdlib>\n'
if include_old in updated and "# include <cstdlib>\n" not in updated:
updated = updated.replace(include_old, include_new, 1)
call_old = " uint64_t address = std::stoull(mac, nullptr, 16);"
call_new = " uint64_t address = strtoull(mac.c_str(), nullptr, 16);"
updated = updated.replace(call_old, call_new, 1)
if updated != original:
source_path.write_text(updated, encoding="utf-8")
print("Patched NimBLE-Arduino for legacy ESP32 toolchain compatibility")
def patch_nimble_device() -> None:
libdeps_dir = Path(env.subst("$PROJECT_LIBDEPS_DIR"))
env_name = env.subst("$PIOENV")
source_path = libdeps_dir / env_name / "NimBLE-Arduino" / "src" / "NimBLEDevice.cpp"
if not source_path.exists():
return
original = source_path.read_text(encoding="utf-8")
updated = original
updated = updated.replace(
" ble_sm_io pkey{.action = BLE_SM_IOACT_INPUT, .passkey = passkey};\n",
" ble_sm_io pkey{};\n"
" pkey.action = BLE_SM_IOACT_INPUT;\n"
" pkey.passkey = passkey;\n",
1,
)
updated = updated.replace(
" ble_sm_io pkey{.action = BLE_SM_IOACT_NUMCMP, .numcmp_accept = accept};\n",
" ble_sm_io pkey{};\n"
" pkey.action = BLE_SM_IOACT_NUMCMP;\n"
" pkey.numcmp_accept = accept;\n",
1,
)
if updated != original:
source_path.write_text(updated, encoding="utf-8")
print("Patched NimBLEDevice.cpp for legacy ESP32 toolchain compatibility")
def patch_websockets_client() -> None:
libdeps_dir = Path(env.subst("$PROJECT_LIBDEPS_DIR"))
env_name = env.subst("$PIOENV")
source_path = libdeps_dir / env_name / "WebSockets" / "src" / "WebSocketsClient.cpp"
if not source_path.exists():
return
original = source_path.read_text(encoding="utf-8")
updated = original
old = (
"#if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 4)\n"
" _client.ssl->setCACertBundle(_CA_bundle, _CA_bundle_size);\n"
"#else\n"
" _client.ssl->setCACertBundle(_CA_bundle);\n"
"#endif\n"
)
new = (
"#if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 4)\n"
" _client.ssl->setCACertBundle(_CA_bundle, _CA_bundle_size);\n"
"#else\n"
" // Arduino-ESP32 1.x has no CA bundle API; the project only uses\n"
" // WebSocketsServer, so keep the client path buildable with insecure TLS.\n"
" _client.ssl->setInsecure();\n"
"#endif\n"
)
updated = updated.replace(old, new, 1)
if updated != original:
source_path.write_text(updated, encoding="utf-8")
print("Patched WebSocketsClient.cpp for legacy ESP32 toolchain compatibility")
patch_nimble_address()
patch_nimble_device()
patch_websockets_client()

View File

@@ -3,6 +3,8 @@
#include <DNSServer.h>
#include <string.h>
String g_strConnectionState = "No Wifi connection";
namespace
{
const char *kConfigPath = "/config.json";
@@ -594,7 +596,8 @@ void startWebInterface()
staConnectionKnown = staConnected;
if (staConnected)
{
Serial.println(String("Connected: http://") + WiFi.localIP().toString());
g_strConnectionState = String("Connected: http://") + WiFi.localIP().toString();
Serial.println(g_strConnectionState);
}
else
{
@@ -620,7 +623,8 @@ void startWebInterface()
{
apModeActive = true;
dnsServer.start(kDnsPort, "*", WiFi.softAPIP());
Serial.println(String("AP aktiv: ") + hostName + " / http://" + WiFi.softAPIP().toString() + " (Name: " + hostName + ")");
g_strConnectionState = String("AP aktiv: http://" + WiFi.softAPIP().toString() + " (" + hostName + ")");
Serial.println(g_strConnectionState);
}
else
{

View File

@@ -144,9 +144,7 @@ void setPen()
{
Log(__FUNCTION__);
int cmd;
int value;
char *arg;
char cstrMsg[20];
// moveToDestination();
@@ -172,7 +170,7 @@ void setPen()
val = nextCommandArg();
if (val != NULL)
{
value = atoi(val);
(void)atoi(val);
sendAck();
// delay(value);
}
@@ -189,8 +187,7 @@ void setPen()
void togglePen()
{
Log(__FUNCTION__);
char *arg;
arg = nextCommandArg();
(void)nextCommandArg();
doTogglePen();
sendAck();
@@ -322,10 +319,11 @@ void stepperModeConfigure()
void sendVersion()
{
Log(__FUNCTION__);
protocolWrite(initSting);
protocolWrite("EBB: " + g_strConnectionState);
protocolWrite("\r\n");
}
void unrecognized(const char *command)
{
Log(__FUNCTION__);

13
src/esp_timer_compat.c Normal file
View File

@@ -0,0 +1,13 @@
#if defined(EGGDUINO_WINDOWS_BUILD_FIXES)
#include <ArduinoEsp32Compat.h>
#if defined(ESP32) && EGGDUINO_LEGACY_ARDUINO_ESP32
#include <esp_timer.h>
int esp_timer_is_active(esp_timer_handle_t timer)
{
(void)timer;
return 0;
}
#endif
#endif

669
svg/chicken.svg Normal file
View File

@@ -0,0 +1,669 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="svg6435"
version="1.1"
viewBox="0 0 3200 1024"
sodipodi:docname="chicken.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview287"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="0.30819089"
inkscape:cx="1489.3367"
inkscape:cy="340.69794"
inkscape:window-width="3454"
inkscape:window-height="2088"
inkscape:window-x="386"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg6435" />
<!-- Generator: Adobe Illustrator 30.2.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 1) -->
<defs
id="defs4">
<style
id="style2">
.st0 {
stroke-miterlimit: 4;
stroke-width: 1px;
}
.st0, .st1 {
fill: none;
stroke: #000;
}
</style>
</defs>
<g
id="g34">
<path
class="st1"
d="M624.26,266.87s183.01,17.85,435.95,214.26c0,0-116.06,324.36-369,226.16-252.94-98.2-66.96-440.42-66.96-440.42h.01Z"
id="path6" />
<path
class="st1"
d="M645.19,260.45s13.96-95.11,53.22-89.87c0,0,15.28-.66,12.06,22.14,0,0-.72,19.74,12.37,6.65,13.09-13.09,20.94-14.83,30.54-10.47s0,19.2,0,19.2c0,0-3.49,16.37,11.34,7.31s25.1-7.39,30.54,0,9.6,18.86-14.83,35.44c-24.43,16.58-44.39,27.05-59.28,35.77"
id="path8" />
<path
class="st1"
d="M569.95,333.83s-49.41,44.04-39.21,76.81c10.21,32.76,42.43-24.72,46.19-69.29"
id="path10" />
<path
class="st1"
d="M682.48,460.32s-46.3,168.45,147.76,151.7c0,0,93.58-13.79,129.05-80.78"
id="path12" />
<path
class="st1"
d="M677.65,708.56l-98.5,61.08-34.58-43.82s-9.71-8.07-15.19-2.17"
id="path14" />
<path
class="st1"
d="M591.33,799.49s6.32-7.16,4.21-11.8-16.4-18.06-16.4-18.06"
id="path16" />
<path
id="line18"
class="st1"
style="fill:none;stroke:#000000"
d="m 801.54999,732.08002 45.16998,92.90997" />
<path
class="st1"
d="M781.49,850.33s1.28-13.73,9.09-16.89,90.16-8.45,90.16-8.45c0,0,6.33,0,10.56,12.67"
id="path20" />
<path
class="st1"
d="M1043.32,451.24s16.9-114.19,49.62-130.06c21.03-10.2,21.12,14.98,8.45,43.49-12.67,28.51-51.73,95.65-51.73,95.65,0,0,90.8-138.33,116.14-126.49s-94.07,120.29-101.51,131.59c0,0,117.58-116.04,158.52-116.58,24.74-.33,32.23,30.32,6.33,48.57-22.1,15.58-153.09,76.02-153.09,76.02,0,0,141.07-66.3,175.61-53.12,23.01,8.78,19.71,44.67-6.68,53.12s-165.76,18.43-165.76,18.43c0,0,103.47.58,118.25,14.3,14.78,13.73,10.56,46.45-13.73,47.51-24.28,1.06-116.14-49.62-116.14-49.62"
id="path22" />
<path
class="st1"
d="M763.11,527.4s15.52,90.93,67.13,84.62"
id="path24" />
<path
class="st1"
d="M792.42,531.27s36.67,84.64,85.31,66.26"
id="path26" />
<path
class="st1"
d="M532.03,278.8s31.51,38.04,71.49,29.73"
id="path28" />
<path
class="st1"
d="M645.19,318.87s27.03-22.09,32.46,10.61"
id="path30" />
<path
class="st1"
d="M615.96,266.87h-90.35s21.51,47.2,61.1,66.96"
id="path32" />
</g>
<g
id="g58">
<path
id="circle36"
class="st1"
style="fill:none;stroke:#000000"
d="m 1863.5199,697.33002 a 111.58,111.58 0 0 1 -111.58,111.58 111.58,111.58 0 0 1 -111.58,-111.58 111.58,111.58 0 0 1 111.58,-111.58 111.58,111.58 0 0 1 111.58,111.58 z" />
<path
id="polyline38"
class="st1"
style="fill:none;stroke:#000000"
d="m 1659.98,632.74 -54.71,0.96 35.09,45.53" />
<path
id="polyline40"
class="st1"
style="fill:none;stroke:#000000"
d="m 1718.47,803.8 -23.22,9.47 3.75,25.75" />
<path
id="line42"
class="st1"
style="fill:none;stroke:#000000"
d="m 1769.73,807.41998 10.04,34.90003" />
<path
id="line44"
class="st1"
style="fill:none;stroke:#000000"
d="m 1740.55,842.32001 h 58.37" />
<path
id="line46"
class="st1"
style="fill:none;stroke:#000000"
d="m 1674.27,842.32001 44.2,-7.75" />
<path
class="st1"
d="M1742.55,697.33s-9.11,70.2,92.1,71.13c0,0-29.54-32.25-35.73-55.64"
id="path48" />
<path
class="st1"
d="M1863.53,687.29s49.55-50.45,67.79-40.28c18.24,10.17,10.95,24.77,4.56,26.59-6.39,1.82-72.35,23.72-72.35,23.72,0,0,63.23-17.34,68.7-3.66,5.47,13.68-5.47,19.15-10.95,19.15s-57.75-6.38-57.75-6.38"
id="path50" />
<path
class="st1"
d="M1695.25,633.7s7.26,34.59,31.8,0"
id="path52" />
<path
class="st1"
d="M1605.27,633.7s20.05,17.21,40.02,19.49"
id="path54" />
<path
class="st1"
d="M1751.94,585.75s25.63-71.09,36.55-59.37c10.92,11.71-25.88,59.37-25.88,59.37,0,0,40.14-56.04,46-39.31,5.86,16.73-33.86,39.31-33.86,39.31,0,0,41.39-25.09,38.04-12.55-3.35,12.55-24.3,18.67-24.3,18.67"
id="path56" />
</g>
<g
id="g94">
<g
id="g78">
<path
id="circle60"
class="st1"
style="fill:none;stroke:#000000"
d="m 1483.55,697.33002 a 111.58,111.58 0 0 1 -111.58,111.58 111.58,111.58 0 0 1 -111.58,-111.58 111.58,111.58 0 0 1 111.58,-111.58 111.58,111.58 0 0 1 111.58,111.58 z" />
<path
id="polyline62"
class="st1"
style="fill:none;stroke:#000000"
d="m 1280.01,632.74 -49.21,-10.23 29.91,34.51 -41.33,16.77 42.43,10.07" />
<path
id="circle64"
class="st1"
style="fill:none;stroke:#000000"
d="m 1350.97,647.01001 a 13.31,13.31 0 0 1 -13.31,13.31 13.31,13.31 0 0 1 -13.31,-13.31 13.31,13.31 0 0 1 13.31,-13.31 13.31,13.31 0 0 1 13.31,13.31 z" />
<path
id="line66"
class="st1"
style="fill:none;stroke:#000000"
d="m 1319.64,795.15002 -54.3299,24.52997" />
<path
id="line68"
class="st1"
style="fill:none;stroke:#000000"
d="m 1430.75,792.17999 23.9301,50.14002" />
<path
id="line70"
class="st1"
style="fill:none;stroke:#000000"
d="m 1415.46,842.32001 h 58.37" />
<path
id="line72"
class="st1"
style="fill:none;stroke:#000000"
d="m 1244.87,799.65997 33.89,31.56" />
<path
class="st1"
d="M1362.57,697.33s-9.11,70.2,92.1,71.13"
id="path74" />
<path
class="st1"
d="M1483.56,687.29s49.55-50.45,67.79-40.28c18.24,10.17,10.95,24.77,4.56,26.59s-72.35,23.72-72.35,23.72c0,0,63.23-17.34,68.7-3.66,5.47,13.68-5.47,19.15-10.95,19.15s-57.75-6.38-57.75-6.38"
id="path76" />
</g>
<path
class="st1"
d="M1386.86,578.9s10.66-23.41,28.62-36.54c17.96-13.12,46.37-9.86,62.11,17.06,15.73,26.93-13.35,67.99-17.05,63.09-29.77-40.11-75.48-40.11-75.48-40.11,0,0-64.35-25.28-73.51-31.51-9.17-6.23-3.22-17.72,8.97-10.92s66.36,38.94,66.36,38.94h0Z"
id="path80" />
<path
class="st1"
d="M1451.85,537.16s5.76-7.64,10.72-4.5c4.96,3.14,4.24,7.24,2.37,11.83"
id="path82" />
<path
class="st1"
d="M1450.58,539.98s-25.06,10.19-35.77,44.64"
id="path84" />
<path
class="st1"
d="M1464.68,547.54s5.23,14.62-18.28,54.56"
id="path86" />
<path
class="st1"
d="M1451.85,531.91s-17.29-33.55-24.61-35.38c-4.38-1.1-6.06,2.83-4.03,7.26,2.02,4.44,28.66,28.12,28.66,28.12h-.01Z"
id="path88" />
<path
class="st1"
d="M1470.87,544.49s20.63,14.27,30.57,17.04c3.75,1.05,10.21-.94,6.58-8.14-3.63-7.2-37.15-8.9-37.15-8.9h0Z"
id="path90" />
<path
id="circle92"
class="st1"
style="fill:none;stroke:#000000"
d="m 1345.96,647.12 a 10.25,10.25 0 0 1 -10.25,10.25 10.25,10.25 0 0 1 -10.25,-10.25 10.25,10.25 0 0 1 10.25,-10.25 10.25,10.25 0 0 1 10.25,10.25 z" />
</g>
<g
id="g126">
<path
class="st1"
d="M2234.44,769.7c-20.47,23.99-50.92,39.2-84.92,39.2-61.63,0-111.58-49.95-111.58-111.58s49.95-111.58,111.58-111.58,111.58,49.95,111.58,111.58c0,22.22-6.5,42.93-17.69,60.31"
id="path96" />
<path
id="polyline98"
class="st1"
style="fill:none;stroke:#000000"
d="m 2057.55,632.74 -59.6,17.29 40.95,32.51" />
<path
class="st1"
d="M2155.04,708.52s-3.14,59.01,98.1,59.92c0,0-27.27-23.41-36.91-39.26"
id="path100" />
<path
class="st1"
d="M2261.08,687.29s49.55-50.45,67.79-40.28,10.95,24.77,4.56,26.59-72.35,23.72-72.35,23.72c0,0,63.23-17.34,68.7-3.66,5.47,13.68-5.47,19.15-10.95,19.15s-57.75-6.38-57.75-6.38"
id="path102" />
<path
class="st1"
d="M2109.83,650.03c.23-.98.36-1.98.36-3.02,0-7.34-5.96-13.31-13.31-13.31s-13.31,5.96-13.31,13.31c0,1.05.13,2.05.36,3.02"
id="path104" />
<path
class="st1"
d="M2150.08,582.52l23.6-50.29,3.44,41.32,37.73-44.83-8.79,51.04,26.18-17.64-17.38,40.36s-32.82-22.05-64.78-19.97h0Z"
id="path106" />
<path
class="st1"
d="M1997.95,650.03s28.16,10.15,48.38,4.77"
id="path108" />
<path
id="circle110"
class="st1"
style="fill:none;stroke:#000000"
d="m 2127.6899,686.03998 a 17.5,17.5 0 0 1 -17.5,17.5 17.5,17.5 0 0 1 -17.5,-17.5 17.5,17.5 0 0 1 17.5,-17.5 17.5,17.5 0 0 1 17.5,17.5 z" />
<path
id="line112"
class="st1"
style="fill:none;stroke:#000000"
d="m 2057.55,762.76001 -59.6,13.77997" />
<path
id="line114"
class="st1"
style="fill:none;stroke:#000000"
d="M 1990.23,746.22998 2001.9301,788.94" />
<path
id="polyline116"
class="st1"
style="fill:none;stroke:#000000"
d="m 2120.85,805.19 -24.5,18.66 7.52,23.63" />
<path
id="line118"
class="st1"
style="fill:none;stroke:#000000"
d="m 2079.76,847.47998 h 43.3699" />
<path
id="line120"
class="st1"
style="fill:none;stroke:#000000"
d="m 2107.6299,639.15997 6.2002,-4.09997" />
<path
id="line122"
class="st1"
style="fill:none;stroke:#000000"
d="m 2110.1899,641.87 6.21,-2.71003" />
<path
id="line124"
class="st1"
style="fill:none;stroke:#000000"
d="m 2110.73,645.65997 5.6699,-0.76996" />
</g>
<g
id="g144"
style="display:inline">
<path
class="st1"
d="m 2622.6,730.38 c -16.73,59.47 -75.78,94.88 -131.9,79.09 -56.12,-15.79 -88.06,-76.78 -71.33,-136.25 16.73,-59.47 85.78,-130.42 141.91,-114.65 56.13,15.78 78.06,112.34 61.33,171.81 z"
id="path128" />
<path
id="polyline130"
class="st1"
style="fill:none;stroke:#000000"
d="m 2526.72,808.32 -19.3,-8.53 14.08,-2.84 -4.43,-10.78 21,11.07 7.37,-26.4 v 23.28 l 9.65,-4.54 3.42,9.09 29.65,-12.83" />
<path
id="polyline132"
class="st1"
style="fill:none;stroke:#000000"
d="m 2483.57,807.18 7.39,-8.51 h -7.39 l -11.35,-27.83 -3.4,19.3 -24.85,-9.34" />
<path
id="polyline134"
class="st1"
style="fill:none;stroke:#000000"
d="m 2540.33,802.07 -6.24,26.11 13.7,22.14 h -33.56" />
<path
id="polyline136"
class="st1"
style="fill:none;stroke:#000000"
d="m 2474.91,792.8 -41.44,23.07 -20.44,-27.62" />
<path
id="polyline138"
class="st1"
style="fill:none;stroke:#000000"
d="m 2442.6,625.17 -41.24,-17.54 29.33,38.03 -46.62,7.54 38.32,10.67" />
<path
id="polyline140"
class="st1"
style="fill:none;stroke:#000000"
d="m 2451.55,613.01 h 15.91 l -15.91,16.47 23.36,6.27 -23.36,6.12 3.53,26.65 -12.48,-4.65 7.01,39.68 -16.39,-24.32 -13.85,-6.02" />
<path
id="line142"
class="st1"
style="fill:none;stroke:#000000"
d="m 2433.47,815.87 10.5,15.17999" />
</g>
<path
class="st1"
d="M428.41,145.55s72.28-49.69,79.06,0,50.59,33.88,60.31,45.18,3.01,76.15,3.01,76.15"
id="path146" />
<path
class="st1"
d="M580.92,311.58s66.44,290.37,403.14,14.59C1320.76,50.39,1411.5,55.29,1509.05,111.8s150.6,292.51,350.69,275.1c159.64-13.89,206.27-127.28,257.03-198.72,150.96-212.44,403.89,36.16,528.72-4.86,11.32-3.72,13.63-2.75,27.71-13.95,7.98-6.35,14.2-16.92,13.24-29.67-.87-11.47-12.82-21.2-38.56-12.99-51.47,16.41-129.03,129.9-54.86,249.23"
id="path148" />
<path
id="polyline150"
class="st1"
style="fill:none;stroke:#000000"
d="m 1232.18,144.76 74.97,63.5 2.21,-103.55" />
<path
id="polyline152"
class="st1"
style="fill:none;stroke:#000000"
d="m 1368.27,90.42 77.41,72.83 8.09,-72.34" />
<path
id="polyline154"
class="st1"
style="fill:none;stroke:#000000"
d="m 1509.05,111.79 -7.24,97.63 61,-40.79" />
<path
id="polyline156"
class="st1"
style="fill:none;stroke:#000000"
d="m 1586.65,201.31 -27.13,91.75 67.78,-28.37" />
<path
id="polyline158"
class="st1"
style="fill:none;stroke:#000000"
d="m 1651.86,295.15 -21.04,87.47 76.76,-41.85" />
<path
id="polyline160"
class="st1"
style="fill:none;stroke:#000000"
d="m 1731.64,357.63 17.47,94.15 62.36,-65.71" />
<path
id="polyline162"
class="st1"
style="fill:none;stroke:#000000"
d="m 1859.74,386.9 53.5,71.31 22.26,-87.89" />
<path
id="polyline164"
class="st1"
style="fill:none;stroke:#000000"
d="m 1977.79,349.46 73.65,47.81 -17.18,-95.93" />
<path
id="polyline166"
class="st1"
style="fill:none;stroke:#000000"
d="m 2061.96,266.82 93.23,12.94 -38.42,-91.58" />
<path
id="polyline168"
class="st1"
style="fill:none;stroke:#000000"
d="m 2158.71,141.59 73.9,47.43 3.02,-82.02" />
<path
id="polyline170"
class="st1"
style="fill:none;stroke:#000000"
d="m 2295.6,104.74 29.35,90.22 55.17,-76.77" />
<path
class="st1"
d="M2826.74,409.03s-39.7,10.62-34.86,56.63l21.48-12.99,13.38,18.12,12.51-19.18,21.79,16.7s12-44.65-34.3-59.28h0Z"
id="path172" />
<path
class="st1"
d="M2791.88,465.65s-43.45,77.18-35.66,103.45,25.72,10.53,29.68,3.41c9.73-17.51,23.35-77.97,26.27-106.85"
id="path174" />
<path
class="st1"
d="M2812.17,465.65s-25.82,106.37-20.7,121.93,35.29,20.43,43.56,1.95,0-117.3,0-117.3"
id="path176" />
<path
class="st1"
d="M2857.91,468.3s30.19,82.3,19.92,101.53c-10.27,19.24-28.25,17.1-35.09,2.12s-7.7-99.72-7.7-99.72"
id="path178" />
<path
class="st1"
d="M2819.37,412.01c-3.44,3.21-3.43-65.85,64.52-54.06s36.95,194.18,36.95,194.18l-48.77,328.54h-18.49s59.93-324.51,63.42-365.63c6.1-72.1-1.5-145.18-40.18-148.41-49.73-4.16-41.78,45.61-41.78,45.61"
id="path180" />
<path
class="st1"
d="M2894.91,726.81l27.24-16.55s.85-93.33,94.02-79.28c0,0,7.02,88.6-87.97,87.75l-35.77,24.81"
id="path182" />
<path
class="st1"
d="M2867.07,806.97l-19.47-31.49s31.34-87.25-67.76-95.72c0,0-28.8,92.33,58.87,98.26l23.73,40.66"
id="path184" />
<path
id="line186"
class="st1"
style="fill:none;stroke:#000000"
d="m 3002.6201,643.34003 -67.77,65.21997" />
<path
id="polyline188"
class="st1"
style="fill:none;stroke:#000000"
d="m 2990.05,641.46 -0.93,14.86 15.53,-1.69" />
<path
id="polyline190"
class="st1"
style="fill:none;stroke:#000000"
d="m 2976.6,641.46 v 26.92 l 26.02,-2.01" />
<path
id="polyline192"
class="st1"
style="fill:none;stroke:#000000"
d="m 2962,648.89 1.32,32.27 32.46,-1.4" />
<path
class="st1"
d="M2947.11,660.93l4.82,31.2s31.83.85,31.83,0"
id="path194" />
<path
class="st1"
d="M2934.85,681.16l5.12,22.47s25.17.62,25.46,0"
id="path196" />
<path
id="line198"
class="st1"
style="fill:none;stroke:#000000"
d="m 2784.79,686.53003 53.5301,82.03998" />
<path
id="polyline200"
class="st1"
style="fill:none;stroke:#000000"
d="m 2783.07,700.44 h 10.79 l 2.95,-11.45" />
<path
id="polyline202"
class="st1"
style="fill:none;stroke:#000000"
d="m 2781.35,713.32 h 20.92 l 5.7,-20.79" />
<path
id="polyline204"
class="st1"
style="fill:none;stroke:#000000"
d="m 2784.79,727.55 h 26.76 l 6.67,-27.11" />
<path
id="polyline206"
style="display:inline;fill:none;stroke:#000000"
class="st1"
d="m 2789.94,741.95 h 31.01 l 8.21,-33.39" />
<path
id="polyline208"
class="st1"
style="fill:none;stroke:#000000"
d="m 2803.97,757.12 h 26.88 l 7.47,-33.49" />
<path
class="st1"
d="M2908.76,130s-47.51,156.81,25.31,176.6c0,0,26.26,6.73,51.71,0l-77.02-176.6Z"
id="path210" />
<path
class="st1"
d="M2963.82,256.24l55.4-136.3s39.79,123.35,15.92,156.78-49.36,29.87-49.36,29.87"
id="path212" />
<path
id="polyline214"
class="st1"
style="fill:none;stroke:#000000"
d="m 2926.22,170.03 33.31,-54.07 41.11,49.7" />
<path
class="st1"
d="M2946.46,308.18s4.77,22.77,24.65,22.51c17.32-.23,23.81-13.52,24.65-24.88"
id="path216" />
<path
class="st1"
d="M2971.1,330.7s89.96,254.5,59.46,549.97H167.52"
id="path218" />
<path
class="st1"
d="M2982.21,328.28s89.86,223.58,65.72,552.39c0,0,84.28-151.25,84.28-227.75s-47.44-261.07-35.58-324.64c0,0-58.52,13.94-39.42,255.45"
id="path220" />
<g
id="g274"
style="display:inline">
<path
id="ellipse222"
class="st0"
transform="rotate(-66.78,296.31639,619.81639)"
style="fill:none;stroke:#000000;stroke-width:1px"
d="m 320.68001,619.82001 a 24.360001,36.130001 0 0 1 -24.36,36.13 24.360001,36.130001 0 0 1 -24.36,-36.13 24.360001,36.130001 0 0 1 24.36,-36.13 24.360001,36.130001 0 0 1 24.36,36.13 z" />
<path
class="st1"
d="m 288.95,590.6 c 0,0 7.37,-53.85 0,-63.2 -3.7,-4.69 -25.07,-12.01 -8.11,63.2"
id="path224" />
<path
class="st1"
d="m 276.75,591.96 c 0,0 -7.05,-53.89 -16.63,-60.98 -4.8,-3.55 -27.35,-4.99 8.8,63.11"
id="path226" />
<path
class="st1"
d="m 266.24,595.31 c 0,0 -26.11,-47.67 -37.6,-50.8 -5.77,-1.57 -27.3,5.26 31.08,55.63"
id="path228" />
<path
class="st1"
d="m 259.96,602.4 c 0,0 -41.41,-35.21 -53.26,-34.03 -5.95,0.59 -23.62,14.66 48.89,40.87 0,0 -40.01,-4.43 -41.51,3.95 -1.5,8.38 3,14.18 9,15.28 6,1.1 36.88,-11.02 36.88,-11.02 l -32.38,20.12 c 0,0 -6,8 5.5,13.5 11.5,5.5 29.68,-19.99 29.68,-19.99"
id="path230" />
<path
class="st1"
d="m 299.7,593.32 c 0,0 24.74,-48.4 20.86,-59.66 -1.94,-5.65 -19.7,-19.62 -28.52,56.98"
id="path232" />
<path
class="st1"
d="m 313.08,597.51 c 0,0 35.13,-41.47 33.93,-53.32 -0.6,-5.95 -14.7,-23.6 -40.77,48.97"
id="path234" />
<path
class="st1"
d="m 323.69,607.04 c 0,0 43.28,-32.88 44.67,-44.71 0.7,-5.93 -9.24,-26.22 -50.41,38.97"
id="path236" />
<path
class="st1"
d="m 331.93,617.45 c 0,0 49.83,-21.72 53.98,-32.88 2.08,-5.6 -2.78,-27.66 -58.2,25.95"
id="path238" />
<path
class="st1"
d="m 335.13,628.47 c 0,0 54.26,-3.22 62,-12.26 3.88,-4.54 6.92,-26.93 -63.57,4.31"
id="path240" />
<path
class="st1"
d="m 333.33,638.91 c 0,0 49.93,21.48 60.91,16.87 5.51,-2.31 18.27,-20.96 -58.75,-24.68"
id="path242" />
<path
class="st1"
d="m 329.87,642.05 c 72.18,27.1 54.33,40.95 48.38,41.47 -11.86,1.03 -52.83,-34.69 -52.83,-34.69 0,0 21.31,23.26 17.75,30.76 -3.56,7.5 -17.06,4.22 -27.56,-27.4"
id="path244" />
<path
class="st1"
d="m 266.24,637.07 c 0,0 -24.6,13.69 -23.13,19.35 1.47,5.66 5.81,12.16 19.65,10.66 13.84,-1.5 11.62,-27.51 11.62,-27.51"
id="path246" />
<path
class="st1"
d="m 312.35,651.86 c 0,0 13.8,23.47 8.63,28.92 -5.17,5.45 -13.25,1.7 -16.72,-5.94 -1.65,-3.63 -3.31,-19.69 -1.81,-24.09"
id="path248" />
<path
class="st1"
d="m 279.02,644.81 c 0,0 -11.43,22.33 -8.58,27.55 2.48,4.55 9.1,7.06 16.09,1.61 6.46,-5.04 -0.25,-27.58 -0.25,-27.58"
id="path250" />
<path
class="st1"
d="m 292.04,648.11 c 0,0 -5.7,19.72 0,26.89 2.8,3.53 8.59,5.11 9.82,0 1.78,-7.4 -1.73,-24.25 -1.73,-24.25"
id="path252" />
<path
class="st1"
d="m 253.7,667.3 c 0,0 -39.13,90.39 -22.11,209.82"
id="path254" />
<path
class="st1"
d="m 261.97,667.3 c 0,0 -39.13,90.39 -22.11,209.82"
id="path256" />
<path
class="st1"
d="m 235.59,819.54 c 0,0 48.82,-112.23 107.59,-87.46 58.77,24.77 69.77,76.43 69.77,76.43 0,0 -25.41,11.86 -52.52,-5.08 -27.11,-16.94 -70.15,-27.95 -124.86,28.8"
id="path258" />
<path
class="st1"
d="m 227.31,772.21 c 0,0 -17.65,-95.85 -36.28,-105.16 -18.63,-9.31 -56.75,5.93 -56.75,5.93 0,0 -32.19,-2.55 -49.98,35.57 0,0 47.44,10.17 87.25,-4.23 0,0 37.84,0 55.77,90.64"
id="path260" />
<path
id="circle262"
class="st1"
style="fill:none;stroke:#000000"
d="m 278.81,604.83002 a 1.03,1.03 0 0 1 -1.03,1.03 1.03,1.03 0 0 1 -1.03,-1.03 1.03,1.03 0 0 1 1.03,-1.03 1.03,1.03 0 0 1 1.03,1.03 z" />
<path
id="circle264"
class="st1"
style="fill:none;stroke:#000000"
d="m 278.03999,611.71997 a 1.3,1.3 0 0 1 -1.3,1.3 1.3,1.3 0 0 1 -1.3,-1.3 1.3,1.3 0 0 1 1.3,-1.3 1.3,1.3 0 0 1 1.3,1.3 z" />
<path
id="circle266"
class="st1"
style="fill:none;stroke:#000000"
d="m 287.81001,611.78003 a 1.36,1.36 0 0 1 -1.36,1.36 1.36,1.36 0 0 1 -1.36,-1.36 1.36,1.36 0 0 1 1.36,-1.36 1.36,1.36 0 0 1 1.36,1.36 z" />
<path
id="circle268"
class="st1"
style="fill:none;stroke:#000000"
d="m 295.30001,606.62 a 0.75999999,0.75999999 0 0 1 -0.76,0.76 0.75999999,0.75999999 0 0 1 -0.76,-0.76 0.75999999,0.75999999 0 0 1 0.76,-0.76 0.75999999,0.75999999 0 0 1 0.76,0.76 z" />
<path
id="circle270"
class="st1"
style="fill:none;stroke:#000000"
d="m 286.45001,623.46997 a 1.22,1.22 0 0 1 -1.22,1.22 1.22,1.22 0 0 1 -1.22,-1.22 1.22,1.22 0 0 1 1.22,-1.22 1.22,1.22 0 0 1 1.22,1.22 z" />
<path
id="circle272"
class="st1"
style="fill:none;stroke:#000000"
d="m 297.66001,625.87 a 1.1799999,1.1799999 0 0 1 -1.18,1.18 1.1799999,1.1799999 0 0 1 -1.18,-1.18 1.1799999,1.1799999 0 0 1 1.18,-1.18 1.1799999,1.1799999 0 0 1 1.18,1.18 z" />
</g>
<g
id="g284">
<path
class="st1"
d="M231.04,397.37s-61.7-60.98-55.77-12.8,42.72,38.54,56.44,35.68c0,0-29.62,18.49-20.7,30.22s30.96,14.48,33.85,5.15c2.89-9.33.58-22.09.58-22.09"
id="path276" />
<path
class="st1"
d="M261.15,449.43c-28.02-40.68-25.21-70.98-25.21-70.98,0,0-13.97-6.09-20.88-21.17"
id="path278" />
<path
class="st1"
d="M246.2,391.31s-3.68-53.04,13.76-54.35c17.45-1.31,35.56,13.22,35.41,34.75s-38.86,39.05-38.86,39.05c0,0,33.21-8.14,38.5,5.15s-7.41,32.93-17.09,29.25-25.24-24.7-25.24-24.7"
id="path280" />
<path
class="st1"
d="M213.16,365.46s9.86,11.91,19.57,13.64"
id="path282" />
</g>
<eggbot
layer="0"
node="0"
lastpath="0"
lastpathnc="0"
totaldeltax="0"
totaldeltay="0" />
</svg>

After

Width:  |  Height:  |  Size: 23 KiB