Compare commits

...

3 Commits

Author SHA1 Message Date
Razvalyaev
eaddf277ea +gerber и чпу 2026-08-09 15:28:44 +03:00
Razvalyaev
706ae4de82 плата сделана и под аналог и под цифру 2026-08-09 13:57:26 +03:00
Razvalyaev
cec997d1d2 Перепиновка под будущий аналог
+скрипт для конвертации падов под CNC
2026-08-09 10:19:12 +03:00
36 changed files with 8442 additions and 7 deletions

7
.gitignore vendored
View File

@@ -1,7 +1,6 @@
/tests/
/PCB/Project Logs*/
/*/__Previews
/*/History
/*/Project Logs*/
__Previews/
History
Project Logs*/

BIN
PCB/Libs/BPW34.PcbLib Normal file

Binary file not shown.

View File

@@ -0,0 +1,2544 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');
FILE_NAME('Open CASCADE Shape Model','2026-08-09T10:52:04',('Author'),(
'Open CASCADE'),'Open CASCADE STEP processor 7.9','Open CASCADE 7.9'
,'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('BPW34_VERTICAL_P5.08mm','BPW34_VERTICAL_P5.08mm','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = SHAPE_REPRESENTATION('',(#11,#15,#19,#23,#27,#31),#35);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18);
#16 = CARTESIAN_POINT('',(0.,0.,0.));
#17 = DIRECTION('',(0.,0.,1.));
#18 = DIRECTION('',(1.,0.,-0.));
#19 = AXIS2_PLACEMENT_3D('',#20,#21,#22);
#20 = CARTESIAN_POINT('',(0.,0.,0.));
#21 = DIRECTION('',(0.,0.,1.));
#22 = DIRECTION('',(1.,0.,-0.));
#23 = AXIS2_PLACEMENT_3D('',#24,#25,#26);
#24 = CARTESIAN_POINT('',(0.,0.,0.));
#25 = DIRECTION('',(0.,0.,1.));
#26 = DIRECTION('',(1.,0.,-0.));
#27 = AXIS2_PLACEMENT_3D('',#28,#29,#30);
#28 = CARTESIAN_POINT('',(0.,0.,0.));
#29 = DIRECTION('',(0.,0.,1.));
#30 = DIRECTION('',(1.,0.,-0.));
#31 = AXIS2_PLACEMENT_3D('',#32,#33,#34);
#32 = CARTESIAN_POINT('',(0.,0.,0.));
#33 = DIRECTION('',(0.,0.,1.));
#34 = DIRECTION('',(1.,0.,-0.));
#35 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#39)) GLOBAL_UNIT_ASSIGNED_CONTEXT(
(#36,#37,#38)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#36 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#37 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#38 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#39 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#36,
'distance_accuracy_value','confusion accuracy');
#40 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#41 = SHAPE_DEFINITION_REPRESENTATION(#42,#48);
#42 = PRODUCT_DEFINITION_SHAPE('','',#43);
#43 = PRODUCT_DEFINITION('design','',#44,#47);
#44 = PRODUCT_DEFINITION_FORMATION('','',#45);
#45 = PRODUCT('364e6857-93c7-11f1-9269-04bad62a3558',
'364e6857-93c7-11f1-9269-04bad62a3558','',(#46));
#46 = PRODUCT_CONTEXT('',#2,'mechanical');
#47 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#48 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#49),#379);
#49 = MANIFOLD_SOLID_BREP('',#50);
#50 = CLOSED_SHELL('',(#51,#171,#271,#318,#365,#372));
#51 = ADVANCED_FACE('',(#52),#66,.F.);
#52 = FACE_BOUND('',#53,.F.);
#53 = EDGE_LOOP('',(#54,#89,#117,#145));
#54 = ORIENTED_EDGE('',*,*,#55,.F.);
#55 = EDGE_CURVE('',#56,#58,#60,.T.);
#56 = VERTEX_POINT('',#57);
#57 = CARTESIAN_POINT('',(-2.79,-0.19,-2.6));
#58 = VERTEX_POINT('',#59);
#59 = CARTESIAN_POINT('',(-2.79,-0.19,2.7));
#60 = SURFACE_CURVE('',#61,(#65,#77),.PCURVE_S1.);
#61 = LINE('',#62,#63);
#62 = CARTESIAN_POINT('',(-2.79,-0.19,-2.6));
#63 = VECTOR('',#64,1.);
#64 = DIRECTION('',(0.,0.,1.));
#65 = PCURVE('',#66,#71);
#66 = PLANE('',#67);
#67 = AXIS2_PLACEMENT_3D('',#68,#69,#70);
#68 = CARTESIAN_POINT('',(-2.79,-0.19,-2.6));
#69 = DIRECTION('',(1.,0.,0.));
#70 = DIRECTION('',(0.,0.,1.));
#71 = DEFINITIONAL_REPRESENTATION('',(#72),#76);
#72 = LINE('',#73,#74);
#73 = CARTESIAN_POINT('',(0.,0.));
#74 = VECTOR('',#75,1.);
#75 = DIRECTION('',(1.,0.));
#76 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#77 = PCURVE('',#78,#83);
#78 = PLANE('',#79);
#79 = AXIS2_PLACEMENT_3D('',#80,#81,#82);
#80 = CARTESIAN_POINT('',(-2.79,-0.19,-2.6));
#81 = DIRECTION('',(0.,1.,0.));
#82 = DIRECTION('',(0.,0.,1.));
#83 = DEFINITIONAL_REPRESENTATION('',(#84),#88);
#84 = LINE('',#85,#86);
#85 = CARTESIAN_POINT('',(0.,0.));
#86 = VECTOR('',#87,1.);
#87 = DIRECTION('',(1.,0.));
#88 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#89 = ORIENTED_EDGE('',*,*,#90,.T.);
#90 = EDGE_CURVE('',#56,#91,#93,.T.);
#91 = VERTEX_POINT('',#92);
#92 = CARTESIAN_POINT('',(-2.79,0.19,-2.6));
#93 = SURFACE_CURVE('',#94,(#98,#105),.PCURVE_S1.);
#94 = LINE('',#95,#96);
#95 = CARTESIAN_POINT('',(-2.79,-0.19,-2.6));
#96 = VECTOR('',#97,1.);
#97 = DIRECTION('',(0.,1.,0.));
#98 = PCURVE('',#66,#99);
#99 = DEFINITIONAL_REPRESENTATION('',(#100),#104);
#100 = LINE('',#101,#102);
#101 = CARTESIAN_POINT('',(0.,0.));
#102 = VECTOR('',#103,1.);
#103 = DIRECTION('',(0.,-1.));
#104 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#105 = PCURVE('',#106,#111);
#106 = PLANE('',#107);
#107 = AXIS2_PLACEMENT_3D('',#108,#109,#110);
#108 = CARTESIAN_POINT('',(-2.79,-0.19,-2.6));
#109 = DIRECTION('',(0.,0.,1.));
#110 = DIRECTION('',(1.,0.,0.));
#111 = DEFINITIONAL_REPRESENTATION('',(#112),#116);
#112 = LINE('',#113,#114);
#113 = CARTESIAN_POINT('',(0.,0.));
#114 = VECTOR('',#115,1.);
#115 = DIRECTION('',(0.,1.));
#116 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#117 = ORIENTED_EDGE('',*,*,#118,.T.);
#118 = EDGE_CURVE('',#91,#119,#121,.T.);
#119 = VERTEX_POINT('',#120);
#120 = CARTESIAN_POINT('',(-2.79,0.19,2.7));
#121 = SURFACE_CURVE('',#122,(#126,#133),.PCURVE_S1.);
#122 = LINE('',#123,#124);
#123 = CARTESIAN_POINT('',(-2.79,0.19,-2.6));
#124 = VECTOR('',#125,1.);
#125 = DIRECTION('',(0.,0.,1.));
#126 = PCURVE('',#66,#127);
#127 = DEFINITIONAL_REPRESENTATION('',(#128),#132);
#128 = LINE('',#129,#130);
#129 = CARTESIAN_POINT('',(0.,-0.38));
#130 = VECTOR('',#131,1.);
#131 = DIRECTION('',(1.,0.));
#132 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#133 = PCURVE('',#134,#139);
#134 = PLANE('',#135);
#135 = AXIS2_PLACEMENT_3D('',#136,#137,#138);
#136 = CARTESIAN_POINT('',(-2.79,0.19,-2.6));
#137 = DIRECTION('',(0.,1.,0.));
#138 = DIRECTION('',(0.,0.,1.));
#139 = DEFINITIONAL_REPRESENTATION('',(#140),#144);
#140 = LINE('',#141,#142);
#141 = CARTESIAN_POINT('',(0.,0.));
#142 = VECTOR('',#143,1.);
#143 = DIRECTION('',(1.,0.));
#144 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#145 = ORIENTED_EDGE('',*,*,#146,.F.);
#146 = EDGE_CURVE('',#58,#119,#147,.T.);
#147 = SURFACE_CURVE('',#148,(#152,#159),.PCURVE_S1.);
#148 = LINE('',#149,#150);
#149 = CARTESIAN_POINT('',(-2.79,-0.19,2.7));
#150 = VECTOR('',#151,1.);
#151 = DIRECTION('',(0.,1.,0.));
#152 = PCURVE('',#66,#153);
#153 = DEFINITIONAL_REPRESENTATION('',(#154),#158);
#154 = LINE('',#155,#156);
#155 = CARTESIAN_POINT('',(5.3,0.));
#156 = VECTOR('',#157,1.);
#157 = DIRECTION('',(0.,-1.));
#158 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#159 = PCURVE('',#160,#165);
#160 = PLANE('',#161);
#161 = AXIS2_PLACEMENT_3D('',#162,#163,#164);
#162 = CARTESIAN_POINT('',(-2.79,-0.19,2.7));
#163 = DIRECTION('',(0.,0.,1.));
#164 = DIRECTION('',(1.,0.,0.));
#165 = DEFINITIONAL_REPRESENTATION('',(#166),#170);
#166 = LINE('',#167,#168);
#167 = CARTESIAN_POINT('',(0.,0.));
#168 = VECTOR('',#169,1.);
#169 = DIRECTION('',(0.,1.));
#170 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#171 = ADVANCED_FACE('',(#172),#186,.T.);
#172 = FACE_BOUND('',#173,.T.);
#173 = EDGE_LOOP('',(#174,#204,#227,#250));
#174 = ORIENTED_EDGE('',*,*,#175,.F.);
#175 = EDGE_CURVE('',#176,#178,#180,.T.);
#176 = VERTEX_POINT('',#177);
#177 = CARTESIAN_POINT('',(-2.29,-0.19,-2.6));
#178 = VERTEX_POINT('',#179);
#179 = CARTESIAN_POINT('',(-2.29,-0.19,2.7));
#180 = SURFACE_CURVE('',#181,(#185,#197),.PCURVE_S1.);
#181 = LINE('',#182,#183);
#182 = CARTESIAN_POINT('',(-2.29,-0.19,-2.6));
#183 = VECTOR('',#184,1.);
#184 = DIRECTION('',(0.,0.,1.));
#185 = PCURVE('',#186,#191);
#186 = PLANE('',#187);
#187 = AXIS2_PLACEMENT_3D('',#188,#189,#190);
#188 = CARTESIAN_POINT('',(-2.29,-0.19,-2.6));
#189 = DIRECTION('',(1.,0.,0.));
#190 = DIRECTION('',(0.,0.,1.));
#191 = DEFINITIONAL_REPRESENTATION('',(#192),#196);
#192 = LINE('',#193,#194);
#193 = CARTESIAN_POINT('',(0.,0.));
#194 = VECTOR('',#195,1.);
#195 = DIRECTION('',(1.,0.));
#196 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#197 = PCURVE('',#78,#198);
#198 = DEFINITIONAL_REPRESENTATION('',(#199),#203);
#199 = LINE('',#200,#201);
#200 = CARTESIAN_POINT('',(0.,0.5));
#201 = VECTOR('',#202,1.);
#202 = DIRECTION('',(1.,0.));
#203 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#204 = ORIENTED_EDGE('',*,*,#205,.T.);
#205 = EDGE_CURVE('',#176,#206,#208,.T.);
#206 = VERTEX_POINT('',#207);
#207 = CARTESIAN_POINT('',(-2.29,0.19,-2.6));
#208 = SURFACE_CURVE('',#209,(#213,#220),.PCURVE_S1.);
#209 = LINE('',#210,#211);
#210 = CARTESIAN_POINT('',(-2.29,-0.19,-2.6));
#211 = VECTOR('',#212,1.);
#212 = DIRECTION('',(0.,1.,0.));
#213 = PCURVE('',#186,#214);
#214 = DEFINITIONAL_REPRESENTATION('',(#215),#219);
#215 = LINE('',#216,#217);
#216 = CARTESIAN_POINT('',(0.,0.));
#217 = VECTOR('',#218,1.);
#218 = DIRECTION('',(0.,-1.));
#219 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#220 = PCURVE('',#106,#221);
#221 = DEFINITIONAL_REPRESENTATION('',(#222),#226);
#222 = LINE('',#223,#224);
#223 = CARTESIAN_POINT('',(0.5,0.));
#224 = VECTOR('',#225,1.);
#225 = DIRECTION('',(0.,1.));
#226 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#227 = ORIENTED_EDGE('',*,*,#228,.T.);
#228 = EDGE_CURVE('',#206,#229,#231,.T.);
#229 = VERTEX_POINT('',#230);
#230 = CARTESIAN_POINT('',(-2.29,0.19,2.7));
#231 = SURFACE_CURVE('',#232,(#236,#243),.PCURVE_S1.);
#232 = LINE('',#233,#234);
#233 = CARTESIAN_POINT('',(-2.29,0.19,-2.6));
#234 = VECTOR('',#235,1.);
#235 = DIRECTION('',(0.,0.,1.));
#236 = PCURVE('',#186,#237);
#237 = DEFINITIONAL_REPRESENTATION('',(#238),#242);
#238 = LINE('',#239,#240);
#239 = CARTESIAN_POINT('',(0.,-0.38));
#240 = VECTOR('',#241,1.);
#241 = DIRECTION('',(1.,0.));
#242 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#243 = PCURVE('',#134,#244);
#244 = DEFINITIONAL_REPRESENTATION('',(#245),#249);
#245 = LINE('',#246,#247);
#246 = CARTESIAN_POINT('',(0.,0.5));
#247 = VECTOR('',#248,1.);
#248 = DIRECTION('',(1.,0.));
#249 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#250 = ORIENTED_EDGE('',*,*,#251,.F.);
#251 = EDGE_CURVE('',#178,#229,#252,.T.);
#252 = SURFACE_CURVE('',#253,(#257,#264),.PCURVE_S1.);
#253 = LINE('',#254,#255);
#254 = CARTESIAN_POINT('',(-2.29,-0.19,2.7));
#255 = VECTOR('',#256,1.);
#256 = DIRECTION('',(0.,1.,0.));
#257 = PCURVE('',#186,#258);
#258 = DEFINITIONAL_REPRESENTATION('',(#259),#263);
#259 = LINE('',#260,#261);
#260 = CARTESIAN_POINT('',(5.3,0.));
#261 = VECTOR('',#262,1.);
#262 = DIRECTION('',(0.,-1.));
#263 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#264 = PCURVE('',#160,#265);
#265 = DEFINITIONAL_REPRESENTATION('',(#266),#270);
#266 = LINE('',#267,#268);
#267 = CARTESIAN_POINT('',(0.5,0.));
#268 = VECTOR('',#269,1.);
#269 = DIRECTION('',(0.,1.));
#270 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#271 = ADVANCED_FACE('',(#272),#78,.F.);
#272 = FACE_BOUND('',#273,.F.);
#273 = EDGE_LOOP('',(#274,#295,#296,#317));
#274 = ORIENTED_EDGE('',*,*,#275,.F.);
#275 = EDGE_CURVE('',#56,#176,#276,.T.);
#276 = SURFACE_CURVE('',#277,(#281,#288),.PCURVE_S1.);
#277 = LINE('',#278,#279);
#278 = CARTESIAN_POINT('',(-2.79,-0.19,-2.6));
#279 = VECTOR('',#280,1.);
#280 = DIRECTION('',(1.,0.,0.));
#281 = PCURVE('',#78,#282);
#282 = DEFINITIONAL_REPRESENTATION('',(#283),#287);
#283 = LINE('',#284,#285);
#284 = CARTESIAN_POINT('',(0.,0.));
#285 = VECTOR('',#286,1.);
#286 = DIRECTION('',(0.,1.));
#287 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#288 = PCURVE('',#106,#289);
#289 = DEFINITIONAL_REPRESENTATION('',(#290),#294);
#290 = LINE('',#291,#292);
#291 = CARTESIAN_POINT('',(0.,0.));
#292 = VECTOR('',#293,1.);
#293 = DIRECTION('',(1.,0.));
#294 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#295 = ORIENTED_EDGE('',*,*,#55,.T.);
#296 = ORIENTED_EDGE('',*,*,#297,.T.);
#297 = EDGE_CURVE('',#58,#178,#298,.T.);
#298 = SURFACE_CURVE('',#299,(#303,#310),.PCURVE_S1.);
#299 = LINE('',#300,#301);
#300 = CARTESIAN_POINT('',(-2.79,-0.19,2.7));
#301 = VECTOR('',#302,1.);
#302 = DIRECTION('',(1.,0.,0.));
#303 = PCURVE('',#78,#304);
#304 = DEFINITIONAL_REPRESENTATION('',(#305),#309);
#305 = LINE('',#306,#307);
#306 = CARTESIAN_POINT('',(5.3,0.));
#307 = VECTOR('',#308,1.);
#308 = DIRECTION('',(0.,1.));
#309 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#310 = PCURVE('',#160,#311);
#311 = DEFINITIONAL_REPRESENTATION('',(#312),#316);
#312 = LINE('',#313,#314);
#313 = CARTESIAN_POINT('',(0.,0.));
#314 = VECTOR('',#315,1.);
#315 = DIRECTION('',(1.,0.));
#316 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#317 = ORIENTED_EDGE('',*,*,#175,.F.);
#318 = ADVANCED_FACE('',(#319),#134,.T.);
#319 = FACE_BOUND('',#320,.T.);
#320 = EDGE_LOOP('',(#321,#342,#343,#364));
#321 = ORIENTED_EDGE('',*,*,#322,.F.);
#322 = EDGE_CURVE('',#91,#206,#323,.T.);
#323 = SURFACE_CURVE('',#324,(#328,#335),.PCURVE_S1.);
#324 = LINE('',#325,#326);
#325 = CARTESIAN_POINT('',(-2.79,0.19,-2.6));
#326 = VECTOR('',#327,1.);
#327 = DIRECTION('',(1.,0.,0.));
#328 = PCURVE('',#134,#329);
#329 = DEFINITIONAL_REPRESENTATION('',(#330),#334);
#330 = LINE('',#331,#332);
#331 = CARTESIAN_POINT('',(0.,0.));
#332 = VECTOR('',#333,1.);
#333 = DIRECTION('',(0.,1.));
#334 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#335 = PCURVE('',#106,#336);
#336 = DEFINITIONAL_REPRESENTATION('',(#337),#341);
#337 = LINE('',#338,#339);
#338 = CARTESIAN_POINT('',(0.,0.38));
#339 = VECTOR('',#340,1.);
#340 = DIRECTION('',(1.,0.));
#341 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#342 = ORIENTED_EDGE('',*,*,#118,.T.);
#343 = ORIENTED_EDGE('',*,*,#344,.T.);
#344 = EDGE_CURVE('',#119,#229,#345,.T.);
#345 = SURFACE_CURVE('',#346,(#350,#357),.PCURVE_S1.);
#346 = LINE('',#347,#348);
#347 = CARTESIAN_POINT('',(-2.79,0.19,2.7));
#348 = VECTOR('',#349,1.);
#349 = DIRECTION('',(1.,0.,0.));
#350 = PCURVE('',#134,#351);
#351 = DEFINITIONAL_REPRESENTATION('',(#352),#356);
#352 = LINE('',#353,#354);
#353 = CARTESIAN_POINT('',(5.3,0.));
#354 = VECTOR('',#355,1.);
#355 = DIRECTION('',(0.,1.));
#356 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#357 = PCURVE('',#160,#358);
#358 = DEFINITIONAL_REPRESENTATION('',(#359),#363);
#359 = LINE('',#360,#361);
#360 = CARTESIAN_POINT('',(0.,0.38));
#361 = VECTOR('',#362,1.);
#362 = DIRECTION('',(1.,0.));
#363 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#364 = ORIENTED_EDGE('',*,*,#228,.F.);
#365 = ADVANCED_FACE('',(#366),#106,.F.);
#366 = FACE_BOUND('',#367,.F.);
#367 = EDGE_LOOP('',(#368,#369,#370,#371));
#368 = ORIENTED_EDGE('',*,*,#90,.F.);
#369 = ORIENTED_EDGE('',*,*,#275,.T.);
#370 = ORIENTED_EDGE('',*,*,#205,.T.);
#371 = ORIENTED_EDGE('',*,*,#322,.F.);
#372 = ADVANCED_FACE('',(#373),#160,.T.);
#373 = FACE_BOUND('',#374,.T.);
#374 = EDGE_LOOP('',(#375,#376,#377,#378));
#375 = ORIENTED_EDGE('',*,*,#146,.F.);
#376 = ORIENTED_EDGE('',*,*,#297,.T.);
#377 = ORIENTED_EDGE('',*,*,#251,.T.);
#378 = ORIENTED_EDGE('',*,*,#344,.F.);
#379 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#383)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#380,#381,#382)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#380 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#381 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#382 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#383 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#380,
'distance_accuracy_value','confusion accuracy');
#384 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#385,#387);
#385 = ( REPRESENTATION_RELATIONSHIP('','',#48,#10)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#386)
SHAPE_REPRESENTATION_RELATIONSHIP() );
#386 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);
#387 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#388
);
#388 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('56',
'364e6857-93c7-11f1-9269-04bad62a3558','',#5,#43,$);
#389 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#45));
#390 = SHAPE_DEFINITION_REPRESENTATION(#391,#397);
#391 = PRODUCT_DEFINITION_SHAPE('','',#392);
#392 = PRODUCT_DEFINITION('design','',#393,#396);
#393 = PRODUCT_DEFINITION_FORMATION('','',#394);
#394 = PRODUCT('364ea3ca-93c7-11f1-bdcd-04bad62a3558',
'364ea3ca-93c7-11f1-bdcd-04bad62a3558','',(#395));
#395 = PRODUCT_CONTEXT('',#2,'mechanical');
#396 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#397 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#398),#728);
#398 = MANIFOLD_SOLID_BREP('',#399);
#399 = CLOSED_SHELL('',(#400,#520,#620,#667,#714,#721));
#400 = ADVANCED_FACE('',(#401),#415,.F.);
#401 = FACE_BOUND('',#402,.F.);
#402 = EDGE_LOOP('',(#403,#438,#466,#494));
#403 = ORIENTED_EDGE('',*,*,#404,.F.);
#404 = EDGE_CURVE('',#405,#407,#409,.T.);
#405 = VERTEX_POINT('',#406);
#406 = CARTESIAN_POINT('',(2.29,-0.19,-2.6));
#407 = VERTEX_POINT('',#408);
#408 = CARTESIAN_POINT('',(2.29,-0.19,2.7));
#409 = SURFACE_CURVE('',#410,(#414,#426),.PCURVE_S1.);
#410 = LINE('',#411,#412);
#411 = CARTESIAN_POINT('',(2.29,-0.19,-2.6));
#412 = VECTOR('',#413,1.);
#413 = DIRECTION('',(0.,0.,1.));
#414 = PCURVE('',#415,#420);
#415 = PLANE('',#416);
#416 = AXIS2_PLACEMENT_3D('',#417,#418,#419);
#417 = CARTESIAN_POINT('',(2.29,-0.19,-2.6));
#418 = DIRECTION('',(1.,0.,0.));
#419 = DIRECTION('',(0.,0.,1.));
#420 = DEFINITIONAL_REPRESENTATION('',(#421),#425);
#421 = LINE('',#422,#423);
#422 = CARTESIAN_POINT('',(0.,0.));
#423 = VECTOR('',#424,1.);
#424 = DIRECTION('',(1.,0.));
#425 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#426 = PCURVE('',#427,#432);
#427 = PLANE('',#428);
#428 = AXIS2_PLACEMENT_3D('',#429,#430,#431);
#429 = CARTESIAN_POINT('',(2.29,-0.19,-2.6));
#430 = DIRECTION('',(0.,1.,0.));
#431 = DIRECTION('',(0.,0.,1.));
#432 = DEFINITIONAL_REPRESENTATION('',(#433),#437);
#433 = LINE('',#434,#435);
#434 = CARTESIAN_POINT('',(0.,0.));
#435 = VECTOR('',#436,1.);
#436 = DIRECTION('',(1.,0.));
#437 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#438 = ORIENTED_EDGE('',*,*,#439,.T.);
#439 = EDGE_CURVE('',#405,#440,#442,.T.);
#440 = VERTEX_POINT('',#441);
#441 = CARTESIAN_POINT('',(2.29,0.19,-2.6));
#442 = SURFACE_CURVE('',#443,(#447,#454),.PCURVE_S1.);
#443 = LINE('',#444,#445);
#444 = CARTESIAN_POINT('',(2.29,-0.19,-2.6));
#445 = VECTOR('',#446,1.);
#446 = DIRECTION('',(0.,1.,0.));
#447 = PCURVE('',#415,#448);
#448 = DEFINITIONAL_REPRESENTATION('',(#449),#453);
#449 = LINE('',#450,#451);
#450 = CARTESIAN_POINT('',(0.,0.));
#451 = VECTOR('',#452,1.);
#452 = DIRECTION('',(0.,-1.));
#453 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#454 = PCURVE('',#455,#460);
#455 = PLANE('',#456);
#456 = AXIS2_PLACEMENT_3D('',#457,#458,#459);
#457 = CARTESIAN_POINT('',(2.29,-0.19,-2.6));
#458 = DIRECTION('',(0.,0.,1.));
#459 = DIRECTION('',(1.,0.,0.));
#460 = DEFINITIONAL_REPRESENTATION('',(#461),#465);
#461 = LINE('',#462,#463);
#462 = CARTESIAN_POINT('',(0.,0.));
#463 = VECTOR('',#464,1.);
#464 = DIRECTION('',(0.,1.));
#465 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#466 = ORIENTED_EDGE('',*,*,#467,.T.);
#467 = EDGE_CURVE('',#440,#468,#470,.T.);
#468 = VERTEX_POINT('',#469);
#469 = CARTESIAN_POINT('',(2.29,0.19,2.7));
#470 = SURFACE_CURVE('',#471,(#475,#482),.PCURVE_S1.);
#471 = LINE('',#472,#473);
#472 = CARTESIAN_POINT('',(2.29,0.19,-2.6));
#473 = VECTOR('',#474,1.);
#474 = DIRECTION('',(0.,0.,1.));
#475 = PCURVE('',#415,#476);
#476 = DEFINITIONAL_REPRESENTATION('',(#477),#481);
#477 = LINE('',#478,#479);
#478 = CARTESIAN_POINT('',(0.,-0.38));
#479 = VECTOR('',#480,1.);
#480 = DIRECTION('',(1.,0.));
#481 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#482 = PCURVE('',#483,#488);
#483 = PLANE('',#484);
#484 = AXIS2_PLACEMENT_3D('',#485,#486,#487);
#485 = CARTESIAN_POINT('',(2.29,0.19,-2.6));
#486 = DIRECTION('',(0.,1.,0.));
#487 = DIRECTION('',(0.,0.,1.));
#488 = DEFINITIONAL_REPRESENTATION('',(#489),#493);
#489 = LINE('',#490,#491);
#490 = CARTESIAN_POINT('',(0.,0.));
#491 = VECTOR('',#492,1.);
#492 = DIRECTION('',(1.,0.));
#493 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#494 = ORIENTED_EDGE('',*,*,#495,.F.);
#495 = EDGE_CURVE('',#407,#468,#496,.T.);
#496 = SURFACE_CURVE('',#497,(#501,#508),.PCURVE_S1.);
#497 = LINE('',#498,#499);
#498 = CARTESIAN_POINT('',(2.29,-0.19,2.7));
#499 = VECTOR('',#500,1.);
#500 = DIRECTION('',(0.,1.,0.));
#501 = PCURVE('',#415,#502);
#502 = DEFINITIONAL_REPRESENTATION('',(#503),#507);
#503 = LINE('',#504,#505);
#504 = CARTESIAN_POINT('',(5.3,0.));
#505 = VECTOR('',#506,1.);
#506 = DIRECTION('',(0.,-1.));
#507 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#508 = PCURVE('',#509,#514);
#509 = PLANE('',#510);
#510 = AXIS2_PLACEMENT_3D('',#511,#512,#513);
#511 = CARTESIAN_POINT('',(2.29,-0.19,2.7));
#512 = DIRECTION('',(0.,0.,1.));
#513 = DIRECTION('',(1.,0.,0.));
#514 = DEFINITIONAL_REPRESENTATION('',(#515),#519);
#515 = LINE('',#516,#517);
#516 = CARTESIAN_POINT('',(0.,0.));
#517 = VECTOR('',#518,1.);
#518 = DIRECTION('',(0.,1.));
#519 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#520 = ADVANCED_FACE('',(#521),#535,.T.);
#521 = FACE_BOUND('',#522,.T.);
#522 = EDGE_LOOP('',(#523,#553,#576,#599));
#523 = ORIENTED_EDGE('',*,*,#524,.F.);
#524 = EDGE_CURVE('',#525,#527,#529,.T.);
#525 = VERTEX_POINT('',#526);
#526 = CARTESIAN_POINT('',(2.79,-0.19,-2.6));
#527 = VERTEX_POINT('',#528);
#528 = CARTESIAN_POINT('',(2.79,-0.19,2.7));
#529 = SURFACE_CURVE('',#530,(#534,#546),.PCURVE_S1.);
#530 = LINE('',#531,#532);
#531 = CARTESIAN_POINT('',(2.79,-0.19,-2.6));
#532 = VECTOR('',#533,1.);
#533 = DIRECTION('',(0.,0.,1.));
#534 = PCURVE('',#535,#540);
#535 = PLANE('',#536);
#536 = AXIS2_PLACEMENT_3D('',#537,#538,#539);
#537 = CARTESIAN_POINT('',(2.79,-0.19,-2.6));
#538 = DIRECTION('',(1.,0.,0.));
#539 = DIRECTION('',(0.,0.,1.));
#540 = DEFINITIONAL_REPRESENTATION('',(#541),#545);
#541 = LINE('',#542,#543);
#542 = CARTESIAN_POINT('',(0.,0.));
#543 = VECTOR('',#544,1.);
#544 = DIRECTION('',(1.,0.));
#545 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#546 = PCURVE('',#427,#547);
#547 = DEFINITIONAL_REPRESENTATION('',(#548),#552);
#548 = LINE('',#549,#550);
#549 = CARTESIAN_POINT('',(0.,0.5));
#550 = VECTOR('',#551,1.);
#551 = DIRECTION('',(1.,0.));
#552 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#553 = ORIENTED_EDGE('',*,*,#554,.T.);
#554 = EDGE_CURVE('',#525,#555,#557,.T.);
#555 = VERTEX_POINT('',#556);
#556 = CARTESIAN_POINT('',(2.79,0.19,-2.6));
#557 = SURFACE_CURVE('',#558,(#562,#569),.PCURVE_S1.);
#558 = LINE('',#559,#560);
#559 = CARTESIAN_POINT('',(2.79,-0.19,-2.6));
#560 = VECTOR('',#561,1.);
#561 = DIRECTION('',(0.,1.,0.));
#562 = PCURVE('',#535,#563);
#563 = DEFINITIONAL_REPRESENTATION('',(#564),#568);
#564 = LINE('',#565,#566);
#565 = CARTESIAN_POINT('',(0.,0.));
#566 = VECTOR('',#567,1.);
#567 = DIRECTION('',(0.,-1.));
#568 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#569 = PCURVE('',#455,#570);
#570 = DEFINITIONAL_REPRESENTATION('',(#571),#575);
#571 = LINE('',#572,#573);
#572 = CARTESIAN_POINT('',(0.5,0.));
#573 = VECTOR('',#574,1.);
#574 = DIRECTION('',(0.,1.));
#575 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#576 = ORIENTED_EDGE('',*,*,#577,.T.);
#577 = EDGE_CURVE('',#555,#578,#580,.T.);
#578 = VERTEX_POINT('',#579);
#579 = CARTESIAN_POINT('',(2.79,0.19,2.7));
#580 = SURFACE_CURVE('',#581,(#585,#592),.PCURVE_S1.);
#581 = LINE('',#582,#583);
#582 = CARTESIAN_POINT('',(2.79,0.19,-2.6));
#583 = VECTOR('',#584,1.);
#584 = DIRECTION('',(0.,0.,1.));
#585 = PCURVE('',#535,#586);
#586 = DEFINITIONAL_REPRESENTATION('',(#587),#591);
#587 = LINE('',#588,#589);
#588 = CARTESIAN_POINT('',(0.,-0.38));
#589 = VECTOR('',#590,1.);
#590 = DIRECTION('',(1.,0.));
#591 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#592 = PCURVE('',#483,#593);
#593 = DEFINITIONAL_REPRESENTATION('',(#594),#598);
#594 = LINE('',#595,#596);
#595 = CARTESIAN_POINT('',(0.,0.5));
#596 = VECTOR('',#597,1.);
#597 = DIRECTION('',(1.,0.));
#598 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#599 = ORIENTED_EDGE('',*,*,#600,.F.);
#600 = EDGE_CURVE('',#527,#578,#601,.T.);
#601 = SURFACE_CURVE('',#602,(#606,#613),.PCURVE_S1.);
#602 = LINE('',#603,#604);
#603 = CARTESIAN_POINT('',(2.79,-0.19,2.7));
#604 = VECTOR('',#605,1.);
#605 = DIRECTION('',(0.,1.,0.));
#606 = PCURVE('',#535,#607);
#607 = DEFINITIONAL_REPRESENTATION('',(#608),#612);
#608 = LINE('',#609,#610);
#609 = CARTESIAN_POINT('',(5.3,0.));
#610 = VECTOR('',#611,1.);
#611 = DIRECTION('',(0.,-1.));
#612 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#613 = PCURVE('',#509,#614);
#614 = DEFINITIONAL_REPRESENTATION('',(#615),#619);
#615 = LINE('',#616,#617);
#616 = CARTESIAN_POINT('',(0.5,0.));
#617 = VECTOR('',#618,1.);
#618 = DIRECTION('',(0.,1.));
#619 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#620 = ADVANCED_FACE('',(#621),#427,.F.);
#621 = FACE_BOUND('',#622,.F.);
#622 = EDGE_LOOP('',(#623,#644,#645,#666));
#623 = ORIENTED_EDGE('',*,*,#624,.F.);
#624 = EDGE_CURVE('',#405,#525,#625,.T.);
#625 = SURFACE_CURVE('',#626,(#630,#637),.PCURVE_S1.);
#626 = LINE('',#627,#628);
#627 = CARTESIAN_POINT('',(2.29,-0.19,-2.6));
#628 = VECTOR('',#629,1.);
#629 = DIRECTION('',(1.,0.,0.));
#630 = PCURVE('',#427,#631);
#631 = DEFINITIONAL_REPRESENTATION('',(#632),#636);
#632 = LINE('',#633,#634);
#633 = CARTESIAN_POINT('',(0.,0.));
#634 = VECTOR('',#635,1.);
#635 = DIRECTION('',(0.,1.));
#636 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#637 = PCURVE('',#455,#638);
#638 = DEFINITIONAL_REPRESENTATION('',(#639),#643);
#639 = LINE('',#640,#641);
#640 = CARTESIAN_POINT('',(0.,0.));
#641 = VECTOR('',#642,1.);
#642 = DIRECTION('',(1.,0.));
#643 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#644 = ORIENTED_EDGE('',*,*,#404,.T.);
#645 = ORIENTED_EDGE('',*,*,#646,.T.);
#646 = EDGE_CURVE('',#407,#527,#647,.T.);
#647 = SURFACE_CURVE('',#648,(#652,#659),.PCURVE_S1.);
#648 = LINE('',#649,#650);
#649 = CARTESIAN_POINT('',(2.29,-0.19,2.7));
#650 = VECTOR('',#651,1.);
#651 = DIRECTION('',(1.,0.,0.));
#652 = PCURVE('',#427,#653);
#653 = DEFINITIONAL_REPRESENTATION('',(#654),#658);
#654 = LINE('',#655,#656);
#655 = CARTESIAN_POINT('',(5.3,0.));
#656 = VECTOR('',#657,1.);
#657 = DIRECTION('',(0.,1.));
#658 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#659 = PCURVE('',#509,#660);
#660 = DEFINITIONAL_REPRESENTATION('',(#661),#665);
#661 = LINE('',#662,#663);
#662 = CARTESIAN_POINT('',(0.,0.));
#663 = VECTOR('',#664,1.);
#664 = DIRECTION('',(1.,0.));
#665 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#666 = ORIENTED_EDGE('',*,*,#524,.F.);
#667 = ADVANCED_FACE('',(#668),#483,.T.);
#668 = FACE_BOUND('',#669,.T.);
#669 = EDGE_LOOP('',(#670,#691,#692,#713));
#670 = ORIENTED_EDGE('',*,*,#671,.F.);
#671 = EDGE_CURVE('',#440,#555,#672,.T.);
#672 = SURFACE_CURVE('',#673,(#677,#684),.PCURVE_S1.);
#673 = LINE('',#674,#675);
#674 = CARTESIAN_POINT('',(2.29,0.19,-2.6));
#675 = VECTOR('',#676,1.);
#676 = DIRECTION('',(1.,0.,0.));
#677 = PCURVE('',#483,#678);
#678 = DEFINITIONAL_REPRESENTATION('',(#679),#683);
#679 = LINE('',#680,#681);
#680 = CARTESIAN_POINT('',(0.,0.));
#681 = VECTOR('',#682,1.);
#682 = DIRECTION('',(0.,1.));
#683 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#684 = PCURVE('',#455,#685);
#685 = DEFINITIONAL_REPRESENTATION('',(#686),#690);
#686 = LINE('',#687,#688);
#687 = CARTESIAN_POINT('',(0.,0.38));
#688 = VECTOR('',#689,1.);
#689 = DIRECTION('',(1.,0.));
#690 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#691 = ORIENTED_EDGE('',*,*,#467,.T.);
#692 = ORIENTED_EDGE('',*,*,#693,.T.);
#693 = EDGE_CURVE('',#468,#578,#694,.T.);
#694 = SURFACE_CURVE('',#695,(#699,#706),.PCURVE_S1.);
#695 = LINE('',#696,#697);
#696 = CARTESIAN_POINT('',(2.29,0.19,2.7));
#697 = VECTOR('',#698,1.);
#698 = DIRECTION('',(1.,0.,0.));
#699 = PCURVE('',#483,#700);
#700 = DEFINITIONAL_REPRESENTATION('',(#701),#705);
#701 = LINE('',#702,#703);
#702 = CARTESIAN_POINT('',(5.3,0.));
#703 = VECTOR('',#704,1.);
#704 = DIRECTION('',(0.,1.));
#705 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#706 = PCURVE('',#509,#707);
#707 = DEFINITIONAL_REPRESENTATION('',(#708),#712);
#708 = LINE('',#709,#710);
#709 = CARTESIAN_POINT('',(0.,0.38));
#710 = VECTOR('',#711,1.);
#711 = DIRECTION('',(1.,0.));
#712 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#713 = ORIENTED_EDGE('',*,*,#577,.F.);
#714 = ADVANCED_FACE('',(#715),#455,.F.);
#715 = FACE_BOUND('',#716,.F.);
#716 = EDGE_LOOP('',(#717,#718,#719,#720));
#717 = ORIENTED_EDGE('',*,*,#439,.F.);
#718 = ORIENTED_EDGE('',*,*,#624,.T.);
#719 = ORIENTED_EDGE('',*,*,#554,.T.);
#720 = ORIENTED_EDGE('',*,*,#671,.F.);
#721 = ADVANCED_FACE('',(#722),#509,.T.);
#722 = FACE_BOUND('',#723,.T.);
#723 = EDGE_LOOP('',(#724,#725,#726,#727));
#724 = ORIENTED_EDGE('',*,*,#495,.F.);
#725 = ORIENTED_EDGE('',*,*,#646,.T.);
#726 = ORIENTED_EDGE('',*,*,#600,.T.);
#727 = ORIENTED_EDGE('',*,*,#693,.F.);
#728 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#732)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#729,#730,#731)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#729 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#730 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#731 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#732 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#729,
'distance_accuracy_value','confusion accuracy');
#733 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#734,#736);
#734 = ( REPRESENTATION_RELATIONSHIP('','',#397,#10)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#735)
SHAPE_REPRESENTATION_RELATIONSHIP() );
#735 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19);
#736 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#737
);
#737 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('57',
'364ea3ca-93c7-11f1-bdcd-04bad62a3558','',#5,#392,$);
#738 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#394));
#739 = SHAPE_DEFINITION_REPRESENTATION(#740,#746);
#740 = PRODUCT_DEFINITION_SHAPE('','',#741);
#741 = PRODUCT_DEFINITION('design','',#742,#745);
#742 = PRODUCT_DEFINITION_FORMATION('','',#743);
#743 = PRODUCT('3650c6ce-93c7-11f1-9448-04bad62a3558',
'3650c6ce-93c7-11f1-9448-04bad62a3558','',(#744));
#744 = PRODUCT_CONTEXT('',#2,'mechanical');
#745 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#746 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#747),#1413);
#747 = MANIFOLD_SOLID_BREP('',#748);
#748 = CLOSED_SHELL('',(#749,#869,#1069,#1119,#1173,#1298,#1325,#1352,
#1379,#1406));
#749 = ADVANCED_FACE('',(#750),#764,.F.);
#750 = FACE_BOUND('',#751,.F.);
#751 = EDGE_LOOP('',(#752,#787,#815,#843));
#752 = ORIENTED_EDGE('',*,*,#753,.F.);
#753 = EDGE_CURVE('',#754,#756,#758,.T.);
#754 = VERTEX_POINT('',#755);
#755 = CARTESIAN_POINT('',(-2.325,-0.75,6.45));
#756 = VERTEX_POINT('',#757);
#757 = CARTESIAN_POINT('',(-2.325,0.75,6.45));
#758 = SURFACE_CURVE('',#759,(#763,#775),.PCURVE_S1.);
#759 = LINE('',#760,#761);
#760 = CARTESIAN_POINT('',(-2.325,-1.,6.45));
#761 = VECTOR('',#762,1.);
#762 = DIRECTION('',(0.,1.,0.));
#763 = PCURVE('',#764,#769);
#764 = PLANE('',#765);
#765 = AXIS2_PLACEMENT_3D('',#766,#767,#768);
#766 = CARTESIAN_POINT('',(-2.325,-1.,2.15));
#767 = DIRECTION('',(1.,0.,0.));
#768 = DIRECTION('',(0.,0.,1.));
#769 = DEFINITIONAL_REPRESENTATION('',(#770),#774);
#770 = LINE('',#771,#772);
#771 = CARTESIAN_POINT('',(4.3,0.));
#772 = VECTOR('',#773,1.);
#773 = DIRECTION('',(0.,-1.));
#774 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#775 = PCURVE('',#776,#781);
#776 = PLANE('',#777);
#777 = AXIS2_PLACEMENT_3D('',#778,#779,#780);
#778 = CARTESIAN_POINT('',(-2.325,-1.,6.45));
#779 = DIRECTION('',(0.,0.,1.));
#780 = DIRECTION('',(1.,0.,0.));
#781 = DEFINITIONAL_REPRESENTATION('',(#782),#786);
#782 = LINE('',#783,#784);
#783 = CARTESIAN_POINT('',(0.,0.));
#784 = VECTOR('',#785,1.);
#785 = DIRECTION('',(0.,1.));
#786 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#787 = ORIENTED_EDGE('',*,*,#788,.F.);
#788 = EDGE_CURVE('',#789,#754,#791,.T.);
#789 = VERTEX_POINT('',#790);
#790 = CARTESIAN_POINT('',(-2.325,-0.75,2.15));
#791 = SURFACE_CURVE('',#792,(#796,#803),.PCURVE_S1.);
#792 = LINE('',#793,#794);
#793 = CARTESIAN_POINT('',(-2.325,-0.75,2.15));
#794 = VECTOR('',#795,1.);
#795 = DIRECTION('',(0.,0.,1.));
#796 = PCURVE('',#764,#797);
#797 = DEFINITIONAL_REPRESENTATION('',(#798),#802);
#798 = LINE('',#799,#800);
#799 = CARTESIAN_POINT('',(0.,-0.25));
#800 = VECTOR('',#801,1.);
#801 = DIRECTION('',(1.,0.));
#802 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#803 = PCURVE('',#804,#809);
#804 = CYLINDRICAL_SURFACE('',#805,0.25);
#805 = AXIS2_PLACEMENT_3D('',#806,#807,#808);
#806 = CARTESIAN_POINT('',(-2.075,-0.75,2.15));
#807 = DIRECTION('',(0.,0.,1.));
#808 = DIRECTION('',(-1.,-0.,0.));
#809 = DEFINITIONAL_REPRESENTATION('',(#810),#814);
#810 = LINE('',#811,#812);
#811 = CARTESIAN_POINT('',(0.,0.));
#812 = VECTOR('',#813,1.);
#813 = DIRECTION('',(0.,1.));
#814 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#815 = ORIENTED_EDGE('',*,*,#816,.T.);
#816 = EDGE_CURVE('',#789,#817,#819,.T.);
#817 = VERTEX_POINT('',#818);
#818 = CARTESIAN_POINT('',(-2.325,0.75,2.15));
#819 = SURFACE_CURVE('',#820,(#824,#831),.PCURVE_S1.);
#820 = LINE('',#821,#822);
#821 = CARTESIAN_POINT('',(-2.325,-1.,2.15));
#822 = VECTOR('',#823,1.);
#823 = DIRECTION('',(0.,1.,0.));
#824 = PCURVE('',#764,#825);
#825 = DEFINITIONAL_REPRESENTATION('',(#826),#830);
#826 = LINE('',#827,#828);
#827 = CARTESIAN_POINT('',(0.,0.));
#828 = VECTOR('',#829,1.);
#829 = DIRECTION('',(0.,-1.));
#830 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#831 = PCURVE('',#832,#837);
#832 = PLANE('',#833);
#833 = AXIS2_PLACEMENT_3D('',#834,#835,#836);
#834 = CARTESIAN_POINT('',(-2.325,-1.,2.15));
#835 = DIRECTION('',(0.,0.,1.));
#836 = DIRECTION('',(1.,0.,0.));
#837 = DEFINITIONAL_REPRESENTATION('',(#838),#842);
#838 = LINE('',#839,#840);
#839 = CARTESIAN_POINT('',(0.,0.));
#840 = VECTOR('',#841,1.);
#841 = DIRECTION('',(0.,1.));
#842 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#843 = ORIENTED_EDGE('',*,*,#844,.T.);
#844 = EDGE_CURVE('',#817,#756,#845,.T.);
#845 = SURFACE_CURVE('',#846,(#850,#857),.PCURVE_S1.);
#846 = LINE('',#847,#848);
#847 = CARTESIAN_POINT('',(-2.325,0.75,2.15));
#848 = VECTOR('',#849,1.);
#849 = DIRECTION('',(0.,0.,1.));
#850 = PCURVE('',#764,#851);
#851 = DEFINITIONAL_REPRESENTATION('',(#852),#856);
#852 = LINE('',#853,#854);
#853 = CARTESIAN_POINT('',(0.,-1.75));
#854 = VECTOR('',#855,1.);
#855 = DIRECTION('',(1.,0.));
#856 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#857 = PCURVE('',#858,#863);
#858 = CYLINDRICAL_SURFACE('',#859,0.25);
#859 = AXIS2_PLACEMENT_3D('',#860,#861,#862);
#860 = CARTESIAN_POINT('',(-2.075,0.75,2.15));
#861 = DIRECTION('',(0.,0.,1.));
#862 = DIRECTION('',(-1.,-0.,0.));
#863 = DEFINITIONAL_REPRESENTATION('',(#864),#868);
#864 = LINE('',#865,#866);
#865 = CARTESIAN_POINT('',(-0.,0.));
#866 = VECTOR('',#867,1.);
#867 = DIRECTION('',(-0.,1.));
#868 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#869 = ADVANCED_FACE('',(#870),#776,.T.);
#870 = FACE_BOUND('',#871,.T.);
#871 = EDGE_LOOP('',(#872,#873,#897,#925,#958,#986,#1015,#1043));
#872 = ORIENTED_EDGE('',*,*,#753,.F.);
#873 = ORIENTED_EDGE('',*,*,#874,.T.);
#874 = EDGE_CURVE('',#754,#875,#877,.T.);
#875 = VERTEX_POINT('',#876);
#876 = CARTESIAN_POINT('',(-2.075,-1.,6.45));
#877 = SURFACE_CURVE('',#878,(#883,#890),.PCURVE_S1.);
#878 = CIRCLE('',#879,0.25);
#879 = AXIS2_PLACEMENT_3D('',#880,#881,#882);
#880 = CARTESIAN_POINT('',(-2.075,-0.75,6.45));
#881 = DIRECTION('',(0.,0.,1.));
#882 = DIRECTION('',(0.,-1.,0.));
#883 = PCURVE('',#776,#884);
#884 = DEFINITIONAL_REPRESENTATION('',(#885),#889);
#885 = CIRCLE('',#886,0.25);
#886 = AXIS2_PLACEMENT_2D('',#887,#888);
#887 = CARTESIAN_POINT('',(0.25,0.25));
#888 = DIRECTION('',(0.,-1.));
#889 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#890 = PCURVE('',#804,#891);
#891 = DEFINITIONAL_REPRESENTATION('',(#892),#896);
#892 = LINE('',#893,#894);
#893 = CARTESIAN_POINT('',(-4.712388980385,4.3));
#894 = VECTOR('',#895,1.);
#895 = DIRECTION('',(1.,0.));
#896 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#897 = ORIENTED_EDGE('',*,*,#898,.T.);
#898 = EDGE_CURVE('',#875,#899,#901,.T.);
#899 = VERTEX_POINT('',#900);
#900 = CARTESIAN_POINT('',(2.075,-1.,6.45));
#901 = SURFACE_CURVE('',#902,(#906,#913),.PCURVE_S1.);
#902 = LINE('',#903,#904);
#903 = CARTESIAN_POINT('',(-2.325,-1.,6.45));
#904 = VECTOR('',#905,1.);
#905 = DIRECTION('',(1.,0.,0.));
#906 = PCURVE('',#776,#907);
#907 = DEFINITIONAL_REPRESENTATION('',(#908),#912);
#908 = LINE('',#909,#910);
#909 = CARTESIAN_POINT('',(0.,0.));
#910 = VECTOR('',#911,1.);
#911 = DIRECTION('',(1.,0.));
#912 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#913 = PCURVE('',#914,#919);
#914 = PLANE('',#915);
#915 = AXIS2_PLACEMENT_3D('',#916,#917,#918);
#916 = CARTESIAN_POINT('',(-2.325,-1.,2.15));
#917 = DIRECTION('',(0.,1.,0.));
#918 = DIRECTION('',(0.,0.,1.));
#919 = DEFINITIONAL_REPRESENTATION('',(#920),#924);
#920 = LINE('',#921,#922);
#921 = CARTESIAN_POINT('',(4.3,0.));
#922 = VECTOR('',#923,1.);
#923 = DIRECTION('',(0.,1.));
#924 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#925 = ORIENTED_EDGE('',*,*,#926,.F.);
#926 = EDGE_CURVE('',#927,#899,#929,.T.);
#927 = VERTEX_POINT('',#928);
#928 = CARTESIAN_POINT('',(2.325,-0.75,6.45));
#929 = SURFACE_CURVE('',#930,(#935,#946),.PCURVE_S1.);
#930 = CIRCLE('',#931,0.25);
#931 = AXIS2_PLACEMENT_3D('',#932,#933,#934);
#932 = CARTESIAN_POINT('',(2.075,-0.75,6.45));
#933 = DIRECTION('',(-0.,-0.,-1.));
#934 = DIRECTION('',(0.,-1.,0.));
#935 = PCURVE('',#776,#936);
#936 = DEFINITIONAL_REPRESENTATION('',(#937),#945);
#937 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#938,#939,#940,#941,#942,#943
,#944),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(
-2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,
8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(
'') );
#938 = CARTESIAN_POINT('',(4.4,0.));
#939 = CARTESIAN_POINT('',(3.966987298108,0.));
#940 = CARTESIAN_POINT('',(4.183493649054,0.375));
#941 = CARTESIAN_POINT('',(4.4,0.75));
#942 = CARTESIAN_POINT('',(4.616506350946,0.375));
#943 = CARTESIAN_POINT('',(4.833012701892,3.885780586188E-16));
#944 = CARTESIAN_POINT('',(4.4,0.));
#945 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#946 = PCURVE('',#947,#952);
#947 = CYLINDRICAL_SURFACE('',#948,0.25);
#948 = AXIS2_PLACEMENT_3D('',#949,#950,#951);
#949 = CARTESIAN_POINT('',(2.075,-0.75,2.15));
#950 = DIRECTION('',(0.,0.,1.));
#951 = DIRECTION('',(1.,0.,-0.));
#952 = DEFINITIONAL_REPRESENTATION('',(#953),#957);
#953 = LINE('',#954,#955);
#954 = CARTESIAN_POINT('',(4.712388980385,4.3));
#955 = VECTOR('',#956,1.);
#956 = DIRECTION('',(-1.,0.));
#957 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#958 = ORIENTED_EDGE('',*,*,#959,.T.);
#959 = EDGE_CURVE('',#927,#960,#962,.T.);
#960 = VERTEX_POINT('',#961);
#961 = CARTESIAN_POINT('',(2.325,0.75,6.45));
#962 = SURFACE_CURVE('',#963,(#967,#974),.PCURVE_S1.);
#963 = LINE('',#964,#965);
#964 = CARTESIAN_POINT('',(2.325,-1.,6.45));
#965 = VECTOR('',#966,1.);
#966 = DIRECTION('',(0.,1.,0.));
#967 = PCURVE('',#776,#968);
#968 = DEFINITIONAL_REPRESENTATION('',(#969),#973);
#969 = LINE('',#970,#971);
#970 = CARTESIAN_POINT('',(4.65,0.));
#971 = VECTOR('',#972,1.);
#972 = DIRECTION('',(0.,1.));
#973 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#974 = PCURVE('',#975,#980);
#975 = PLANE('',#976);
#976 = AXIS2_PLACEMENT_3D('',#977,#978,#979);
#977 = CARTESIAN_POINT('',(2.325,-1.,2.15));
#978 = DIRECTION('',(1.,0.,0.));
#979 = DIRECTION('',(0.,0.,1.));
#980 = DEFINITIONAL_REPRESENTATION('',(#981),#985);
#981 = LINE('',#982,#983);
#982 = CARTESIAN_POINT('',(4.3,0.));
#983 = VECTOR('',#984,1.);
#984 = DIRECTION('',(0.,-1.));
#985 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#986 = ORIENTED_EDGE('',*,*,#987,.T.);
#987 = EDGE_CURVE('',#960,#988,#990,.T.);
#988 = VERTEX_POINT('',#989);
#989 = CARTESIAN_POINT('',(2.075,1.,6.45));
#990 = SURFACE_CURVE('',#991,(#996,#1003),.PCURVE_S1.);
#991 = CIRCLE('',#992,0.25);
#992 = AXIS2_PLACEMENT_3D('',#993,#994,#995);
#993 = CARTESIAN_POINT('',(2.075,0.75,6.45));
#994 = DIRECTION('',(0.,0.,1.));
#995 = DIRECTION('',(0.,-1.,0.));
#996 = PCURVE('',#776,#997);
#997 = DEFINITIONAL_REPRESENTATION('',(#998),#1002);
#998 = CIRCLE('',#999,0.25);
#999 = AXIS2_PLACEMENT_2D('',#1000,#1001);
#1000 = CARTESIAN_POINT('',(4.4,1.75));
#1001 = DIRECTION('',(0.,-1.));
#1002 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1003 = PCURVE('',#1004,#1009);
#1004 = CYLINDRICAL_SURFACE('',#1005,0.25);
#1005 = AXIS2_PLACEMENT_3D('',#1006,#1007,#1008);
#1006 = CARTESIAN_POINT('',(2.075,0.75,2.15));
#1007 = DIRECTION('',(0.,0.,1.));
#1008 = DIRECTION('',(1.,0.,-0.));
#1009 = DEFINITIONAL_REPRESENTATION('',(#1010),#1014);
#1010 = LINE('',#1011,#1012);
#1011 = CARTESIAN_POINT('',(-1.570796326795,4.3));
#1012 = VECTOR('',#1013,1.);
#1013 = DIRECTION('',(1.,0.));
#1014 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1015 = ORIENTED_EDGE('',*,*,#1016,.F.);
#1016 = EDGE_CURVE('',#1017,#988,#1019,.T.);
#1017 = VERTEX_POINT('',#1018);
#1018 = CARTESIAN_POINT('',(-2.075,1.,6.45));
#1019 = SURFACE_CURVE('',#1020,(#1024,#1031),.PCURVE_S1.);
#1020 = LINE('',#1021,#1022);
#1021 = CARTESIAN_POINT('',(-2.325,1.,6.45));
#1022 = VECTOR('',#1023,1.);
#1023 = DIRECTION('',(1.,0.,0.));
#1024 = PCURVE('',#776,#1025);
#1025 = DEFINITIONAL_REPRESENTATION('',(#1026),#1030);
#1026 = LINE('',#1027,#1028);
#1027 = CARTESIAN_POINT('',(0.,2.));
#1028 = VECTOR('',#1029,1.);
#1029 = DIRECTION('',(1.,0.));
#1030 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1031 = PCURVE('',#1032,#1037);
#1032 = PLANE('',#1033);
#1033 = AXIS2_PLACEMENT_3D('',#1034,#1035,#1036);
#1034 = CARTESIAN_POINT('',(-2.325,1.,2.15));
#1035 = DIRECTION('',(0.,1.,0.));
#1036 = DIRECTION('',(0.,0.,1.));
#1037 = DEFINITIONAL_REPRESENTATION('',(#1038),#1042);
#1038 = LINE('',#1039,#1040);
#1039 = CARTESIAN_POINT('',(4.3,0.));
#1040 = VECTOR('',#1041,1.);
#1041 = DIRECTION('',(0.,1.));
#1042 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1043 = ORIENTED_EDGE('',*,*,#1044,.F.);
#1044 = EDGE_CURVE('',#756,#1017,#1045,.T.);
#1045 = SURFACE_CURVE('',#1046,(#1051,#1062),.PCURVE_S1.);
#1046 = CIRCLE('',#1047,0.25);
#1047 = AXIS2_PLACEMENT_3D('',#1048,#1049,#1050);
#1048 = CARTESIAN_POINT('',(-2.075,0.75,6.45));
#1049 = DIRECTION('',(-0.,-0.,-1.));
#1050 = DIRECTION('',(0.,-1.,0.));
#1051 = PCURVE('',#776,#1052);
#1052 = DEFINITIONAL_REPRESENTATION('',(#1053),#1061);
#1053 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#1054,#1055,#1056,#1057,
#1058,#1059,#1060),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2
,2,2,2,1),(-2.094395102393,0.,2.094395102393,4.188790204786,
6.28318530718,8.377580409573),.UNSPECIFIED.) CURVE()
GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,
1.,0.5,1.)) REPRESENTATION_ITEM('') );
#1054 = CARTESIAN_POINT('',(0.25,1.5));
#1055 = CARTESIAN_POINT('',(-0.183012701892,1.5));
#1056 = CARTESIAN_POINT('',(3.349364905389E-02,1.875));
#1057 = CARTESIAN_POINT('',(0.25,2.25));
#1058 = CARTESIAN_POINT('',(0.466506350946,1.875));
#1059 = CARTESIAN_POINT('',(0.683012701892,1.5));
#1060 = CARTESIAN_POINT('',(0.25,1.5));
#1061 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1062 = PCURVE('',#858,#1063);
#1063 = DEFINITIONAL_REPRESENTATION('',(#1064),#1068);
#1064 = LINE('',#1065,#1066);
#1065 = CARTESIAN_POINT('',(1.570796326795,4.3));
#1066 = VECTOR('',#1067,1.);
#1067 = DIRECTION('',(-1.,0.));
#1068 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1069 = ADVANCED_FACE('',(#1070),#804,.T.);
#1070 = FACE_BOUND('',#1071,.T.);
#1071 = EDGE_LOOP('',(#1072,#1096,#1117,#1118));
#1072 = ORIENTED_EDGE('',*,*,#1073,.T.);
#1073 = EDGE_CURVE('',#789,#1074,#1076,.T.);
#1074 = VERTEX_POINT('',#1075);
#1075 = CARTESIAN_POINT('',(-2.075,-1.,2.15));
#1076 = SURFACE_CURVE('',#1077,(#1082,#1089),.PCURVE_S1.);
#1077 = CIRCLE('',#1078,0.25);
#1078 = AXIS2_PLACEMENT_3D('',#1079,#1080,#1081);
#1079 = CARTESIAN_POINT('',(-2.075,-0.75,2.15));
#1080 = DIRECTION('',(0.,0.,1.));
#1081 = DIRECTION('',(0.,-1.,0.));
#1082 = PCURVE('',#804,#1083);
#1083 = DEFINITIONAL_REPRESENTATION('',(#1084),#1088);
#1084 = LINE('',#1085,#1086);
#1085 = CARTESIAN_POINT('',(-4.712388980385,0.));
#1086 = VECTOR('',#1087,1.);
#1087 = DIRECTION('',(1.,0.));
#1088 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1089 = PCURVE('',#832,#1090);
#1090 = DEFINITIONAL_REPRESENTATION('',(#1091),#1095);
#1091 = CIRCLE('',#1092,0.25);
#1092 = AXIS2_PLACEMENT_2D('',#1093,#1094);
#1093 = CARTESIAN_POINT('',(0.25,0.25));
#1094 = DIRECTION('',(0.,-1.));
#1095 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1096 = ORIENTED_EDGE('',*,*,#1097,.T.);
#1097 = EDGE_CURVE('',#1074,#875,#1098,.T.);
#1098 = SURFACE_CURVE('',#1099,(#1103,#1110),.PCURVE_S1.);
#1099 = LINE('',#1100,#1101);
#1100 = CARTESIAN_POINT('',(-2.075,-1.,2.15));
#1101 = VECTOR('',#1102,1.);
#1102 = DIRECTION('',(0.,0.,1.));
#1103 = PCURVE('',#804,#1104);
#1104 = DEFINITIONAL_REPRESENTATION('',(#1105),#1109);
#1105 = LINE('',#1106,#1107);
#1106 = CARTESIAN_POINT('',(1.570796326795,0.));
#1107 = VECTOR('',#1108,1.);
#1108 = DIRECTION('',(0.,1.));
#1109 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1110 = PCURVE('',#914,#1111);
#1111 = DEFINITIONAL_REPRESENTATION('',(#1112),#1116);
#1112 = LINE('',#1113,#1114);
#1113 = CARTESIAN_POINT('',(0.,0.25));
#1114 = VECTOR('',#1115,1.);
#1115 = DIRECTION('',(1.,0.));
#1116 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1117 = ORIENTED_EDGE('',*,*,#874,.F.);
#1118 = ORIENTED_EDGE('',*,*,#788,.F.);
#1119 = ADVANCED_FACE('',(#1120),#858,.T.);
#1120 = FACE_BOUND('',#1121,.F.);
#1121 = EDGE_LOOP('',(#1122,#1150,#1171,#1172));
#1122 = ORIENTED_EDGE('',*,*,#1123,.T.);
#1123 = EDGE_CURVE('',#817,#1124,#1126,.T.);
#1124 = VERTEX_POINT('',#1125);
#1125 = CARTESIAN_POINT('',(-2.075,1.,2.15));
#1126 = SURFACE_CURVE('',#1127,(#1132,#1139),.PCURVE_S1.);
#1127 = CIRCLE('',#1128,0.25);
#1128 = AXIS2_PLACEMENT_3D('',#1129,#1130,#1131);
#1129 = CARTESIAN_POINT('',(-2.075,0.75,2.15));
#1130 = DIRECTION('',(-0.,-0.,-1.));
#1131 = DIRECTION('',(0.,-1.,0.));
#1132 = PCURVE('',#858,#1133);
#1133 = DEFINITIONAL_REPRESENTATION('',(#1134),#1138);
#1134 = LINE('',#1135,#1136);
#1135 = CARTESIAN_POINT('',(1.570796326795,-0.));
#1136 = VECTOR('',#1137,1.);
#1137 = DIRECTION('',(-1.,0.));
#1138 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1139 = PCURVE('',#832,#1140);
#1140 = DEFINITIONAL_REPRESENTATION('',(#1141),#1149);
#1141 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#1142,#1143,#1144,#1145,
#1146,#1147,#1148),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2
,2,2,2,1),(-2.094395102393,0.,2.094395102393,4.188790204786,
6.28318530718,8.377580409573),.UNSPECIFIED.) CURVE()
GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,
1.,0.5,1.)) REPRESENTATION_ITEM('') );
#1142 = CARTESIAN_POINT('',(0.25,1.5));
#1143 = CARTESIAN_POINT('',(-0.183012701892,1.5));
#1144 = CARTESIAN_POINT('',(3.349364905389E-02,1.875));
#1145 = CARTESIAN_POINT('',(0.25,2.25));
#1146 = CARTESIAN_POINT('',(0.466506350946,1.875));
#1147 = CARTESIAN_POINT('',(0.683012701892,1.5));
#1148 = CARTESIAN_POINT('',(0.25,1.5));
#1149 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1150 = ORIENTED_EDGE('',*,*,#1151,.T.);
#1151 = EDGE_CURVE('',#1124,#1017,#1152,.T.);
#1152 = SURFACE_CURVE('',#1153,(#1157,#1164),.PCURVE_S1.);
#1153 = LINE('',#1154,#1155);
#1154 = CARTESIAN_POINT('',(-2.075,1.,2.15));
#1155 = VECTOR('',#1156,1.);
#1156 = DIRECTION('',(0.,0.,1.));
#1157 = PCURVE('',#858,#1158);
#1158 = DEFINITIONAL_REPRESENTATION('',(#1159),#1163);
#1159 = LINE('',#1160,#1161);
#1160 = CARTESIAN_POINT('',(-1.570796326795,0.));
#1161 = VECTOR('',#1162,1.);
#1162 = DIRECTION('',(-0.,1.));
#1163 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1164 = PCURVE('',#1032,#1165);
#1165 = DEFINITIONAL_REPRESENTATION('',(#1166),#1170);
#1166 = LINE('',#1167,#1168);
#1167 = CARTESIAN_POINT('',(0.,0.25));
#1168 = VECTOR('',#1169,1.);
#1169 = DIRECTION('',(1.,0.));
#1170 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1171 = ORIENTED_EDGE('',*,*,#1044,.F.);
#1172 = ORIENTED_EDGE('',*,*,#844,.F.);
#1173 = ADVANCED_FACE('',(#1174),#832,.F.);
#1174 = FACE_BOUND('',#1175,.F.);
#1175 = EDGE_LOOP('',(#1176,#1177,#1178,#1201,#1229,#1252,#1276,#1297));
#1176 = ORIENTED_EDGE('',*,*,#816,.F.);
#1177 = ORIENTED_EDGE('',*,*,#1073,.T.);
#1178 = ORIENTED_EDGE('',*,*,#1179,.T.);
#1179 = EDGE_CURVE('',#1074,#1180,#1182,.T.);
#1180 = VERTEX_POINT('',#1181);
#1181 = CARTESIAN_POINT('',(2.075,-1.,2.15));
#1182 = SURFACE_CURVE('',#1183,(#1187,#1194),.PCURVE_S1.);
#1183 = LINE('',#1184,#1185);
#1184 = CARTESIAN_POINT('',(-2.325,-1.,2.15));
#1185 = VECTOR('',#1186,1.);
#1186 = DIRECTION('',(1.,0.,0.));
#1187 = PCURVE('',#832,#1188);
#1188 = DEFINITIONAL_REPRESENTATION('',(#1189),#1193);
#1189 = LINE('',#1190,#1191);
#1190 = CARTESIAN_POINT('',(0.,0.));
#1191 = VECTOR('',#1192,1.);
#1192 = DIRECTION('',(1.,0.));
#1193 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1194 = PCURVE('',#914,#1195);
#1195 = DEFINITIONAL_REPRESENTATION('',(#1196),#1200);
#1196 = LINE('',#1197,#1198);
#1197 = CARTESIAN_POINT('',(0.,0.));
#1198 = VECTOR('',#1199,1.);
#1199 = DIRECTION('',(0.,1.));
#1200 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1201 = ORIENTED_EDGE('',*,*,#1202,.F.);
#1202 = EDGE_CURVE('',#1203,#1180,#1205,.T.);
#1203 = VERTEX_POINT('',#1204);
#1204 = CARTESIAN_POINT('',(2.325,-0.75,2.15));
#1205 = SURFACE_CURVE('',#1206,(#1211,#1222),.PCURVE_S1.);
#1206 = CIRCLE('',#1207,0.25);
#1207 = AXIS2_PLACEMENT_3D('',#1208,#1209,#1210);
#1208 = CARTESIAN_POINT('',(2.075,-0.75,2.15));
#1209 = DIRECTION('',(-0.,-0.,-1.));
#1210 = DIRECTION('',(0.,-1.,0.));
#1211 = PCURVE('',#832,#1212);
#1212 = DEFINITIONAL_REPRESENTATION('',(#1213),#1221);
#1213 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#1214,#1215,#1216,#1217,
#1218,#1219,#1220),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2
,2,2,2,1),(-2.094395102393,0.,2.094395102393,4.188790204786,
6.28318530718,8.377580409573),.UNSPECIFIED.) CURVE()
GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,
1.,0.5,1.)) REPRESENTATION_ITEM('') );
#1214 = CARTESIAN_POINT('',(4.4,0.));
#1215 = CARTESIAN_POINT('',(3.966987298108,0.));
#1216 = CARTESIAN_POINT('',(4.183493649054,0.375));
#1217 = CARTESIAN_POINT('',(4.4,0.75));
#1218 = CARTESIAN_POINT('',(4.616506350946,0.375));
#1219 = CARTESIAN_POINT('',(4.833012701892,3.885780586188E-16));
#1220 = CARTESIAN_POINT('',(4.4,0.));
#1221 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1222 = PCURVE('',#947,#1223);
#1223 = DEFINITIONAL_REPRESENTATION('',(#1224),#1228);
#1224 = LINE('',#1225,#1226);
#1225 = CARTESIAN_POINT('',(4.712388980385,-0.));
#1226 = VECTOR('',#1227,1.);
#1227 = DIRECTION('',(-1.,0.));
#1228 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1229 = ORIENTED_EDGE('',*,*,#1230,.T.);
#1230 = EDGE_CURVE('',#1203,#1231,#1233,.T.);
#1231 = VERTEX_POINT('',#1232);
#1232 = CARTESIAN_POINT('',(2.325,0.75,2.15));
#1233 = SURFACE_CURVE('',#1234,(#1238,#1245),.PCURVE_S1.);
#1234 = LINE('',#1235,#1236);
#1235 = CARTESIAN_POINT('',(2.325,-1.,2.15));
#1236 = VECTOR('',#1237,1.);
#1237 = DIRECTION('',(0.,1.,0.));
#1238 = PCURVE('',#832,#1239);
#1239 = DEFINITIONAL_REPRESENTATION('',(#1240),#1244);
#1240 = LINE('',#1241,#1242);
#1241 = CARTESIAN_POINT('',(4.65,0.));
#1242 = VECTOR('',#1243,1.);
#1243 = DIRECTION('',(0.,1.));
#1244 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1245 = PCURVE('',#975,#1246);
#1246 = DEFINITIONAL_REPRESENTATION('',(#1247),#1251);
#1247 = LINE('',#1248,#1249);
#1248 = CARTESIAN_POINT('',(0.,0.));
#1249 = VECTOR('',#1250,1.);
#1250 = DIRECTION('',(0.,-1.));
#1251 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1252 = ORIENTED_EDGE('',*,*,#1253,.T.);
#1253 = EDGE_CURVE('',#1231,#1254,#1256,.T.);
#1254 = VERTEX_POINT('',#1255);
#1255 = CARTESIAN_POINT('',(2.075,1.,2.15));
#1256 = SURFACE_CURVE('',#1257,(#1262,#1269),.PCURVE_S1.);
#1257 = CIRCLE('',#1258,0.25);
#1258 = AXIS2_PLACEMENT_3D('',#1259,#1260,#1261);
#1259 = CARTESIAN_POINT('',(2.075,0.75,2.15));
#1260 = DIRECTION('',(0.,0.,1.));
#1261 = DIRECTION('',(0.,-1.,0.));
#1262 = PCURVE('',#832,#1263);
#1263 = DEFINITIONAL_REPRESENTATION('',(#1264),#1268);
#1264 = CIRCLE('',#1265,0.25);
#1265 = AXIS2_PLACEMENT_2D('',#1266,#1267);
#1266 = CARTESIAN_POINT('',(4.4,1.75));
#1267 = DIRECTION('',(0.,-1.));
#1268 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1269 = PCURVE('',#1004,#1270);
#1270 = DEFINITIONAL_REPRESENTATION('',(#1271),#1275);
#1271 = LINE('',#1272,#1273);
#1272 = CARTESIAN_POINT('',(-1.570796326795,0.));
#1273 = VECTOR('',#1274,1.);
#1274 = DIRECTION('',(1.,0.));
#1275 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1276 = ORIENTED_EDGE('',*,*,#1277,.F.);
#1277 = EDGE_CURVE('',#1124,#1254,#1278,.T.);
#1278 = SURFACE_CURVE('',#1279,(#1283,#1290),.PCURVE_S1.);
#1279 = LINE('',#1280,#1281);
#1280 = CARTESIAN_POINT('',(-2.325,1.,2.15));
#1281 = VECTOR('',#1282,1.);
#1282 = DIRECTION('',(1.,0.,0.));
#1283 = PCURVE('',#832,#1284);
#1284 = DEFINITIONAL_REPRESENTATION('',(#1285),#1289);
#1285 = LINE('',#1286,#1287);
#1286 = CARTESIAN_POINT('',(0.,2.));
#1287 = VECTOR('',#1288,1.);
#1288 = DIRECTION('',(1.,0.));
#1289 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1290 = PCURVE('',#1032,#1291);
#1291 = DEFINITIONAL_REPRESENTATION('',(#1292),#1296);
#1292 = LINE('',#1293,#1294);
#1293 = CARTESIAN_POINT('',(0.,0.));
#1294 = VECTOR('',#1295,1.);
#1295 = DIRECTION('',(0.,1.));
#1296 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1297 = ORIENTED_EDGE('',*,*,#1123,.F.);
#1298 = ADVANCED_FACE('',(#1299),#914,.F.);
#1299 = FACE_BOUND('',#1300,.F.);
#1300 = EDGE_LOOP('',(#1301,#1302,#1303,#1304));
#1301 = ORIENTED_EDGE('',*,*,#1179,.F.);
#1302 = ORIENTED_EDGE('',*,*,#1097,.T.);
#1303 = ORIENTED_EDGE('',*,*,#898,.T.);
#1304 = ORIENTED_EDGE('',*,*,#1305,.F.);
#1305 = EDGE_CURVE('',#1180,#899,#1306,.T.);
#1306 = SURFACE_CURVE('',#1307,(#1311,#1318),.PCURVE_S1.);
#1307 = LINE('',#1308,#1309);
#1308 = CARTESIAN_POINT('',(2.075,-1.,2.15));
#1309 = VECTOR('',#1310,1.);
#1310 = DIRECTION('',(0.,0.,1.));
#1311 = PCURVE('',#914,#1312);
#1312 = DEFINITIONAL_REPRESENTATION('',(#1313),#1317);
#1313 = LINE('',#1314,#1315);
#1314 = CARTESIAN_POINT('',(0.,4.4));
#1315 = VECTOR('',#1316,1.);
#1316 = DIRECTION('',(1.,0.));
#1317 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1318 = PCURVE('',#947,#1319);
#1319 = DEFINITIONAL_REPRESENTATION('',(#1320),#1324);
#1320 = LINE('',#1321,#1322);
#1321 = CARTESIAN_POINT('',(-1.570796326795,0.));
#1322 = VECTOR('',#1323,1.);
#1323 = DIRECTION('',(-0.,1.));
#1324 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1325 = ADVANCED_FACE('',(#1326),#1032,.T.);
#1326 = FACE_BOUND('',#1327,.T.);
#1327 = EDGE_LOOP('',(#1328,#1329,#1330,#1331));
#1328 = ORIENTED_EDGE('',*,*,#1277,.F.);
#1329 = ORIENTED_EDGE('',*,*,#1151,.T.);
#1330 = ORIENTED_EDGE('',*,*,#1016,.T.);
#1331 = ORIENTED_EDGE('',*,*,#1332,.F.);
#1332 = EDGE_CURVE('',#1254,#988,#1333,.T.);
#1333 = SURFACE_CURVE('',#1334,(#1338,#1345),.PCURVE_S1.);
#1334 = LINE('',#1335,#1336);
#1335 = CARTESIAN_POINT('',(2.075,1.,2.15));
#1336 = VECTOR('',#1337,1.);
#1337 = DIRECTION('',(0.,0.,1.));
#1338 = PCURVE('',#1032,#1339);
#1339 = DEFINITIONAL_REPRESENTATION('',(#1340),#1344);
#1340 = LINE('',#1341,#1342);
#1341 = CARTESIAN_POINT('',(0.,4.4));
#1342 = VECTOR('',#1343,1.);
#1343 = DIRECTION('',(1.,0.));
#1344 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1345 = PCURVE('',#1004,#1346);
#1346 = DEFINITIONAL_REPRESENTATION('',(#1347),#1351);
#1347 = LINE('',#1348,#1349);
#1348 = CARTESIAN_POINT('',(1.570796326795,0.));
#1349 = VECTOR('',#1350,1.);
#1350 = DIRECTION('',(0.,1.));
#1351 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1352 = ADVANCED_FACE('',(#1353),#947,.T.);
#1353 = FACE_BOUND('',#1354,.F.);
#1354 = EDGE_LOOP('',(#1355,#1356,#1357,#1358));
#1355 = ORIENTED_EDGE('',*,*,#1202,.T.);
#1356 = ORIENTED_EDGE('',*,*,#1305,.T.);
#1357 = ORIENTED_EDGE('',*,*,#926,.F.);
#1358 = ORIENTED_EDGE('',*,*,#1359,.F.);
#1359 = EDGE_CURVE('',#1203,#927,#1360,.T.);
#1360 = SURFACE_CURVE('',#1361,(#1365,#1372),.PCURVE_S1.);
#1361 = LINE('',#1362,#1363);
#1362 = CARTESIAN_POINT('',(2.325,-0.75,2.15));
#1363 = VECTOR('',#1364,1.);
#1364 = DIRECTION('',(0.,0.,1.));
#1365 = PCURVE('',#947,#1366);
#1366 = DEFINITIONAL_REPRESENTATION('',(#1367),#1371);
#1367 = LINE('',#1368,#1369);
#1368 = CARTESIAN_POINT('',(-0.,0.));
#1369 = VECTOR('',#1370,1.);
#1370 = DIRECTION('',(-0.,1.));
#1371 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1372 = PCURVE('',#975,#1373);
#1373 = DEFINITIONAL_REPRESENTATION('',(#1374),#1378);
#1374 = LINE('',#1375,#1376);
#1375 = CARTESIAN_POINT('',(0.,-0.25));
#1376 = VECTOR('',#1377,1.);
#1377 = DIRECTION('',(1.,0.));
#1378 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1379 = ADVANCED_FACE('',(#1380),#1004,.T.);
#1380 = FACE_BOUND('',#1381,.T.);
#1381 = EDGE_LOOP('',(#1382,#1383,#1384,#1385));
#1382 = ORIENTED_EDGE('',*,*,#1253,.T.);
#1383 = ORIENTED_EDGE('',*,*,#1332,.T.);
#1384 = ORIENTED_EDGE('',*,*,#987,.F.);
#1385 = ORIENTED_EDGE('',*,*,#1386,.F.);
#1386 = EDGE_CURVE('',#1231,#960,#1387,.T.);
#1387 = SURFACE_CURVE('',#1388,(#1392,#1399),.PCURVE_S1.);
#1388 = LINE('',#1389,#1390);
#1389 = CARTESIAN_POINT('',(2.325,0.75,2.15));
#1390 = VECTOR('',#1391,1.);
#1391 = DIRECTION('',(0.,0.,1.));
#1392 = PCURVE('',#1004,#1393);
#1393 = DEFINITIONAL_REPRESENTATION('',(#1394),#1398);
#1394 = LINE('',#1395,#1396);
#1395 = CARTESIAN_POINT('',(0.,0.));
#1396 = VECTOR('',#1397,1.);
#1397 = DIRECTION('',(0.,1.));
#1398 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1399 = PCURVE('',#975,#1400);
#1400 = DEFINITIONAL_REPRESENTATION('',(#1401),#1405);
#1401 = LINE('',#1402,#1403);
#1402 = CARTESIAN_POINT('',(0.,-1.75));
#1403 = VECTOR('',#1404,1.);
#1404 = DIRECTION('',(1.,0.));
#1405 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1406 = ADVANCED_FACE('',(#1407),#975,.T.);
#1407 = FACE_BOUND('',#1408,.T.);
#1408 = EDGE_LOOP('',(#1409,#1410,#1411,#1412));
#1409 = ORIENTED_EDGE('',*,*,#959,.F.);
#1410 = ORIENTED_EDGE('',*,*,#1359,.F.);
#1411 = ORIENTED_EDGE('',*,*,#1230,.T.);
#1412 = ORIENTED_EDGE('',*,*,#1386,.T.);
#1413 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1417))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#1414,#1415,#1416)) REPRESENTATION_CONTEXT
('Context #1','3D Context with UNIT and UNCERTAINTY') );
#1414 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#1415 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#1416 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#1417 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#1414,
'distance_accuracy_value','confusion accuracy');
#1418 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1419,#1421);
#1419 = ( REPRESENTATION_RELATIONSHIP('','',#746,#10)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1420)
SHAPE_REPRESENTATION_RELATIONSHIP() );
#1420 = ITEM_DEFINED_TRANSFORMATION('','',#11,#23);
#1421 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',
#1422);
#1422 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('58',
'3650c6ce-93c7-11f1-9448-04bad62a3558','',#5,#741,$);
#1423 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#743));
#1424 = SHAPE_DEFINITION_REPRESENTATION(#1425,#1431);
#1425 = PRODUCT_DEFINITION_SHAPE('','',#1426);
#1426 = PRODUCT_DEFINITION('design','',#1427,#1430);
#1427 = PRODUCT_DEFINITION_FORMATION('','',#1428);
#1428 = PRODUCT('365114ab-93c7-11f1-8c4c-04bad62a3558',
'365114ab-93c7-11f1-8c4c-04bad62a3558','',(#1429));
#1429 = PRODUCT_CONTEXT('',#2,'mechanical');
#1430 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#1431 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#1432),#1762);
#1432 = MANIFOLD_SOLID_BREP('',#1433);
#1433 = CLOSED_SHELL('',(#1434,#1554,#1654,#1701,#1748,#1755));
#1434 = ADVANCED_FACE('',(#1435),#1449,.F.);
#1435 = FACE_BOUND('',#1436,.F.);
#1436 = EDGE_LOOP('',(#1437,#1472,#1500,#1528));
#1437 = ORIENTED_EDGE('',*,*,#1438,.F.);
#1438 = EDGE_CURVE('',#1439,#1441,#1443,.T.);
#1439 = VERTEX_POINT('',#1440);
#1440 = CARTESIAN_POINT('',(-1.5,-0.95,2.8));
#1441 = VERTEX_POINT('',#1442);
#1442 = CARTESIAN_POINT('',(-1.5,-0.95,5.8));
#1443 = SURFACE_CURVE('',#1444,(#1448,#1460),.PCURVE_S1.);
#1444 = LINE('',#1445,#1446);
#1445 = CARTESIAN_POINT('',(-1.5,-0.95,2.8));
#1446 = VECTOR('',#1447,1.);
#1447 = DIRECTION('',(0.,0.,1.));
#1448 = PCURVE('',#1449,#1454);
#1449 = PLANE('',#1450);
#1450 = AXIS2_PLACEMENT_3D('',#1451,#1452,#1453);
#1451 = CARTESIAN_POINT('',(-1.5,-0.95,2.8));
#1452 = DIRECTION('',(1.,0.,0.));
#1453 = DIRECTION('',(0.,0.,1.));
#1454 = DEFINITIONAL_REPRESENTATION('',(#1455),#1459);
#1455 = LINE('',#1456,#1457);
#1456 = CARTESIAN_POINT('',(0.,0.));
#1457 = VECTOR('',#1458,1.);
#1458 = DIRECTION('',(1.,0.));
#1459 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1460 = PCURVE('',#1461,#1466);
#1461 = PLANE('',#1462);
#1462 = AXIS2_PLACEMENT_3D('',#1463,#1464,#1465);
#1463 = CARTESIAN_POINT('',(-1.5,-0.95,2.8));
#1464 = DIRECTION('',(0.,1.,0.));
#1465 = DIRECTION('',(0.,0.,1.));
#1466 = DEFINITIONAL_REPRESENTATION('',(#1467),#1471);
#1467 = LINE('',#1468,#1469);
#1468 = CARTESIAN_POINT('',(0.,0.));
#1469 = VECTOR('',#1470,1.);
#1470 = DIRECTION('',(1.,0.));
#1471 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1472 = ORIENTED_EDGE('',*,*,#1473,.T.);
#1473 = EDGE_CURVE('',#1439,#1474,#1476,.T.);
#1474 = VERTEX_POINT('',#1475);
#1475 = CARTESIAN_POINT('',(-1.5,-0.83,2.8));
#1476 = SURFACE_CURVE('',#1477,(#1481,#1488),.PCURVE_S1.);
#1477 = LINE('',#1478,#1479);
#1478 = CARTESIAN_POINT('',(-1.5,-0.95,2.8));
#1479 = VECTOR('',#1480,1.);
#1480 = DIRECTION('',(0.,1.,0.));
#1481 = PCURVE('',#1449,#1482);
#1482 = DEFINITIONAL_REPRESENTATION('',(#1483),#1487);
#1483 = LINE('',#1484,#1485);
#1484 = CARTESIAN_POINT('',(0.,0.));
#1485 = VECTOR('',#1486,1.);
#1486 = DIRECTION('',(0.,-1.));
#1487 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1488 = PCURVE('',#1489,#1494);
#1489 = PLANE('',#1490);
#1490 = AXIS2_PLACEMENT_3D('',#1491,#1492,#1493);
#1491 = CARTESIAN_POINT('',(-1.5,-0.95,2.8));
#1492 = DIRECTION('',(0.,0.,1.));
#1493 = DIRECTION('',(1.,0.,0.));
#1494 = DEFINITIONAL_REPRESENTATION('',(#1495),#1499);
#1495 = LINE('',#1496,#1497);
#1496 = CARTESIAN_POINT('',(0.,0.));
#1497 = VECTOR('',#1498,1.);
#1498 = DIRECTION('',(0.,1.));
#1499 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1500 = ORIENTED_EDGE('',*,*,#1501,.T.);
#1501 = EDGE_CURVE('',#1474,#1502,#1504,.T.);
#1502 = VERTEX_POINT('',#1503);
#1503 = CARTESIAN_POINT('',(-1.5,-0.83,5.8));
#1504 = SURFACE_CURVE('',#1505,(#1509,#1516),.PCURVE_S1.);
#1505 = LINE('',#1506,#1507);
#1506 = CARTESIAN_POINT('',(-1.5,-0.83,2.8));
#1507 = VECTOR('',#1508,1.);
#1508 = DIRECTION('',(0.,0.,1.));
#1509 = PCURVE('',#1449,#1510);
#1510 = DEFINITIONAL_REPRESENTATION('',(#1511),#1515);
#1511 = LINE('',#1512,#1513);
#1512 = CARTESIAN_POINT('',(0.,-0.12));
#1513 = VECTOR('',#1514,1.);
#1514 = DIRECTION('',(1.,0.));
#1515 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1516 = PCURVE('',#1517,#1522);
#1517 = PLANE('',#1518);
#1518 = AXIS2_PLACEMENT_3D('',#1519,#1520,#1521);
#1519 = CARTESIAN_POINT('',(-1.5,-0.83,2.8));
#1520 = DIRECTION('',(0.,1.,0.));
#1521 = DIRECTION('',(0.,0.,1.));
#1522 = DEFINITIONAL_REPRESENTATION('',(#1523),#1527);
#1523 = LINE('',#1524,#1525);
#1524 = CARTESIAN_POINT('',(0.,0.));
#1525 = VECTOR('',#1526,1.);
#1526 = DIRECTION('',(1.,0.));
#1527 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1528 = ORIENTED_EDGE('',*,*,#1529,.F.);
#1529 = EDGE_CURVE('',#1441,#1502,#1530,.T.);
#1530 = SURFACE_CURVE('',#1531,(#1535,#1542),.PCURVE_S1.);
#1531 = LINE('',#1532,#1533);
#1532 = CARTESIAN_POINT('',(-1.5,-0.95,5.8));
#1533 = VECTOR('',#1534,1.);
#1534 = DIRECTION('',(0.,1.,0.));
#1535 = PCURVE('',#1449,#1536);
#1536 = DEFINITIONAL_REPRESENTATION('',(#1537),#1541);
#1537 = LINE('',#1538,#1539);
#1538 = CARTESIAN_POINT('',(3.,0.));
#1539 = VECTOR('',#1540,1.);
#1540 = DIRECTION('',(0.,-1.));
#1541 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1542 = PCURVE('',#1543,#1548);
#1543 = PLANE('',#1544);
#1544 = AXIS2_PLACEMENT_3D('',#1545,#1546,#1547);
#1545 = CARTESIAN_POINT('',(-1.5,-0.95,5.8));
#1546 = DIRECTION('',(0.,0.,1.));
#1547 = DIRECTION('',(1.,0.,0.));
#1548 = DEFINITIONAL_REPRESENTATION('',(#1549),#1553);
#1549 = LINE('',#1550,#1551);
#1550 = CARTESIAN_POINT('',(0.,0.));
#1551 = VECTOR('',#1552,1.);
#1552 = DIRECTION('',(0.,1.));
#1553 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1554 = ADVANCED_FACE('',(#1555),#1569,.T.);
#1555 = FACE_BOUND('',#1556,.T.);
#1556 = EDGE_LOOP('',(#1557,#1587,#1610,#1633));
#1557 = ORIENTED_EDGE('',*,*,#1558,.F.);
#1558 = EDGE_CURVE('',#1559,#1561,#1563,.T.);
#1559 = VERTEX_POINT('',#1560);
#1560 = CARTESIAN_POINT('',(1.5,-0.95,2.8));
#1561 = VERTEX_POINT('',#1562);
#1562 = CARTESIAN_POINT('',(1.5,-0.95,5.8));
#1563 = SURFACE_CURVE('',#1564,(#1568,#1580),.PCURVE_S1.);
#1564 = LINE('',#1565,#1566);
#1565 = CARTESIAN_POINT('',(1.5,-0.95,2.8));
#1566 = VECTOR('',#1567,1.);
#1567 = DIRECTION('',(0.,0.,1.));
#1568 = PCURVE('',#1569,#1574);
#1569 = PLANE('',#1570);
#1570 = AXIS2_PLACEMENT_3D('',#1571,#1572,#1573);
#1571 = CARTESIAN_POINT('',(1.5,-0.95,2.8));
#1572 = DIRECTION('',(1.,0.,0.));
#1573 = DIRECTION('',(0.,0.,1.));
#1574 = DEFINITIONAL_REPRESENTATION('',(#1575),#1579);
#1575 = LINE('',#1576,#1577);
#1576 = CARTESIAN_POINT('',(0.,0.));
#1577 = VECTOR('',#1578,1.);
#1578 = DIRECTION('',(1.,0.));
#1579 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1580 = PCURVE('',#1461,#1581);
#1581 = DEFINITIONAL_REPRESENTATION('',(#1582),#1586);
#1582 = LINE('',#1583,#1584);
#1583 = CARTESIAN_POINT('',(0.,3.));
#1584 = VECTOR('',#1585,1.);
#1585 = DIRECTION('',(1.,0.));
#1586 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1587 = ORIENTED_EDGE('',*,*,#1588,.T.);
#1588 = EDGE_CURVE('',#1559,#1589,#1591,.T.);
#1589 = VERTEX_POINT('',#1590);
#1590 = CARTESIAN_POINT('',(1.5,-0.83,2.8));
#1591 = SURFACE_CURVE('',#1592,(#1596,#1603),.PCURVE_S1.);
#1592 = LINE('',#1593,#1594);
#1593 = CARTESIAN_POINT('',(1.5,-0.95,2.8));
#1594 = VECTOR('',#1595,1.);
#1595 = DIRECTION('',(0.,1.,0.));
#1596 = PCURVE('',#1569,#1597);
#1597 = DEFINITIONAL_REPRESENTATION('',(#1598),#1602);
#1598 = LINE('',#1599,#1600);
#1599 = CARTESIAN_POINT('',(0.,0.));
#1600 = VECTOR('',#1601,1.);
#1601 = DIRECTION('',(0.,-1.));
#1602 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1603 = PCURVE('',#1489,#1604);
#1604 = DEFINITIONAL_REPRESENTATION('',(#1605),#1609);
#1605 = LINE('',#1606,#1607);
#1606 = CARTESIAN_POINT('',(3.,0.));
#1607 = VECTOR('',#1608,1.);
#1608 = DIRECTION('',(0.,1.));
#1609 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1610 = ORIENTED_EDGE('',*,*,#1611,.T.);
#1611 = EDGE_CURVE('',#1589,#1612,#1614,.T.);
#1612 = VERTEX_POINT('',#1613);
#1613 = CARTESIAN_POINT('',(1.5,-0.83,5.8));
#1614 = SURFACE_CURVE('',#1615,(#1619,#1626),.PCURVE_S1.);
#1615 = LINE('',#1616,#1617);
#1616 = CARTESIAN_POINT('',(1.5,-0.83,2.8));
#1617 = VECTOR('',#1618,1.);
#1618 = DIRECTION('',(0.,0.,1.));
#1619 = PCURVE('',#1569,#1620);
#1620 = DEFINITIONAL_REPRESENTATION('',(#1621),#1625);
#1621 = LINE('',#1622,#1623);
#1622 = CARTESIAN_POINT('',(0.,-0.12));
#1623 = VECTOR('',#1624,1.);
#1624 = DIRECTION('',(1.,0.));
#1625 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1626 = PCURVE('',#1517,#1627);
#1627 = DEFINITIONAL_REPRESENTATION('',(#1628),#1632);
#1628 = LINE('',#1629,#1630);
#1629 = CARTESIAN_POINT('',(0.,3.));
#1630 = VECTOR('',#1631,1.);
#1631 = DIRECTION('',(1.,0.));
#1632 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1633 = ORIENTED_EDGE('',*,*,#1634,.F.);
#1634 = EDGE_CURVE('',#1561,#1612,#1635,.T.);
#1635 = SURFACE_CURVE('',#1636,(#1640,#1647),.PCURVE_S1.);
#1636 = LINE('',#1637,#1638);
#1637 = CARTESIAN_POINT('',(1.5,-0.95,5.8));
#1638 = VECTOR('',#1639,1.);
#1639 = DIRECTION('',(0.,1.,0.));
#1640 = PCURVE('',#1569,#1641);
#1641 = DEFINITIONAL_REPRESENTATION('',(#1642),#1646);
#1642 = LINE('',#1643,#1644);
#1643 = CARTESIAN_POINT('',(3.,0.));
#1644 = VECTOR('',#1645,1.);
#1645 = DIRECTION('',(0.,-1.));
#1646 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1647 = PCURVE('',#1543,#1648);
#1648 = DEFINITIONAL_REPRESENTATION('',(#1649),#1653);
#1649 = LINE('',#1650,#1651);
#1650 = CARTESIAN_POINT('',(3.,0.));
#1651 = VECTOR('',#1652,1.);
#1652 = DIRECTION('',(0.,1.));
#1653 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1654 = ADVANCED_FACE('',(#1655),#1461,.F.);
#1655 = FACE_BOUND('',#1656,.F.);
#1656 = EDGE_LOOP('',(#1657,#1678,#1679,#1700));
#1657 = ORIENTED_EDGE('',*,*,#1658,.F.);
#1658 = EDGE_CURVE('',#1439,#1559,#1659,.T.);
#1659 = SURFACE_CURVE('',#1660,(#1664,#1671),.PCURVE_S1.);
#1660 = LINE('',#1661,#1662);
#1661 = CARTESIAN_POINT('',(-1.5,-0.95,2.8));
#1662 = VECTOR('',#1663,1.);
#1663 = DIRECTION('',(1.,0.,0.));
#1664 = PCURVE('',#1461,#1665);
#1665 = DEFINITIONAL_REPRESENTATION('',(#1666),#1670);
#1666 = LINE('',#1667,#1668);
#1667 = CARTESIAN_POINT('',(0.,0.));
#1668 = VECTOR('',#1669,1.);
#1669 = DIRECTION('',(0.,1.));
#1670 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1671 = PCURVE('',#1489,#1672);
#1672 = DEFINITIONAL_REPRESENTATION('',(#1673),#1677);
#1673 = LINE('',#1674,#1675);
#1674 = CARTESIAN_POINT('',(0.,0.));
#1675 = VECTOR('',#1676,1.);
#1676 = DIRECTION('',(1.,0.));
#1677 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1678 = ORIENTED_EDGE('',*,*,#1438,.T.);
#1679 = ORIENTED_EDGE('',*,*,#1680,.T.);
#1680 = EDGE_CURVE('',#1441,#1561,#1681,.T.);
#1681 = SURFACE_CURVE('',#1682,(#1686,#1693),.PCURVE_S1.);
#1682 = LINE('',#1683,#1684);
#1683 = CARTESIAN_POINT('',(-1.5,-0.95,5.8));
#1684 = VECTOR('',#1685,1.);
#1685 = DIRECTION('',(1.,0.,0.));
#1686 = PCURVE('',#1461,#1687);
#1687 = DEFINITIONAL_REPRESENTATION('',(#1688),#1692);
#1688 = LINE('',#1689,#1690);
#1689 = CARTESIAN_POINT('',(3.,0.));
#1690 = VECTOR('',#1691,1.);
#1691 = DIRECTION('',(0.,1.));
#1692 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1693 = PCURVE('',#1543,#1694);
#1694 = DEFINITIONAL_REPRESENTATION('',(#1695),#1699);
#1695 = LINE('',#1696,#1697);
#1696 = CARTESIAN_POINT('',(0.,0.));
#1697 = VECTOR('',#1698,1.);
#1698 = DIRECTION('',(1.,0.));
#1699 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1700 = ORIENTED_EDGE('',*,*,#1558,.F.);
#1701 = ADVANCED_FACE('',(#1702),#1517,.T.);
#1702 = FACE_BOUND('',#1703,.T.);
#1703 = EDGE_LOOP('',(#1704,#1725,#1726,#1747));
#1704 = ORIENTED_EDGE('',*,*,#1705,.F.);
#1705 = EDGE_CURVE('',#1474,#1589,#1706,.T.);
#1706 = SURFACE_CURVE('',#1707,(#1711,#1718),.PCURVE_S1.);
#1707 = LINE('',#1708,#1709);
#1708 = CARTESIAN_POINT('',(-1.5,-0.83,2.8));
#1709 = VECTOR('',#1710,1.);
#1710 = DIRECTION('',(1.,0.,0.));
#1711 = PCURVE('',#1517,#1712);
#1712 = DEFINITIONAL_REPRESENTATION('',(#1713),#1717);
#1713 = LINE('',#1714,#1715);
#1714 = CARTESIAN_POINT('',(0.,0.));
#1715 = VECTOR('',#1716,1.);
#1716 = DIRECTION('',(0.,1.));
#1717 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1718 = PCURVE('',#1489,#1719);
#1719 = DEFINITIONAL_REPRESENTATION('',(#1720),#1724);
#1720 = LINE('',#1721,#1722);
#1721 = CARTESIAN_POINT('',(0.,0.12));
#1722 = VECTOR('',#1723,1.);
#1723 = DIRECTION('',(1.,0.));
#1724 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1725 = ORIENTED_EDGE('',*,*,#1501,.T.);
#1726 = ORIENTED_EDGE('',*,*,#1727,.T.);
#1727 = EDGE_CURVE('',#1502,#1612,#1728,.T.);
#1728 = SURFACE_CURVE('',#1729,(#1733,#1740),.PCURVE_S1.);
#1729 = LINE('',#1730,#1731);
#1730 = CARTESIAN_POINT('',(-1.5,-0.83,5.8));
#1731 = VECTOR('',#1732,1.);
#1732 = DIRECTION('',(1.,0.,0.));
#1733 = PCURVE('',#1517,#1734);
#1734 = DEFINITIONAL_REPRESENTATION('',(#1735),#1739);
#1735 = LINE('',#1736,#1737);
#1736 = CARTESIAN_POINT('',(3.,0.));
#1737 = VECTOR('',#1738,1.);
#1738 = DIRECTION('',(0.,1.));
#1739 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1740 = PCURVE('',#1543,#1741);
#1741 = DEFINITIONAL_REPRESENTATION('',(#1742),#1746);
#1742 = LINE('',#1743,#1744);
#1743 = CARTESIAN_POINT('',(0.,0.12));
#1744 = VECTOR('',#1745,1.);
#1745 = DIRECTION('',(1.,0.));
#1746 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1747 = ORIENTED_EDGE('',*,*,#1611,.F.);
#1748 = ADVANCED_FACE('',(#1749),#1489,.F.);
#1749 = FACE_BOUND('',#1750,.F.);
#1750 = EDGE_LOOP('',(#1751,#1752,#1753,#1754));
#1751 = ORIENTED_EDGE('',*,*,#1473,.F.);
#1752 = ORIENTED_EDGE('',*,*,#1658,.T.);
#1753 = ORIENTED_EDGE('',*,*,#1588,.T.);
#1754 = ORIENTED_EDGE('',*,*,#1705,.F.);
#1755 = ADVANCED_FACE('',(#1756),#1543,.T.);
#1756 = FACE_BOUND('',#1757,.T.);
#1757 = EDGE_LOOP('',(#1758,#1759,#1760,#1761));
#1758 = ORIENTED_EDGE('',*,*,#1529,.F.);
#1759 = ORIENTED_EDGE('',*,*,#1680,.T.);
#1760 = ORIENTED_EDGE('',*,*,#1634,.T.);
#1761 = ORIENTED_EDGE('',*,*,#1727,.F.);
#1762 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1766))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#1763,#1764,#1765)) REPRESENTATION_CONTEXT
('Context #1','3D Context with UNIT and UNCERTAINTY') );
#1763 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#1764 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#1765 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#1766 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#1763,
'distance_accuracy_value','confusion accuracy');
#1767 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1768,#1770);
#1768 = ( REPRESENTATION_RELATIONSHIP('','',#1431,#10)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1769)
SHAPE_REPRESENTATION_RELATIONSHIP() );
#1769 = ITEM_DEFINED_TRANSFORMATION('','',#11,#27);
#1770 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',
#1771);
#1771 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('59',
'365114ab-93c7-11f1-8c4c-04bad62a3558','',#5,#1426,$);
#1772 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#1428));
#1773 = SHAPE_DEFINITION_REPRESENTATION(#1774,#1780);
#1774 = PRODUCT_DEFINITION_SHAPE('','',#1775);
#1775 = PRODUCT_DEFINITION('design','',#1776,#1779);
#1776 = PRODUCT_DEFINITION_FORMATION('','',#1777);
#1777 = PRODUCT('36516288-93c7-11f1-ba5d-04bad62a3558',
'36516288-93c7-11f1-ba5d-04bad62a3558','',(#1778));
#1778 = PRODUCT_CONTEXT('',#2,'mechanical');
#1779 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#1780 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#1781),#2111);
#1781 = MANIFOLD_SOLID_BREP('',#1782);
#1782 = CLOSED_SHELL('',(#1783,#1903,#2003,#2050,#2097,#2104));
#1783 = ADVANCED_FACE('',(#1784),#1798,.F.);
#1784 = FACE_BOUND('',#1785,.F.);
#1785 = EDGE_LOOP('',(#1786,#1821,#1849,#1877));
#1786 = ORIENTED_EDGE('',*,*,#1787,.F.);
#1787 = EDGE_CURVE('',#1788,#1790,#1792,.T.);
#1788 = VERTEX_POINT('',#1789);
#1789 = CARTESIAN_POINT('',(-2.27,-1.1,2.5));
#1790 = VERTEX_POINT('',#1791);
#1791 = CARTESIAN_POINT('',(-2.27,-1.1,6.05));
#1792 = SURFACE_CURVE('',#1793,(#1797,#1809),.PCURVE_S1.);
#1793 = LINE('',#1794,#1795);
#1794 = CARTESIAN_POINT('',(-2.27,-1.1,2.5));
#1795 = VECTOR('',#1796,1.);
#1796 = DIRECTION('',(0.,0.,1.));
#1797 = PCURVE('',#1798,#1803);
#1798 = PLANE('',#1799);
#1799 = AXIS2_PLACEMENT_3D('',#1800,#1801,#1802);
#1800 = CARTESIAN_POINT('',(-2.27,-1.1,2.5));
#1801 = DIRECTION('',(1.,0.,0.));
#1802 = DIRECTION('',(0.,0.,1.));
#1803 = DEFINITIONAL_REPRESENTATION('',(#1804),#1808);
#1804 = LINE('',#1805,#1806);
#1805 = CARTESIAN_POINT('',(0.,0.));
#1806 = VECTOR('',#1807,1.);
#1807 = DIRECTION('',(1.,0.));
#1808 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1809 = PCURVE('',#1810,#1815);
#1810 = PLANE('',#1811);
#1811 = AXIS2_PLACEMENT_3D('',#1812,#1813,#1814);
#1812 = CARTESIAN_POINT('',(-2.27,-1.1,2.5));
#1813 = DIRECTION('',(0.,1.,0.));
#1814 = DIRECTION('',(0.,0.,1.));
#1815 = DEFINITIONAL_REPRESENTATION('',(#1816),#1820);
#1816 = LINE('',#1817,#1818);
#1817 = CARTESIAN_POINT('',(0.,0.));
#1818 = VECTOR('',#1819,1.);
#1819 = DIRECTION('',(1.,0.));
#1820 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1821 = ORIENTED_EDGE('',*,*,#1822,.T.);
#1822 = EDGE_CURVE('',#1788,#1823,#1825,.T.);
#1823 = VERTEX_POINT('',#1824);
#1824 = CARTESIAN_POINT('',(-2.27,-1.02,2.5));
#1825 = SURFACE_CURVE('',#1826,(#1830,#1837),.PCURVE_S1.);
#1826 = LINE('',#1827,#1828);
#1827 = CARTESIAN_POINT('',(-2.27,-1.1,2.5));
#1828 = VECTOR('',#1829,1.);
#1829 = DIRECTION('',(0.,1.,0.));
#1830 = PCURVE('',#1798,#1831);
#1831 = DEFINITIONAL_REPRESENTATION('',(#1832),#1836);
#1832 = LINE('',#1833,#1834);
#1833 = CARTESIAN_POINT('',(0.,0.));
#1834 = VECTOR('',#1835,1.);
#1835 = DIRECTION('',(0.,-1.));
#1836 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1837 = PCURVE('',#1838,#1843);
#1838 = PLANE('',#1839);
#1839 = AXIS2_PLACEMENT_3D('',#1840,#1841,#1842);
#1840 = CARTESIAN_POINT('',(-2.27,-1.1,2.5));
#1841 = DIRECTION('',(0.,0.,1.));
#1842 = DIRECTION('',(1.,0.,0.));
#1843 = DEFINITIONAL_REPRESENTATION('',(#1844),#1848);
#1844 = LINE('',#1845,#1846);
#1845 = CARTESIAN_POINT('',(0.,0.));
#1846 = VECTOR('',#1847,1.);
#1847 = DIRECTION('',(0.,1.));
#1848 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1849 = ORIENTED_EDGE('',*,*,#1850,.T.);
#1850 = EDGE_CURVE('',#1823,#1851,#1853,.T.);
#1851 = VERTEX_POINT('',#1852);
#1852 = CARTESIAN_POINT('',(-2.27,-1.02,6.05));
#1853 = SURFACE_CURVE('',#1854,(#1858,#1865),.PCURVE_S1.);
#1854 = LINE('',#1855,#1856);
#1855 = CARTESIAN_POINT('',(-2.27,-1.02,2.5));
#1856 = VECTOR('',#1857,1.);
#1857 = DIRECTION('',(0.,0.,1.));
#1858 = PCURVE('',#1798,#1859);
#1859 = DEFINITIONAL_REPRESENTATION('',(#1860),#1864);
#1860 = LINE('',#1861,#1862);
#1861 = CARTESIAN_POINT('',(0.,-8.E-02));
#1862 = VECTOR('',#1863,1.);
#1863 = DIRECTION('',(1.,0.));
#1864 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1865 = PCURVE('',#1866,#1871);
#1866 = PLANE('',#1867);
#1867 = AXIS2_PLACEMENT_3D('',#1868,#1869,#1870);
#1868 = CARTESIAN_POINT('',(-2.27,-1.02,2.5));
#1869 = DIRECTION('',(0.,1.,0.));
#1870 = DIRECTION('',(0.,0.,1.));
#1871 = DEFINITIONAL_REPRESENTATION('',(#1872),#1876);
#1872 = LINE('',#1873,#1874);
#1873 = CARTESIAN_POINT('',(0.,0.));
#1874 = VECTOR('',#1875,1.);
#1875 = DIRECTION('',(1.,0.));
#1876 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1877 = ORIENTED_EDGE('',*,*,#1878,.F.);
#1878 = EDGE_CURVE('',#1790,#1851,#1879,.T.);
#1879 = SURFACE_CURVE('',#1880,(#1884,#1891),.PCURVE_S1.);
#1880 = LINE('',#1881,#1882);
#1881 = CARTESIAN_POINT('',(-2.27,-1.1,6.05));
#1882 = VECTOR('',#1883,1.);
#1883 = DIRECTION('',(0.,1.,0.));
#1884 = PCURVE('',#1798,#1885);
#1885 = DEFINITIONAL_REPRESENTATION('',(#1886),#1890);
#1886 = LINE('',#1887,#1888);
#1887 = CARTESIAN_POINT('',(3.55,0.));
#1888 = VECTOR('',#1889,1.);
#1889 = DIRECTION('',(0.,-1.));
#1890 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1891 = PCURVE('',#1892,#1897);
#1892 = PLANE('',#1893);
#1893 = AXIS2_PLACEMENT_3D('',#1894,#1895,#1896);
#1894 = CARTESIAN_POINT('',(-2.27,-1.1,6.05));
#1895 = DIRECTION('',(0.,0.,1.));
#1896 = DIRECTION('',(1.,0.,0.));
#1897 = DEFINITIONAL_REPRESENTATION('',(#1898),#1902);
#1898 = LINE('',#1899,#1900);
#1899 = CARTESIAN_POINT('',(0.,0.));
#1900 = VECTOR('',#1901,1.);
#1901 = DIRECTION('',(0.,1.));
#1902 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1903 = ADVANCED_FACE('',(#1904),#1918,.T.);
#1904 = FACE_BOUND('',#1905,.T.);
#1905 = EDGE_LOOP('',(#1906,#1936,#1959,#1982));
#1906 = ORIENTED_EDGE('',*,*,#1907,.F.);
#1907 = EDGE_CURVE('',#1908,#1910,#1912,.T.);
#1908 = VERTEX_POINT('',#1909);
#1909 = CARTESIAN_POINT('',(-2.05,-1.1,2.5));
#1910 = VERTEX_POINT('',#1911);
#1911 = CARTESIAN_POINT('',(-2.05,-1.1,6.05));
#1912 = SURFACE_CURVE('',#1913,(#1917,#1929),.PCURVE_S1.);
#1913 = LINE('',#1914,#1915);
#1914 = CARTESIAN_POINT('',(-2.05,-1.1,2.5));
#1915 = VECTOR('',#1916,1.);
#1916 = DIRECTION('',(0.,0.,1.));
#1917 = PCURVE('',#1918,#1923);
#1918 = PLANE('',#1919);
#1919 = AXIS2_PLACEMENT_3D('',#1920,#1921,#1922);
#1920 = CARTESIAN_POINT('',(-2.05,-1.1,2.5));
#1921 = DIRECTION('',(1.,0.,0.));
#1922 = DIRECTION('',(0.,0.,1.));
#1923 = DEFINITIONAL_REPRESENTATION('',(#1924),#1928);
#1924 = LINE('',#1925,#1926);
#1925 = CARTESIAN_POINT('',(0.,0.));
#1926 = VECTOR('',#1927,1.);
#1927 = DIRECTION('',(1.,0.));
#1928 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1929 = PCURVE('',#1810,#1930);
#1930 = DEFINITIONAL_REPRESENTATION('',(#1931),#1935);
#1931 = LINE('',#1932,#1933);
#1932 = CARTESIAN_POINT('',(0.,0.22));
#1933 = VECTOR('',#1934,1.);
#1934 = DIRECTION('',(1.,0.));
#1935 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1936 = ORIENTED_EDGE('',*,*,#1937,.T.);
#1937 = EDGE_CURVE('',#1908,#1938,#1940,.T.);
#1938 = VERTEX_POINT('',#1939);
#1939 = CARTESIAN_POINT('',(-2.05,-1.02,2.5));
#1940 = SURFACE_CURVE('',#1941,(#1945,#1952),.PCURVE_S1.);
#1941 = LINE('',#1942,#1943);
#1942 = CARTESIAN_POINT('',(-2.05,-1.1,2.5));
#1943 = VECTOR('',#1944,1.);
#1944 = DIRECTION('',(0.,1.,0.));
#1945 = PCURVE('',#1918,#1946);
#1946 = DEFINITIONAL_REPRESENTATION('',(#1947),#1951);
#1947 = LINE('',#1948,#1949);
#1948 = CARTESIAN_POINT('',(0.,0.));
#1949 = VECTOR('',#1950,1.);
#1950 = DIRECTION('',(0.,-1.));
#1951 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1952 = PCURVE('',#1838,#1953);
#1953 = DEFINITIONAL_REPRESENTATION('',(#1954),#1958);
#1954 = LINE('',#1955,#1956);
#1955 = CARTESIAN_POINT('',(0.22,0.));
#1956 = VECTOR('',#1957,1.);
#1957 = DIRECTION('',(0.,1.));
#1958 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1959 = ORIENTED_EDGE('',*,*,#1960,.T.);
#1960 = EDGE_CURVE('',#1938,#1961,#1963,.T.);
#1961 = VERTEX_POINT('',#1962);
#1962 = CARTESIAN_POINT('',(-2.05,-1.02,6.05));
#1963 = SURFACE_CURVE('',#1964,(#1968,#1975),.PCURVE_S1.);
#1964 = LINE('',#1965,#1966);
#1965 = CARTESIAN_POINT('',(-2.05,-1.02,2.5));
#1966 = VECTOR('',#1967,1.);
#1967 = DIRECTION('',(0.,0.,1.));
#1968 = PCURVE('',#1918,#1969);
#1969 = DEFINITIONAL_REPRESENTATION('',(#1970),#1974);
#1970 = LINE('',#1971,#1972);
#1971 = CARTESIAN_POINT('',(0.,-8.E-02));
#1972 = VECTOR('',#1973,1.);
#1973 = DIRECTION('',(1.,0.));
#1974 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1975 = PCURVE('',#1866,#1976);
#1976 = DEFINITIONAL_REPRESENTATION('',(#1977),#1981);
#1977 = LINE('',#1978,#1979);
#1978 = CARTESIAN_POINT('',(0.,0.22));
#1979 = VECTOR('',#1980,1.);
#1980 = DIRECTION('',(1.,0.));
#1981 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1982 = ORIENTED_EDGE('',*,*,#1983,.F.);
#1983 = EDGE_CURVE('',#1910,#1961,#1984,.T.);
#1984 = SURFACE_CURVE('',#1985,(#1989,#1996),.PCURVE_S1.);
#1985 = LINE('',#1986,#1987);
#1986 = CARTESIAN_POINT('',(-2.05,-1.1,6.05));
#1987 = VECTOR('',#1988,1.);
#1988 = DIRECTION('',(0.,1.,0.));
#1989 = PCURVE('',#1918,#1990);
#1990 = DEFINITIONAL_REPRESENTATION('',(#1991),#1995);
#1991 = LINE('',#1992,#1993);
#1992 = CARTESIAN_POINT('',(3.55,0.));
#1993 = VECTOR('',#1994,1.);
#1994 = DIRECTION('',(0.,-1.));
#1995 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#1996 = PCURVE('',#1892,#1997);
#1997 = DEFINITIONAL_REPRESENTATION('',(#1998),#2002);
#1998 = LINE('',#1999,#2000);
#1999 = CARTESIAN_POINT('',(0.22,0.));
#2000 = VECTOR('',#2001,1.);
#2001 = DIRECTION('',(0.,1.));
#2002 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#2003 = ADVANCED_FACE('',(#2004),#1810,.F.);
#2004 = FACE_BOUND('',#2005,.F.);
#2005 = EDGE_LOOP('',(#2006,#2027,#2028,#2049));
#2006 = ORIENTED_EDGE('',*,*,#2007,.F.);
#2007 = EDGE_CURVE('',#1788,#1908,#2008,.T.);
#2008 = SURFACE_CURVE('',#2009,(#2013,#2020),.PCURVE_S1.);
#2009 = LINE('',#2010,#2011);
#2010 = CARTESIAN_POINT('',(-2.27,-1.1,2.5));
#2011 = VECTOR('',#2012,1.);
#2012 = DIRECTION('',(1.,0.,0.));
#2013 = PCURVE('',#1810,#2014);
#2014 = DEFINITIONAL_REPRESENTATION('',(#2015),#2019);
#2015 = LINE('',#2016,#2017);
#2016 = CARTESIAN_POINT('',(0.,0.));
#2017 = VECTOR('',#2018,1.);
#2018 = DIRECTION('',(0.,1.));
#2019 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#2020 = PCURVE('',#1838,#2021);
#2021 = DEFINITIONAL_REPRESENTATION('',(#2022),#2026);
#2022 = LINE('',#2023,#2024);
#2023 = CARTESIAN_POINT('',(0.,0.));
#2024 = VECTOR('',#2025,1.);
#2025 = DIRECTION('',(1.,0.));
#2026 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#2027 = ORIENTED_EDGE('',*,*,#1787,.T.);
#2028 = ORIENTED_EDGE('',*,*,#2029,.T.);
#2029 = EDGE_CURVE('',#1790,#1910,#2030,.T.);
#2030 = SURFACE_CURVE('',#2031,(#2035,#2042),.PCURVE_S1.);
#2031 = LINE('',#2032,#2033);
#2032 = CARTESIAN_POINT('',(-2.27,-1.1,6.05));
#2033 = VECTOR('',#2034,1.);
#2034 = DIRECTION('',(1.,0.,0.));
#2035 = PCURVE('',#1810,#2036);
#2036 = DEFINITIONAL_REPRESENTATION('',(#2037),#2041);
#2037 = LINE('',#2038,#2039);
#2038 = CARTESIAN_POINT('',(3.55,0.));
#2039 = VECTOR('',#2040,1.);
#2040 = DIRECTION('',(0.,1.));
#2041 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#2042 = PCURVE('',#1892,#2043);
#2043 = DEFINITIONAL_REPRESENTATION('',(#2044),#2048);
#2044 = LINE('',#2045,#2046);
#2045 = CARTESIAN_POINT('',(0.,0.));
#2046 = VECTOR('',#2047,1.);
#2047 = DIRECTION('',(1.,0.));
#2048 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#2049 = ORIENTED_EDGE('',*,*,#1907,.F.);
#2050 = ADVANCED_FACE('',(#2051),#1866,.T.);
#2051 = FACE_BOUND('',#2052,.T.);
#2052 = EDGE_LOOP('',(#2053,#2074,#2075,#2096));
#2053 = ORIENTED_EDGE('',*,*,#2054,.F.);
#2054 = EDGE_CURVE('',#1823,#1938,#2055,.T.);
#2055 = SURFACE_CURVE('',#2056,(#2060,#2067),.PCURVE_S1.);
#2056 = LINE('',#2057,#2058);
#2057 = CARTESIAN_POINT('',(-2.27,-1.02,2.5));
#2058 = VECTOR('',#2059,1.);
#2059 = DIRECTION('',(1.,0.,0.));
#2060 = PCURVE('',#1866,#2061);
#2061 = DEFINITIONAL_REPRESENTATION('',(#2062),#2066);
#2062 = LINE('',#2063,#2064);
#2063 = CARTESIAN_POINT('',(0.,0.));
#2064 = VECTOR('',#2065,1.);
#2065 = DIRECTION('',(0.,1.));
#2066 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#2067 = PCURVE('',#1838,#2068);
#2068 = DEFINITIONAL_REPRESENTATION('',(#2069),#2073);
#2069 = LINE('',#2070,#2071);
#2070 = CARTESIAN_POINT('',(0.,8.E-02));
#2071 = VECTOR('',#2072,1.);
#2072 = DIRECTION('',(1.,0.));
#2073 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#2074 = ORIENTED_EDGE('',*,*,#1850,.T.);
#2075 = ORIENTED_EDGE('',*,*,#2076,.T.);
#2076 = EDGE_CURVE('',#1851,#1961,#2077,.T.);
#2077 = SURFACE_CURVE('',#2078,(#2082,#2089),.PCURVE_S1.);
#2078 = LINE('',#2079,#2080);
#2079 = CARTESIAN_POINT('',(-2.27,-1.02,6.05));
#2080 = VECTOR('',#2081,1.);
#2081 = DIRECTION('',(1.,0.,0.));
#2082 = PCURVE('',#1866,#2083);
#2083 = DEFINITIONAL_REPRESENTATION('',(#2084),#2088);
#2084 = LINE('',#2085,#2086);
#2085 = CARTESIAN_POINT('',(3.55,0.));
#2086 = VECTOR('',#2087,1.);
#2087 = DIRECTION('',(0.,1.));
#2088 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#2089 = PCURVE('',#1892,#2090);
#2090 = DEFINITIONAL_REPRESENTATION('',(#2091),#2095);
#2091 = LINE('',#2092,#2093);
#2092 = CARTESIAN_POINT('',(0.,8.E-02));
#2093 = VECTOR('',#2094,1.);
#2094 = DIRECTION('',(1.,0.));
#2095 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#2096 = ORIENTED_EDGE('',*,*,#1960,.F.);
#2097 = ADVANCED_FACE('',(#2098),#1838,.F.);
#2098 = FACE_BOUND('',#2099,.F.);
#2099 = EDGE_LOOP('',(#2100,#2101,#2102,#2103));
#2100 = ORIENTED_EDGE('',*,*,#1822,.F.);
#2101 = ORIENTED_EDGE('',*,*,#2007,.T.);
#2102 = ORIENTED_EDGE('',*,*,#1937,.T.);
#2103 = ORIENTED_EDGE('',*,*,#2054,.F.);
#2104 = ADVANCED_FACE('',(#2105),#1892,.T.);
#2105 = FACE_BOUND('',#2106,.T.);
#2106 = EDGE_LOOP('',(#2107,#2108,#2109,#2110));
#2107 = ORIENTED_EDGE('',*,*,#1878,.F.);
#2108 = ORIENTED_EDGE('',*,*,#2029,.T.);
#2109 = ORIENTED_EDGE('',*,*,#1983,.T.);
#2110 = ORIENTED_EDGE('',*,*,#2076,.F.);
#2111 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2115))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#2112,#2113,#2114)) REPRESENTATION_CONTEXT
('Context #1','3D Context with UNIT and UNCERTAINTY') );
#2112 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#2113 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#2114 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#2115 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#2112,
'distance_accuracy_value','confusion accuracy');
#2116 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#2117,#2119);
#2117 = ( REPRESENTATION_RELATIONSHIP('','',#1780,#10)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#2118)
SHAPE_REPRESENTATION_RELATIONSHIP() );
#2118 = ITEM_DEFINED_TRANSFORMATION('','',#11,#31);
#2119 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',
#2120);
#2120 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('60',
'36516288-93c7-11f1-ba5d-04bad62a3558','',#5,#1775,$);
#2121 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#1777));
#2122 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(
#2123),#2111);
#2123 = STYLED_ITEM('color',(#2124),#1781);
#2124 = PRESENTATION_STYLE_ASSIGNMENT((#2125));
#2125 = SURFACE_STYLE_USAGE(.BOTH.,#2126);
#2126 = SURFACE_SIDE_STYLE('',(#2127));
#2127 = SURFACE_STYLE_FILL_AREA(#2128);
#2128 = FILL_AREA_STYLE('',(#2129));
#2129 = FILL_AREA_STYLE_COLOUR('',#2130);
#2130 = COLOUR_RGB('',0.250000000672,0.27999999963,0.299999996101);
#2131 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(
#2132),#1413);
#2132 = STYLED_ITEM('color',(#2133),#747);
#2133 = PRESENTATION_STYLE_ASSIGNMENT((#2134));
#2134 = SURFACE_STYLE_USAGE(.BOTH.,#2135);
#2135 = SURFACE_SIDE_STYLE('',(#2136,#2140));
#2136 = SURFACE_STYLE_FILL_AREA(#2137);
#2137 = FILL_AREA_STYLE('',(#2138));
#2138 = FILL_AREA_STYLE_COLOUR('',#2139);
#2139 = COLOUR_RGB('',0.720000003324,0.78000000177,0.800000010877);
#2140 = SURFACE_STYLE_RENDERING_WITH_PROPERTIES(.NORMAL_SHADING.,#2139,(
#2141));
#2141 = SURFACE_STYLE_TRANSPARENT(0.420000016689);
#2142 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(
#2143),#728);
#2143 = STYLED_ITEM('color',(#2144),#398);
#2144 = PRESENTATION_STYLE_ASSIGNMENT((#2145));
#2145 = SURFACE_STYLE_USAGE(.BOTH.,#2146);
#2146 = SURFACE_SIDE_STYLE('',(#2147));
#2147 = SURFACE_STYLE_FILL_AREA(#2148);
#2148 = FILL_AREA_STYLE('',(#2149));
#2149 = FILL_AREA_STYLE_COLOUR('',#2150);
#2150 = COLOUR_RGB('',0.720000003324,0.740000011925,0.760000013601);
#2151 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(
#2152),#1762);
#2152 = STYLED_ITEM('color',(#2153),#1432);
#2153 = PRESENTATION_STYLE_ASSIGNMENT((#2154));
#2154 = SURFACE_STYLE_USAGE(.BOTH.,#2155);
#2155 = SURFACE_SIDE_STYLE('',(#2156));
#2156 = SURFACE_STYLE_FILL_AREA(#2157);
#2157 = FILL_AREA_STYLE('',(#2158));
#2158 = FILL_AREA_STYLE_COLOUR('',#2159);
#2159 = COLOUR_RGB('',9.999999991362E-02,0.1599999992,0.190000001765);
#2160 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(
#2161),#379);
#2161 = STYLED_ITEM('color',(#2162),#49);
#2162 = PRESENTATION_STYLE_ASSIGNMENT((#2163));
#2163 = SURFACE_STYLE_USAGE(.BOTH.,#2164);
#2164 = SURFACE_SIDE_STYLE('',(#2165));
#2165 = SURFACE_STYLE_FILL_AREA(#2166);
#2166 = FILL_AREA_STYLE('',(#2167));
#2167 = FILL_AREA_STYLE_COLOUR('',#2150);
ENDSEC;
END-ISO-10303-21;

BIN
PCB/Libs/J_ARK3.SchLib Normal file

Binary file not shown.

BIN
PCB/Libs/J_ARK3_2.54.PcbLib Normal file

Binary file not shown.

BIN
PCB/Libs/OPA380.PcbLib Normal file

Binary file not shown.

BIN
PCB/Libs/OPA380.SchLib Normal file

Binary file not shown.

BIN
PCB/Libs/Sensor.PcbLib Normal file

Binary file not shown.

View File

@@ -0,0 +1,130 @@
"""Generate the custom STEP models used by the OptoTest PCB libraries.
The coordinate system follows Altium's usual convention: XY is the PCB plane and
Z points away from the top side of the PCB. All dimensions are in millimetres.
"""
from pathlib import Path
import sys
CADQUERY_PATH = Path.home() / "AppData/Local/Temp/codex-cadquery"
if CADQUERY_PATH.exists():
sys.path.insert(0, str(CADQUERY_PATH))
import cadquery as cq
OUT_DIR = Path(__file__).resolve().parent
def box(x, y, z, cx=0.0, cy=0.0, bottom=0.0):
return cq.Workplane("XY").box(x, y, z).translate((cx, cy, bottom + z / 2))
def cylinder(diameter, height, cx=0.0, cy=0.0, bottom=0.0):
return (
cq.Workplane("XY")
.circle(diameter / 2)
.extrude(height)
.translate((cx, cy, bottom))
)
def add_dip8_precision_socket(assembly):
"""7.62-mm-row precision/turned-pin DIP-8 socket seated on the PCB."""
black = cq.Color(0.055, 0.055, 0.060)
gold = cq.Color(0.78, 0.55, 0.12)
dark = cq.Color(0.015, 0.015, 0.018)
# Two turned-pin carrier rails and end bridges. The centre remains open,
# matching the precision socket used by the SN75451 model.
assembly.add(box(2.35, 10.15, 3.65, -3.81, 0, 0.35), color=black)
assembly.add(box(2.35, 10.15, 3.65, +3.81, 0, 0.35), color=black)
assembly.add(box(5.30, 1.15, 1.10, 0, -4.50, 0.35), color=black)
assembly.add(box(5.30, 1.15, 1.10, 0, +4.50, 0.35), color=black)
for x in (-3.81, 3.81):
for y in (-3.81, -1.27, 1.27, 3.81):
assembly.add(cylinder(0.50, 3.15, x, y, -2.80), color=gold)
assembly.add(cylinder(1.22, 3.20, x, y, 0.55), color=gold)
assembly.add(cylinder(0.70, 3.23, x, y, 0.57), color=dark)
def make_opa380_adapter():
assembly = cq.Assembly(name="OPA380_SOIC8_ADAPTER_DIP8_PRECISION_SOCKET")
add_dip8_precision_socket(assembly)
green = cq.Color(0.035, 0.30, 0.12)
copper = cq.Color(0.72, 0.43, 0.12)
silver = cq.Color(0.72, 0.74, 0.76)
black = cq.Color(0.035, 0.035, 0.040)
marking = cq.Color(0.82, 0.82, 0.78)
# DIP-8/SOIC-8 adapter. Its lower pins plug into the precision socket.
for x in (-3.81, 3.81):
for y in (-3.81, -1.27, 1.27, 3.81):
assembly.add(cylinder(0.46, 3.30, x, y, 2.80), color=copper)
assembly.add(box(10.25, 10.25, 1.20, 0, 0, 6.00), color=green)
# Visible DIP pads on the adapter PCB.
for x in (-3.81, 3.81):
for y in (-3.81, -1.27, 1.27, 3.81):
assembly.add(cylinder(1.30, 0.06, x, y, 7.20), color=copper)
# OPA380 in TI D (SOIC-8): nominal 3.9 x 4.9 mm body, 1.27-mm pitch.
body = box(3.90, 4.90, 1.55, 0, 0, 7.33)
try:
body = body.edges("|Z").fillet(0.18)
except Exception:
pass
assembly.add(body, color=black)
# Gull-wing leads. Pin 1 is at the lower-left corner in top view.
for x in (-2.55, 2.55):
for y in (-1.905, -0.635, 0.635, 1.905):
assembly.add(box(1.25, 0.42, 0.16, x, y, 7.25), color=silver)
assembly.add(cylinder(0.42, 0.035, -1.28, -1.55, 8.88), color=marking)
output = OUT_DIR / "OPA380_SOIC8_ADAPTER_DIP8_PRECISION_SOCKET.step"
assembly.save(str(output), mode="default")
return output
def make_bpw34_vertical():
assembly = cq.Assembly(name="BPW34_VERTICAL_P5.08mm")
silver = cq.Color(0.72, 0.74, 0.76)
clear = cq.Color(0.72, 0.78, 0.80, 0.58)
die = cq.Color(0.10, 0.16, 0.19)
cathode_mark = cq.Color(0.25, 0.28, 0.30)
# Leads occupy footprint positions 1 and 3. Position 2 (x=0) is omitted.
# Centre-to-centre distance is therefore exactly 2 x 2.54 = 5.08 mm.
for x in (-2.54, 2.54):
assembly.add(box(0.50, 0.38, 5.30, x, 0, -2.60), color=silver)
# Upright BPW34 body, based on Vishay drawing 6.544-5315.01-4:
# 4.65-mm face width, 4.3-mm face height and 2.0-mm package depth.
# The leads are deliberately formed out to the requested 5.08-mm spacing.
body = box(4.65, 2.00, 4.30, 0, 0, 2.15)
try:
body = body.edges("|Z").fillet(0.25)
except Exception:
pass
assembly.add(body, color=clear)
# Visible detector die and bond area inside the transparent package.
assembly.add(box(3.00, 0.12, 3.00, 0, -0.89, 2.80), color=die)
# Cathode-side stripe, located by footprint pad 1 (left in top/front view).
assembly.add(box(0.22, 0.08, 3.55, -2.16, -1.06, 2.50), color=cathode_mark)
output = OUT_DIR / "BPW34_VERTICAL_P5.08mm.step"
assembly.save(str(output), mode="default")
return output
if __name__ == "__main__":
for model in (make_opa380_adapter(), make_bpw34_vertical()):
print(model)

Binary file not shown.

View File

@@ -86,7 +86,7 @@ ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=VRLHYREI
DocumentUniqueId=FNFLLWRF
[Document4]
DocumentPath=Libs\ESP32-S3-SuperMini.SchLib
@@ -103,7 +103,7 @@ ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=LHZTVGFY
DocumentUniqueId=IWYWSUPY
[Document5]
DocumentPath=Libs\HFBR-1528Z_HFBR-2528Z.PcbLib
@@ -273,7 +273,7 @@ ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=A8G5624N
DocumentUniqueId=LAFSSKWH
[Document15]
DocumentPath=Libs\SN75451BP.PcbLib
@@ -326,6 +326,202 @@ DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=
[Document18]
DocumentPath=Libs\Sensor.PcbLib
AnnotationEnabled=1
AnnotateStartValue=1
AnnotationIndexControlEnabled=0
AnnotateSuffix=
AnnotateScope=All
AnnotateOrder=-1
DoLibraryUpdate=1
DoDatabaseUpdate=1
ClassGenCCAutoEnabled=1
ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=SCOMYVDB
[Document19]
DocumentPath=Libs\BPW34.PcbLib
AnnotationEnabled=1
AnnotateStartValue=1
AnnotationIndexControlEnabled=0
AnnotateSuffix=
AnnotateScope=All
AnnotateOrder=-1
DoLibraryUpdate=1
DoDatabaseUpdate=1
ClassGenCCAutoEnabled=1
ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=DEJBNXAE
[Document20]
DocumentPath=Libs\OPA380.PcbLib
AnnotationEnabled=1
AnnotateStartValue=1
AnnotationIndexControlEnabled=0
AnnotateSuffix=
AnnotateScope=All
AnnotateOrder=-1
DoLibraryUpdate=1
DoDatabaseUpdate=1
ClassGenCCAutoEnabled=1
ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=TPLFYPML
[Document21]
DocumentPath=Libs\OPA380.SchLib
AnnotationEnabled=1
AnnotateStartValue=1
AnnotationIndexControlEnabled=0
AnnotateSuffix=
AnnotateScope=All
AnnotateOrder=-1
DoLibraryUpdate=1
DoDatabaseUpdate=1
ClassGenCCAutoEnabled=1
ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=A8G5624N
[Document22]
DocumentPath=Libs\J_ARK3_2.54.PcbLib
AnnotationEnabled=1
AnnotateStartValue=1
AnnotationIndexControlEnabled=0
AnnotateSuffix=
AnnotateScope=All
AnnotateOrder=-1
DoLibraryUpdate=1
DoDatabaseUpdate=1
ClassGenCCAutoEnabled=1
ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=
[Document23]
DocumentPath=Libs\J_ARK3.SchLib
AnnotationEnabled=1
AnnotateStartValue=1
AnnotationIndexControlEnabled=0
AnnotateSuffix=
AnnotateScope=All
AnnotateOrder=-1
DoLibraryUpdate=1
DoDatabaseUpdate=1
ClassGenCCAutoEnabled=1
ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=WYDOVXHH
[Document24]
DocumentPath=gerber.Cam
AnnotationEnabled=1
AnnotateStartValue=1
AnnotationIndexControlEnabled=0
AnnotateSuffix=
AnnotateScope=All
AnnotateOrder=-1
DoLibraryUpdate=1
DoDatabaseUpdate=1
ClassGenCCAutoEnabled=1
ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=
[Document25]
DocumentPath=nc_drills.Cam
AnnotationEnabled=1
AnnotateStartValue=1
AnnotationIndexControlEnabled=0
AnnotateSuffix=
AnnotateScope=All
AnnotateOrder=-1
DoLibraryUpdate=1
DoDatabaseUpdate=1
ClassGenCCAutoEnabled=1
ClassGenCCAutoRoomEnabled=1
ClassGenNCAutoScope=None
DItemRevisionGUID=
GenerateClassCluster=0
DocumentUniqueId=
[GeneratedDocument1]
DocumentPath=Project Outputs for OptoTest\OptoTest.DRR
DItemRevisionGUID=
[GeneratedDocument2]
DocumentPath=Project Outputs for OptoTest\OptoTest.EXTREP
DItemRevisionGUID=
[GeneratedDocument3]
DocumentPath=Project Outputs for OptoTest\OptoTest.GBL
DItemRevisionGUID=
[GeneratedDocument4]
DocumentPath=Project Outputs for OptoTest\OptoTest.GBO
DItemRevisionGUID=
[GeneratedDocument5]
DocumentPath=Project Outputs for OptoTest\OptoTest.GBP
DItemRevisionGUID=
[GeneratedDocument6]
DocumentPath=Project Outputs for OptoTest\OptoTest.GBS
DItemRevisionGUID=
[GeneratedDocument7]
DocumentPath=Project Outputs for OptoTest\OptoTest.GKO
DItemRevisionGUID=
[GeneratedDocument8]
DocumentPath=Project Outputs for OptoTest\OptoTest.GTL
DItemRevisionGUID=
[GeneratedDocument9]
DocumentPath=Project Outputs for OptoTest\OptoTest.GTO
DItemRevisionGUID=
[GeneratedDocument10]
DocumentPath=Project Outputs for OptoTest\OptoTest.GTP
DItemRevisionGUID=
[GeneratedDocument11]
DocumentPath=Project Outputs for OptoTest\OptoTest.GTS
DItemRevisionGUID=
[GeneratedDocument12]
DocumentPath=Project Outputs for OptoTest\OptoTest.LDP
DItemRevisionGUID=
[GeneratedDocument13]
DocumentPath=Project Outputs for OptoTest\OptoTest.REP
DItemRevisionGUID=
[GeneratedDocument14]
DocumentPath=Project Outputs for OptoTest\OptoTest.RUL
DItemRevisionGUID=
[GeneratedDocument15]
DocumentPath=Project Outputs for OptoTest\OptoTest.TXT
DItemRevisionGUID=
[Configuration1]
Name=Sources
ParameterCount=0

Binary file not shown.

View File

@@ -0,0 +1,18 @@
G04:AMPARAMS|DCode=41|XSize=2.3mm|YSize=1.8mm|CornerRadius=0.225mm|HoleSize=0mm|Usage=FLASHONLY|Rotation=90.000|XOffset=0mm|YOffset=0mm|HoleType=Round|Shape=RoundedRectangle|*
%AMROUNDEDRECTD41*
21,1,2.3000,1.3500,0,0,90.0*
21,1,1.8500,1.8000,0,0,90.0*
1,1,0.4500,0.6750,0.9250*
1,1,0.4500,0.6750,-0.9250*
1,1,0.4500,-0.6750,-0.9250*
1,1,0.4500,-0.6750,0.9250*
%
G04:AMPARAMS|DCode=42|XSize=2.45mm|YSize=1.95mm|CornerRadius=0.3mm|HoleSize=0mm|Usage=FLASHONLY|Rotation=90.000|XOffset=0mm|YOffset=0mm|HoleType=Round|Shape=RoundedRectangle|*
%AMROUNDEDRECTD42*
21,1,2.4500,1.3500,0,0,90.0*
21,1,1.8500,1.9500,0,0,90.0*
1,1,0.6000,0.6750,0.9250*
1,1,0.6000,0.6750,-0.9250*
1,1,0.6000,-0.6750,-0.9250*
1,1,0.6000,-0.6750,0.9250*
%

View File

@@ -0,0 +1,17 @@
----------------------------------------------------------------------------------------------------------------------------------
NCDrill File Report For: OptoTest.PcbDoc 09.08.2026 13:58:41
----------------------------------------------------------------------------------------------------------------------------------
Layer Pair : Top Layer to Bottom Layer
ASCII RoundHoles File : OptoTest.TXT
Tool Hole Size Hole Tolerance Hole Type Hole Count Plated Tool Travel
----------------------------------------------------------------------------------------------------------------------------------
T1 0.9mm (35mil) Round 4 PTH 0.00mm (0.00inch)
T2 1.3mm (51mil) Round 57 PTH 0.00mm (0.00inch)
T3 2mm (79mil) Round 8 PTH 0.00mm (0.00inch)
T4 3.1mm (122mil) Round 4 NPTH 0.00mm (0.00inch)
----------------------------------------------------------------------------------------------------------------------------------
Totals 73
Total Processing Time (hh:mm:ss) : 00:00:00

View File

@@ -0,0 +1,18 @@
------------------------------------------------------------------------------------------
Gerber File Extension Report For: OptoTest.GBR 09.08.2026 13:57:58
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
Layer Extension Layer Description
------------------------------------------------------------------------------------------
.GTO Top Overlay
.GTP Top Paste
.GTS Top Solder
.GTL Top Layer
.GBL Bottom Layer
.GBS Bottom Solder
.GBP Bottom Paste
.GBO Bottom Overlay
.GKO Keep-Out Layer
------------------------------------------------------------------------------------------

View File

@@ -0,0 +1,1905 @@
G04*
G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,19.1.9 (167)*
G04*
G04 Layer_Physical_Order=3*
G04 Layer_Color=16711680*
%FSLAX44Y44*%
%MOMM*%
G71*
G01*
G75*
%ADD18R,1.3000X1.5000*%
%ADD20R,1.4000X1.2000*%
%ADD21R,1.2000X1.4000*%
%ADD33C,0.8000*%
%ADD34O,2.1000X2.0000*%
%ADD35C,2.1000*%
%ADD36R,2.1000X2.1000*%
%ADD37R,2.1000X2.1000*%
%ADD38C,2.8000*%
%ADD39C,1.5240*%
%ADD40C,1.7000*%
G04:AMPARAMS|DCode=41|XSize=2.3mm|YSize=1.8mm|CornerRadius=0.225mm|HoleSize=0mm|Usage=FLASHONLY|Rotation=90.000|XOffset=0mm|YOffset=0mm|HoleType=Round|Shape=RoundedRectangle|*
%AMROUNDEDRECTD41*
21,1,2.3000,1.3500,0,0,90.0*
21,1,1.8500,1.8000,0,0,90.0*
1,1,0.4500,0.6750,0.9250*
1,1,0.4500,0.6750,-0.9250*
1,1,0.4500,-0.6750,-0.9250*
1,1,0.4500,-0.6750,0.9250*
%
%ADD41ROUNDEDRECTD41*%
G36*
X690000Y490000D02*
Y341023D01*
X688791Y340097D01*
X687000Y339446D01*
X684860Y340589D01*
X681938Y341476D01*
X678900Y341775D01*
X675861Y341476D01*
X672940Y340589D01*
X670247Y339150D01*
X667887Y337213D01*
X667700Y336986D01*
X664700D01*
X664513Y337213D01*
X662153Y339150D01*
X659460Y340589D01*
X656538Y341476D01*
X653500Y341775D01*
X650462Y341476D01*
X647540Y340589D01*
X644847Y339150D01*
X642487Y337213D01*
X642300Y336986D01*
X639300D01*
X639113Y337213D01*
X636753Y339150D01*
X634060Y340589D01*
X631138Y341476D01*
X628100Y341775D01*
X625061Y341476D01*
X622140Y340589D01*
X619447Y339150D01*
X617390Y337462D01*
X616203Y336986D01*
X614597D01*
X613410Y337462D01*
X611353Y339150D01*
X608660Y340589D01*
X605738Y341476D01*
X602700Y341775D01*
X599661Y341476D01*
X596740Y340589D01*
X594047Y339150D01*
X591687Y337213D01*
X591500Y336986D01*
X588500D01*
X588313Y337213D01*
X585953Y339150D01*
X583260Y340589D01*
X580339Y341476D01*
X577300Y341775D01*
X574262Y341476D01*
X571340Y340589D01*
X568647Y339150D01*
X566287Y337213D01*
X566100Y336986D01*
X563100D01*
X562913Y337213D01*
X560553Y339150D01*
X557860Y340589D01*
X554939Y341476D01*
X551900Y341775D01*
X548862Y341476D01*
X548854Y341473D01*
X547264Y344126D01*
X550263Y347125D01*
X587203D01*
X589552Y347435D01*
X591742Y348341D01*
X593622Y349784D01*
X600419Y356581D01*
X601861Y358461D01*
X602768Y360650D01*
X603078Y363000D01*
Y368300D01*
X609300D01*
Y380300D01*
X593800D01*
Y387300D01*
X609300D01*
Y399300D01*
X609300D01*
X607687Y402300D01*
X608189Y403240D01*
X608936Y405700D01*
X593800D01*
Y412700D01*
X608936D01*
X608189Y415160D01*
X606750Y417853D01*
X604946Y420051D01*
X604816Y420279D01*
X604958Y423942D01*
X606832Y426226D01*
X608225Y428832D01*
X609083Y431660D01*
X609373Y434600D01*
X609083Y437541D01*
X608225Y440368D01*
X606832Y442974D01*
X604958Y445258D01*
X604816Y448921D01*
X604946Y449149D01*
X606750Y451347D01*
X608189Y454040D01*
X609076Y456962D01*
X609375Y460000D01*
X609076Y463038D01*
X608189Y465960D01*
X606750Y468653D01*
X604813Y471013D01*
X602453Y472950D01*
X599760Y474389D01*
X596838Y475276D01*
X593800Y475575D01*
X590761Y475276D01*
X587840Y474389D01*
X585147Y472950D01*
X585005Y472833D01*
X582000Y475838D01*
Y487000D01*
X542000D01*
Y463000D01*
X545028D01*
X545139Y462733D01*
X546581Y460853D01*
X551663Y455772D01*
X550515Y453000D01*
X542000D01*
Y437838D01*
X518997Y414835D01*
X515873Y415953D01*
X515776Y416938D01*
X514889Y419860D01*
X513450Y422553D01*
X511513Y424913D01*
X511286Y425100D01*
Y428100D01*
X511513Y428287D01*
X513450Y430647D01*
X514889Y433340D01*
X515776Y436261D01*
X516075Y439300D01*
X515776Y442338D01*
X514889Y445260D01*
X513450Y447953D01*
X511513Y450313D01*
X511286Y450500D01*
Y453500D01*
X511513Y453687D01*
X513450Y456047D01*
X514889Y458740D01*
X515776Y461661D01*
X516075Y464700D01*
X515776Y467738D01*
X514889Y470660D01*
X513450Y473353D01*
X511513Y475713D01*
X509153Y477650D01*
X506460Y479089D01*
X503539Y479976D01*
X500500Y480275D01*
X497461Y479976D01*
X494540Y479089D01*
X491847Y477650D01*
X489487Y475713D01*
X487550Y473353D01*
X486110Y470660D01*
X485224Y467738D01*
X484925Y464700D01*
X485224Y461661D01*
X486110Y458740D01*
X487550Y456047D01*
X489487Y453687D01*
X489714Y453500D01*
Y450500D01*
X489487Y450313D01*
X487550Y447953D01*
X486110Y445260D01*
X485224Y442338D01*
X484925Y439300D01*
X485224Y436261D01*
X486110Y433340D01*
X487550Y430647D01*
X489487Y428287D01*
X489714Y428100D01*
Y425100D01*
X489487Y424913D01*
X487550Y422553D01*
X486110Y419860D01*
X485224Y416938D01*
X484925Y413900D01*
X485224Y410861D01*
X486110Y407939D01*
X487550Y405247D01*
X489487Y402887D01*
X489714Y402700D01*
Y399700D01*
X489487Y399513D01*
X487550Y397153D01*
X486110Y394460D01*
X485224Y391538D01*
X484925Y388500D01*
X485224Y385461D01*
X486110Y382539D01*
X487550Y379847D01*
X489487Y377487D01*
X491847Y375550D01*
X494540Y374110D01*
X497461Y373224D01*
X500500Y372925D01*
X503539Y373224D01*
X506460Y374110D01*
X509153Y375550D01*
X511513Y377487D01*
X513450Y379847D01*
X514889Y382539D01*
X515776Y385461D01*
X515828Y385990D01*
X539728Y409891D01*
X542500Y408743D01*
Y395500D01*
X542500Y392500D01*
X542500D01*
Y392500D01*
X542500D01*
Y386124D01*
X541581Y385419D01*
X497454Y341291D01*
X495140Y340589D01*
X494182Y340078D01*
X200760D01*
X128241Y412597D01*
X129831Y415249D01*
X131561Y414724D01*
X134600Y414425D01*
X137639Y414724D01*
X140560Y415611D01*
X143253Y417050D01*
X145613Y418987D01*
X145800Y419215D01*
X148800D01*
X148987Y418987D01*
X151347Y417050D01*
X154040Y415611D01*
X156961Y414724D01*
X160000Y414425D01*
X163039Y414724D01*
X165960Y415611D01*
X168653Y417050D01*
X171013Y418987D01*
X172950Y421347D01*
X174389Y424040D01*
X175276Y426962D01*
X175575Y430000D01*
X175276Y433038D01*
X174389Y435960D01*
X172950Y438653D01*
X171013Y441013D01*
X168653Y442950D01*
X165960Y444389D01*
X163039Y445276D01*
X160000Y445575D01*
X156961Y445276D01*
X154040Y444389D01*
X151347Y442950D01*
X148987Y441013D01*
X148800Y440786D01*
X145800D01*
X145613Y441013D01*
X143253Y442950D01*
X140560Y444389D01*
X137639Y445276D01*
X134600Y445575D01*
X131561Y445276D01*
X128640Y444389D01*
X125947Y442950D01*
X123587Y441013D01*
X123400Y440786D01*
X120400D01*
X120213Y441013D01*
X117853Y442950D01*
X115160Y444389D01*
X112239Y445276D01*
X109200Y445575D01*
X106161Y445276D01*
X103240Y444389D01*
X102300Y443887D01*
X99300Y445500D01*
Y445500D01*
X87300D01*
Y430000D01*
Y414500D01*
X88743D01*
X89891Y411728D01*
X32481Y354319D01*
X31039Y352439D01*
X30132Y350249D01*
X29822Y347900D01*
Y93936D01*
X30132Y91587D01*
X31039Y89397D01*
X32481Y87517D01*
X37167Y82831D01*
X37167Y82831D01*
X39048Y81389D01*
X41237Y80482D01*
X43586Y80172D01*
X70198D01*
X72937Y78000D01*
Y71250D01*
X87000D01*
Y66250D01*
X72937D01*
Y59500D01*
X73186Y57607D01*
X73917Y55844D01*
X75079Y54329D01*
X76594Y53167D01*
X77922Y52617D01*
Y46935D01*
X76050Y44653D01*
X74611Y41960D01*
X73864Y39500D01*
X89000D01*
Y36000D01*
X92500D01*
Y20864D01*
X94960Y21611D01*
X97653Y23050D01*
X100013Y24987D01*
X100200Y25215D01*
X103200D01*
X103387Y24987D01*
X105747Y23050D01*
X108440Y21611D01*
X111362Y20724D01*
X114400Y20425D01*
X117438Y20724D01*
X120360Y21611D01*
X123053Y23050D01*
X125413Y24987D01*
X125600Y25215D01*
X128600D01*
X128787Y24987D01*
X131147Y23050D01*
X133840Y21611D01*
X136762Y20724D01*
X139800Y20425D01*
X142838Y20724D01*
X145760Y21611D01*
X148453Y23050D01*
X150813Y24987D01*
X152750Y27347D01*
X154189Y30040D01*
X155076Y32961D01*
X155375Y36000D01*
X155076Y39039D01*
X154911Y39581D01*
X155259Y40422D01*
X179228Y64391D01*
X182000Y63243D01*
Y50000D01*
Y31000D01*
Y26500D01*
X194000D01*
Y24000D01*
X196500D01*
Y13000D01*
X206000D01*
Y14922D01*
X230000D01*
X232349Y15232D01*
X234539Y16139D01*
X236419Y17581D01*
X250616Y31778D01*
X252275Y31275D01*
X252500Y31253D01*
Y46500D01*
X237253D01*
X237275Y46275D01*
X237778Y44616D01*
X226240Y33078D01*
X206000D01*
Y50000D01*
Y54222D01*
X206077Y54232D01*
X208267Y55139D01*
X210147Y56581D01*
X239271Y85705D01*
X239533Y85877D01*
X240424Y86064D01*
X242954Y86042D01*
X243234Y85897D01*
X245393Y84126D01*
X248694Y82361D01*
X252275Y81275D01*
X256000Y80908D01*
X259725Y81275D01*
X263306Y82361D01*
X266607Y84126D01*
X269500Y86500D01*
X271874Y89393D01*
X273639Y92694D01*
X274725Y96275D01*
X275092Y100000D01*
X274725Y103725D01*
X273639Y107306D01*
X271874Y110607D01*
X269500Y113500D01*
X266607Y115874D01*
X263306Y117639D01*
X259725Y118725D01*
X259319Y118765D01*
X258200Y121890D01*
X318233Y181922D01*
X419000D01*
X421349Y182232D01*
X423539Y183139D01*
X425419Y184581D01*
X455422Y214585D01*
X458422Y213342D01*
Y168078D01*
X351000D01*
X348651Y167768D01*
X346461Y166861D01*
X344581Y165419D01*
X344581Y165419D01*
X332581Y153419D01*
X331139Y151539D01*
X330232Y149349D01*
X329922Y147000D01*
Y33000D01*
X330232Y30650D01*
X331139Y28461D01*
X332581Y26581D01*
X339581Y19581D01*
X341461Y18139D01*
X343651Y17232D01*
X346000Y16922D01*
X408500D01*
X410849Y17232D01*
X413039Y18139D01*
X414271Y19084D01*
X416900Y18825D01*
X419939Y19124D01*
X422860Y20011D01*
X425553Y21450D01*
X427913Y23387D01*
X429850Y25747D01*
X431289Y28440D01*
X432176Y31361D01*
X432475Y34400D01*
X432176Y37438D01*
X431289Y40360D01*
X429850Y43053D01*
X427913Y45413D01*
X427686Y45600D01*
Y48600D01*
X427913Y48787D01*
X429584Y50822D01*
X435000D01*
Y48000D01*
X475000D01*
Y48000D01*
X477600Y47035D01*
Y18900D01*
X508600D01*
Y36030D01*
X511372Y37178D01*
X528968Y19581D01*
X530849Y18139D01*
X533038Y17232D01*
X535387Y16922D01*
X579800D01*
X582150Y17232D01*
X584339Y18139D01*
X586219Y19581D01*
X591138Y24500D01*
X609300D01*
Y40485D01*
X609737Y40922D01*
X618000D01*
X618590Y41000D01*
X632000D01*
Y59000D01*
Y81000D01*
X620838D01*
X609193Y92644D01*
X609076Y93839D01*
X608189Y96760D01*
X606750Y99453D01*
X604813Y101813D01*
X604586Y102000D01*
Y105000D01*
X604813Y105187D01*
X606750Y107547D01*
X608189Y110240D01*
X609076Y113161D01*
X609375Y116200D01*
X609076Y119239D01*
X608189Y122160D01*
X606750Y124853D01*
X604813Y127213D01*
X602453Y129150D01*
X599760Y130589D01*
X596838Y131476D01*
X593800Y131775D01*
X590761Y131476D01*
X587840Y130589D01*
X585147Y129150D01*
X582787Y127213D01*
X581198Y125278D01*
X555060D01*
X524977Y155360D01*
X526340Y158241D01*
X526500Y158225D01*
X529538Y158524D01*
X532460Y159411D01*
X535153Y160850D01*
X537210Y162538D01*
X538397Y163015D01*
X540003D01*
X541190Y162538D01*
X543247Y160850D01*
X545940Y159411D01*
X548862Y158524D01*
X551900Y158225D01*
X554939Y158524D01*
X557860Y159411D01*
X560553Y160850D01*
X562913Y162787D01*
X563100Y163015D01*
X566100D01*
X566287Y162787D01*
X568647Y160850D01*
X571340Y159411D01*
X574262Y158524D01*
X577300Y158225D01*
X580339Y158524D01*
X583260Y159411D01*
X585953Y160850D01*
X588313Y162787D01*
X588500Y163014D01*
X591500D01*
X591687Y162787D01*
X594047Y160850D01*
X596740Y159411D01*
X599661Y158524D01*
X602700Y158225D01*
X605738Y158524D01*
X608660Y159411D01*
X611353Y160850D01*
X613713Y162787D01*
X613900Y163015D01*
X616900D01*
X617087Y162787D01*
X619447Y160850D01*
X622140Y159411D01*
X625061Y158524D01*
X628100Y158225D01*
X631138Y158524D01*
X634060Y159411D01*
X636753Y160850D01*
X639113Y162787D01*
X639300Y163015D01*
X642300D01*
X642487Y162787D01*
X644847Y160850D01*
X647540Y159411D01*
X650462Y158524D01*
X653500Y158225D01*
X656538Y158524D01*
X659460Y159411D01*
X662153Y160850D01*
X664513Y162787D01*
X664700Y163014D01*
X667700D01*
X667887Y162787D01*
X670247Y160850D01*
X672940Y159411D01*
X675861Y158524D01*
X678900Y158225D01*
X681938Y158524D01*
X684860Y159411D01*
X687000Y160554D01*
X688791Y159903D01*
X690000Y158977D01*
Y10000D01*
X70533D01*
X68786Y12439D01*
X69044Y13198D01*
X70208Y19048D01*
X70598Y25000D01*
X70208Y30952D01*
X69044Y36802D01*
X67127Y42449D01*
X64489Y47799D01*
X61175Y52758D01*
X57242Y57242D01*
X52758Y61175D01*
X47799Y64489D01*
X42449Y67127D01*
X36802Y69044D01*
X30952Y70208D01*
X25000Y70598D01*
X19048Y70208D01*
X13198Y69044D01*
X12438Y68786D01*
X10000Y70533D01*
X10000Y429467D01*
X12439Y431214D01*
X13198Y430956D01*
X19048Y429793D01*
X25000Y429402D01*
X30952Y429793D01*
X36802Y430956D01*
X42449Y432873D01*
X47799Y435511D01*
X52758Y438825D01*
X57242Y442758D01*
X61175Y447242D01*
X64489Y452201D01*
X67127Y457551D01*
X69044Y463199D01*
X70208Y469048D01*
X70598Y475000D01*
X70208Y480952D01*
X69044Y486801D01*
X68786Y487561D01*
X70533Y490000D01*
X690000Y490000D01*
D02*
G37*
G36*
X458732Y149151D02*
X459639Y146961D01*
X461081Y145081D01*
X480081Y126081D01*
X481487Y125002D01*
X482055Y122371D01*
X482074Y121927D01*
X481919Y121409D01*
X480150Y119253D01*
X478711Y116560D01*
X477964Y114100D01*
X493100D01*
X508236D01*
X507981Y114938D01*
X510634Y116528D01*
X534563Y92599D01*
X533415Y89828D01*
X532522D01*
X532522Y89828D01*
X530173Y89518D01*
X527983Y88611D01*
X526103Y87169D01*
X526103Y87169D01*
X520581Y81647D01*
X519138Y79767D01*
X518232Y77577D01*
X518090Y76500D01*
X514000D01*
Y64145D01*
X511228Y62997D01*
X510494Y63731D01*
X508614Y65174D01*
X507531Y65622D01*
X507489Y65760D01*
X506050Y68453D01*
X504113Y70813D01*
X503886Y71000D01*
Y74000D01*
X504113Y74187D01*
X506050Y76547D01*
X507489Y79240D01*
X508236Y81700D01*
X493100D01*
Y88700D01*
X508236D01*
X507489Y91160D01*
X506050Y93853D01*
X504113Y96213D01*
X503886Y96400D01*
Y99400D01*
X504113Y99587D01*
X506050Y101947D01*
X507489Y104640D01*
X508236Y107100D01*
X493100D01*
X477964D01*
X478711Y104640D01*
X480150Y101947D01*
X482087Y99587D01*
X482314Y99400D01*
Y96400D01*
X482087Y96213D01*
X480150Y93853D01*
X478711Y91160D01*
X478000Y88818D01*
X475000Y89263D01*
Y97500D01*
X435000D01*
Y89263D01*
X432000Y88818D01*
X431289Y91160D01*
X429850Y93853D01*
X427913Y96213D01*
X427686Y96400D01*
Y99400D01*
X427913Y99587D01*
X429850Y101947D01*
X431289Y104640D01*
X432176Y107562D01*
X432475Y110600D01*
X432176Y113638D01*
X431289Y116560D01*
X429850Y119253D01*
X427913Y121613D01*
X425553Y123550D01*
X422860Y124989D01*
X419939Y125876D01*
X416900Y126175D01*
X413862Y125876D01*
X410940Y124989D01*
X408247Y123550D01*
X405887Y121613D01*
X403950Y119253D01*
X402511Y116560D01*
X401624Y113638D01*
X401325Y110600D01*
X401624Y107562D01*
X402511Y104640D01*
X403950Y101947D01*
X405887Y99587D01*
X406115Y99400D01*
Y96400D01*
X405887Y96213D01*
X403950Y93853D01*
X402511Y91160D01*
X401624Y88238D01*
X401325Y85200D01*
X401624Y82162D01*
X402511Y79240D01*
X403950Y76547D01*
X405887Y74187D01*
X406115Y74000D01*
Y71000D01*
X405887Y70813D01*
X403950Y68453D01*
X402511Y65760D01*
X401624Y62839D01*
X401325Y59800D01*
X401624Y56761D01*
X402511Y53840D01*
X403950Y51147D01*
X405887Y48787D01*
X406115Y48600D01*
Y45600D01*
X405887Y45413D01*
X403950Y43053D01*
X402511Y40360D01*
X401624Y37438D01*
X401392Y35078D01*
X396214D01*
X394795Y38078D01*
X395874Y39393D01*
X397639Y42694D01*
X398725Y46275D01*
X398747Y46500D01*
X380000D01*
X361253D01*
X361275Y46275D01*
X362361Y42694D01*
X364126Y39393D01*
X365205Y38078D01*
X363786Y35078D01*
X349760D01*
X348078Y36760D01*
Y143240D01*
X354760Y149922D01*
X458630D01*
X458732Y149151D01*
D02*
G37*
%LPC*%
G36*
X673500Y475136D02*
Y463500D01*
X685136D01*
X684389Y465960D01*
X682950Y468653D01*
X681013Y471013D01*
X678653Y472950D01*
X675960Y474389D01*
X673500Y475136D01*
D02*
G37*
G36*
X666500Y475136D02*
X664040Y474389D01*
X661347Y472950D01*
X658987Y471013D01*
X657050Y468653D01*
X655611Y465960D01*
X654864Y463500D01*
X666500D01*
Y475136D01*
D02*
G37*
G36*
X439800Y480185D02*
X408800D01*
Y449185D01*
X408800D01*
X410405Y446185D01*
X409911Y445260D01*
X409024Y442338D01*
X408725Y439300D01*
X409024Y436261D01*
X409911Y433340D01*
X411350Y430647D01*
X413287Y428287D01*
X413514Y428100D01*
Y425100D01*
X413287Y424913D01*
X411350Y422553D01*
X409911Y419860D01*
X409024Y416938D01*
X408725Y413900D01*
X409024Y410861D01*
X409911Y407939D01*
X411350Y405247D01*
X413287Y402887D01*
X413514Y402700D01*
Y399700D01*
X413287Y399513D01*
X411350Y397153D01*
X409911Y394460D01*
X409164Y392000D01*
X424300D01*
X439436D01*
X438689Y394460D01*
X437250Y397153D01*
X435313Y399513D01*
X435085Y399700D01*
Y402700D01*
X435313Y402887D01*
X437250Y405247D01*
X438689Y407939D01*
X439576Y410861D01*
X439875Y413900D01*
X439576Y416938D01*
X438689Y419860D01*
X437250Y422553D01*
X435313Y424913D01*
X435085Y425100D01*
Y428100D01*
X435313Y428287D01*
X437250Y430647D01*
X438689Y433340D01*
X439576Y436261D01*
X439875Y439300D01*
X439576Y442338D01*
X438689Y445260D01*
X438195Y446185D01*
X439800Y449185D01*
X439800D01*
Y480185D01*
D02*
G37*
G36*
X666500Y456500D02*
X654864D01*
X655611Y454040D01*
X657050Y451347D01*
X658987Y448987D01*
X661347Y447050D01*
X664040Y445611D01*
X666500Y444864D01*
Y456500D01*
D02*
G37*
G36*
X685136D02*
X673500D01*
Y444864D01*
X675960Y445611D01*
X678653Y447050D01*
X681013Y448987D01*
X682950Y451347D01*
X684389Y454040D01*
X685136Y456500D01*
D02*
G37*
G36*
X80300Y445500D02*
X68300D01*
Y433500D01*
X80300D01*
Y445500D01*
D02*
G37*
G36*
X380000Y469092D02*
X376275Y468725D01*
X372694Y467639D01*
X369393Y465874D01*
X366500Y463500D01*
X364126Y460607D01*
X362361Y457306D01*
X361275Y453725D01*
X360908Y450000D01*
X361275Y446275D01*
X362361Y442694D01*
X364126Y439393D01*
X366500Y436500D01*
X369393Y434126D01*
X372694Y432361D01*
X376275Y431275D01*
X380000Y430908D01*
X383725Y431275D01*
X387306Y432361D01*
X390607Y434126D01*
X393500Y436500D01*
X395874Y439393D01*
X397639Y442694D01*
X398725Y446275D01*
X399092Y450000D01*
X398725Y453725D01*
X397639Y457306D01*
X395874Y460607D01*
X393500Y463500D01*
X390607Y465874D01*
X387306Y467639D01*
X383725Y468725D01*
X380000Y469092D01*
D02*
G37*
G36*
X256000D02*
X252275Y468725D01*
X248694Y467639D01*
X245393Y465874D01*
X242500Y463500D01*
X240126Y460607D01*
X238361Y457306D01*
X237275Y453725D01*
X236908Y450000D01*
X237275Y446275D01*
X238361Y442694D01*
X240126Y439393D01*
X242500Y436500D01*
X245393Y434126D01*
X248694Y432361D01*
X252275Y431275D01*
X256000Y430908D01*
X259725Y431275D01*
X263306Y432361D01*
X266607Y434126D01*
X269500Y436500D01*
X271874Y439393D01*
X273639Y442694D01*
X274725Y446275D01*
X275092Y450000D01*
X274725Y453725D01*
X273639Y457306D01*
X271874Y460607D01*
X269500Y463500D01*
X266607Y465874D01*
X263306Y467639D01*
X259725Y468725D01*
X256000Y469092D01*
D02*
G37*
G36*
X80300Y426500D02*
X68300D01*
Y414500D01*
X80300D01*
Y426500D01*
D02*
G37*
G36*
X383500Y418747D02*
Y403500D01*
X398747D01*
X398725Y403725D01*
X397639Y407306D01*
X395874Y410607D01*
X393500Y413500D01*
X390607Y415874D01*
X387306Y417639D01*
X383725Y418725D01*
X383500Y418747D01*
D02*
G37*
G36*
X259500D02*
Y403500D01*
X274747D01*
X274725Y403725D01*
X273639Y407306D01*
X271874Y410607D01*
X269500Y413500D01*
X266607Y415874D01*
X263306Y417639D01*
X259725Y418725D01*
X259500Y418747D01*
D02*
G37*
G36*
X376500D02*
X376275Y418725D01*
X372694Y417639D01*
X369393Y415874D01*
X366500Y413500D01*
X364126Y410607D01*
X362361Y407306D01*
X361275Y403725D01*
X361253Y403500D01*
X376500D01*
Y418747D01*
D02*
G37*
G36*
X252500D02*
X252275Y418725D01*
X248694Y417639D01*
X245393Y415874D01*
X242500Y413500D01*
X240126Y410607D01*
X238361Y407306D01*
X237275Y403725D01*
X237253Y403500D01*
X252500D01*
Y418747D01*
D02*
G37*
G36*
X673500Y398936D02*
Y387300D01*
X685136D01*
X684389Y389760D01*
X682950Y392453D01*
X681013Y394813D01*
X678653Y396750D01*
X675960Y398189D01*
X673500Y398936D01*
D02*
G37*
G36*
X666500Y398936D02*
X664040Y398189D01*
X661347Y396750D01*
X658987Y394813D01*
X657050Y392453D01*
X655611Y389760D01*
X654864Y387300D01*
X666500D01*
Y398936D01*
D02*
G37*
G36*
X398747Y396500D02*
X383500D01*
Y381253D01*
X383725Y381275D01*
X387306Y382361D01*
X390607Y384126D01*
X393500Y386500D01*
X395874Y389393D01*
X397639Y392694D01*
X398725Y396275D01*
X398747Y396500D01*
D02*
G37*
G36*
X274747D02*
X259500D01*
Y381253D01*
X259725Y381275D01*
X263306Y382361D01*
X266607Y384126D01*
X269500Y386500D01*
X271874Y389393D01*
X273639Y392694D01*
X274725Y396275D01*
X274747Y396500D01*
D02*
G37*
G36*
X376500D02*
X361253D01*
X361275Y396275D01*
X362361Y392694D01*
X364126Y389393D01*
X366500Y386500D01*
X369393Y384126D01*
X372694Y382361D01*
X376275Y381275D01*
X376500Y381253D01*
Y396500D01*
D02*
G37*
G36*
X252500D02*
X237253D01*
X237275Y396275D01*
X238361Y392694D01*
X240126Y389393D01*
X242500Y386500D01*
X245393Y384126D01*
X248694Y382361D01*
X252275Y381275D01*
X252500Y381253D01*
Y396500D01*
D02*
G37*
G36*
X439436Y385000D02*
X427800D01*
Y373364D01*
X430260Y374110D01*
X432953Y375550D01*
X435313Y377487D01*
X437250Y379847D01*
X438689Y382539D01*
X439436Y385000D01*
D02*
G37*
G36*
X420800D02*
X409164D01*
X409911Y382539D01*
X411350Y379847D01*
X413287Y377487D01*
X415647Y375550D01*
X418340Y374110D01*
X420800Y373364D01*
Y385000D01*
D02*
G37*
G36*
X666500Y380300D02*
X654864D01*
X655611Y377840D01*
X657050Y375147D01*
X658987Y372787D01*
X661347Y370850D01*
X664040Y369411D01*
X666500Y368664D01*
Y380300D01*
D02*
G37*
G36*
X685136D02*
X673500D01*
Y368664D01*
X675960Y369411D01*
X678653Y370850D01*
X681013Y372787D01*
X682950Y375147D01*
X684389Y377840D01*
X685136Y380300D01*
D02*
G37*
G36*
X673500Y131336D02*
Y119700D01*
X685136D01*
X684389Y122160D01*
X682950Y124853D01*
X681013Y127213D01*
X678653Y129150D01*
X675960Y130589D01*
X673500Y131336D01*
D02*
G37*
G36*
X666500Y131336D02*
X664040Y130589D01*
X661347Y129150D01*
X658987Y127213D01*
X657050Y124853D01*
X655611Y122160D01*
X654864Y119700D01*
X666500D01*
Y131336D01*
D02*
G37*
G36*
Y112700D02*
X654864D01*
X655611Y110240D01*
X657050Y107547D01*
X658987Y105187D01*
X661347Y103250D01*
X664040Y101811D01*
X666500Y101064D01*
Y112700D01*
D02*
G37*
G36*
X685136D02*
X673500D01*
Y101064D01*
X675960Y101811D01*
X678653Y103250D01*
X681013Y105187D01*
X682950Y107547D01*
X684389Y110240D01*
X685136Y112700D01*
D02*
G37*
G36*
X259500Y68747D02*
Y53500D01*
X274747D01*
X274725Y53725D01*
X273639Y57306D01*
X271874Y60607D01*
X269500Y63500D01*
X266607Y65874D01*
X263306Y67639D01*
X259725Y68725D01*
X259500Y68747D01*
D02*
G37*
G36*
X252500D02*
X252275Y68725D01*
X248694Y67639D01*
X245393Y65874D01*
X242500Y63500D01*
X240126Y60607D01*
X238361Y57306D01*
X237275Y53725D01*
X237253Y53500D01*
X252500D01*
Y68747D01*
D02*
G37*
G36*
X673500Y55136D02*
Y43500D01*
X685136D01*
X684389Y45960D01*
X682950Y48653D01*
X681013Y51013D01*
X678653Y52950D01*
X675960Y54389D01*
X673500Y55136D01*
D02*
G37*
G36*
X666500Y55136D02*
X664040Y54389D01*
X661347Y52950D01*
X658987Y51013D01*
X657050Y48653D01*
X655611Y45960D01*
X654864Y43500D01*
X666500D01*
Y55136D01*
D02*
G37*
G36*
X274747Y46500D02*
X259500D01*
Y31253D01*
X259725Y31275D01*
X263306Y32361D01*
X266607Y34126D01*
X269500Y36500D01*
X271874Y39393D01*
X273639Y42694D01*
X274725Y46275D01*
X274747Y46500D01*
D02*
G37*
G36*
X666500Y36500D02*
X654864D01*
X655611Y34040D01*
X657050Y31347D01*
X658987Y28987D01*
X661347Y27050D01*
X664040Y25611D01*
X666500Y24864D01*
Y36500D01*
D02*
G37*
G36*
X685136D02*
X673500D01*
Y24864D01*
X675960Y25611D01*
X678653Y27050D01*
X681013Y28987D01*
X682950Y31347D01*
X684389Y34040D01*
X685136Y36500D01*
D02*
G37*
G36*
X85500Y32500D02*
X73864D01*
X74611Y30040D01*
X76050Y27347D01*
X77987Y24987D01*
X80347Y23050D01*
X83040Y21611D01*
X85500Y20864D01*
Y32500D01*
D02*
G37*
G36*
X191500Y21500D02*
X182000D01*
Y13000D01*
X191500D01*
Y21500D01*
D02*
G37*
G36*
X380000Y119092D02*
X376275Y118725D01*
X372694Y117639D01*
X369393Y115874D01*
X366500Y113500D01*
X364126Y110607D01*
X362361Y107306D01*
X361275Y103725D01*
X360908Y100000D01*
X361275Y96275D01*
X362361Y92694D01*
X364126Y89393D01*
X366500Y86500D01*
X369393Y84126D01*
X372694Y82361D01*
X376275Y81275D01*
X380000Y80908D01*
X383725Y81275D01*
X387306Y82361D01*
X390607Y84126D01*
X393500Y86500D01*
X395874Y89393D01*
X397639Y92694D01*
X398725Y96275D01*
X399092Y100000D01*
X398725Y103725D01*
X397639Y107306D01*
X395874Y110607D01*
X393500Y113500D01*
X390607Y115874D01*
X387306Y117639D01*
X383725Y118725D01*
X380000Y119092D01*
D02*
G37*
G36*
X383500Y68747D02*
Y53500D01*
X398747D01*
X398725Y53725D01*
X397639Y57306D01*
X395874Y60607D01*
X393500Y63500D01*
X390607Y65874D01*
X387306Y67639D01*
X383725Y68725D01*
X383500Y68747D01*
D02*
G37*
G36*
X376500D02*
X376275Y68725D01*
X372694Y67639D01*
X369393Y65874D01*
X366500Y63500D01*
X364126Y60607D01*
X362361Y57306D01*
X361275Y53725D01*
X361253Y53500D01*
X376500D01*
Y68747D01*
D02*
G37*
%LPD*%
D18*
X554000Y380000D02*
D03*
X571000D02*
D03*
X554000Y405000D02*
D03*
X571000D02*
D03*
X542500Y64000D02*
D03*
X525500D02*
D03*
X463500Y85000D02*
D03*
X446500D02*
D03*
D20*
X194000Y24000D02*
D03*
Y42000D02*
D03*
Y61000D02*
D03*
Y79000D02*
D03*
X620000Y52000D02*
D03*
Y70000D02*
D03*
D21*
X571000Y475000D02*
D03*
X553000D02*
D03*
X571000Y441000D02*
D03*
X553000D02*
D03*
X549000Y97000D02*
D03*
X567000D02*
D03*
X446000Y60000D02*
D03*
X464000D02*
D03*
D33*
X548000Y379000D02*
X555000D01*
X467500Y298500D02*
X548000Y379000D01*
X546000Y94000D02*
X550000D01*
X507500Y132500D02*
X546000Y94000D01*
X107580Y68420D02*
Y80080D01*
Y68420D02*
X117000Y59000D01*
X467500Y151500D02*
X486500Y132500D01*
X480500Y166823D02*
X497323Y150000D01*
X500000Y202477D02*
Y224000D01*
Y202477D02*
X525000Y177477D01*
Y204218D02*
Y233000D01*
Y204218D02*
X550000Y179218D01*
X450000Y222000D02*
Y272000D01*
X480500Y166823D02*
Y284634D01*
X467500Y151500D02*
Y298500D01*
X419000Y191000D02*
X450000Y222000D01*
X500867Y305000D02*
X558277D01*
X480500Y284634D02*
X500867Y305000D01*
X314473Y191000D02*
X419000D01*
X233000Y109527D02*
X314473Y191000D01*
X233000Y92272D02*
Y109527D01*
X203728Y63000D02*
X233000Y92272D01*
X196000Y63000D02*
X203728D01*
X194000Y61000D02*
X196000Y63000D01*
X230000Y24000D02*
X256000Y50000D01*
X194000Y24000D02*
X230000D01*
X194000Y42000D02*
Y61000D01*
X146000Y43000D02*
X147000Y44000D01*
Y45000D01*
X179000Y77000D01*
X192000D01*
X194000Y79000D01*
X584000Y405000D02*
X593000Y414000D01*
X594000Y363000D02*
Y386000D01*
X571000Y403000D02*
X572000Y404000D01*
X339000Y33000D02*
X346000Y26000D01*
X339000Y33000D02*
Y147000D01*
X346000Y26000D02*
X408500D01*
X339000Y147000D02*
X351000Y159000D01*
X408500Y26000D02*
X416900Y34400D01*
X351000Y159000D02*
X460000D01*
X575000Y266000D02*
X609000Y300000D01*
X574999Y247999D02*
X575000Y248000D01*
Y266000D01*
X574999Y198000D02*
Y247999D01*
X114696Y42296D02*
Y49696D01*
X525000Y175000D02*
Y177477D01*
X678900Y320900D02*
Y326200D01*
X658000Y300000D02*
X678900Y320900D01*
X609000Y300000D02*
X658000D01*
X504075Y57313D02*
X535387Y26000D01*
X579800D01*
X566708Y47500D02*
X582120Y62913D01*
X532272Y47500D02*
X566708D01*
X493000Y59900D02*
X495587Y57313D01*
X527000Y52772D02*
X532272Y47500D01*
X527000Y52772D02*
Y62500D01*
X525500Y64000D02*
X527000Y62500D01*
X495587Y57313D02*
X504075D01*
X567000Y96000D02*
Y97000D01*
X564000Y93000D02*
X567000Y96000D01*
X564000Y86272D02*
Y93000D01*
X558478Y80750D02*
X564000Y86272D01*
X532522Y80750D02*
X558478D01*
X527000Y75228D02*
X532522Y80750D01*
X527000Y65500D02*
Y75228D01*
X525500Y64000D02*
X527000Y65500D01*
X590282Y90800D02*
X593800D01*
X578482Y79000D02*
X590282Y90800D01*
X542500Y63000D02*
X562000D01*
X463500Y85000D02*
X463750Y84750D01*
Y60250D02*
Y84750D01*
Y60250D02*
X464000Y60000D01*
X464100Y59900D01*
X493000D01*
X579800Y26000D02*
X593800Y40000D01*
X602477Y46500D02*
X605977Y50000D01*
X600300Y46500D02*
X602477D01*
X605977Y50000D02*
X618000D01*
X593800Y40000D02*
X600300Y46500D01*
X618000Y50000D02*
X620000Y52000D01*
X578000Y79000D02*
X578482D01*
X562000Y63000D02*
X578000Y79000D01*
X593800Y90800D02*
X596287Y88313D01*
X600687D01*
X619000Y70000D01*
X620000D01*
X582120Y62913D02*
X591313D01*
X593800Y65400D01*
X551300Y116200D02*
X593800D01*
X517500Y150000D02*
X551300Y116200D01*
X486500Y132500D02*
X507500D01*
X497323Y150000D02*
X517500D01*
X446000Y60000D02*
X446250Y60250D01*
Y84750D01*
X446500Y85000D01*
X416900Y59800D02*
X417000Y59900D01*
X445900D01*
X446000Y60000D01*
X499000Y386000D02*
X502000Y389000D01*
X500500Y388500D02*
X501000Y389000D01*
X499000Y386000D02*
X499000D01*
X526500Y336200D02*
X546503Y356203D01*
X587203D01*
X594000Y363000D01*
X553000Y436000D02*
Y441000D01*
X506000Y389000D02*
X553000Y436000D01*
X502000Y389000D02*
X506000D01*
X109200Y418200D02*
Y430000D01*
X38900Y347900D02*
X109200Y418200D01*
X38900Y93936D02*
Y347900D01*
X197000Y331000D02*
X495000D01*
X109500Y418500D02*
X197000Y331000D01*
X109500Y418500D02*
Y429500D01*
X87000Y68750D02*
Y70000D01*
Y40000D02*
Y68750D01*
X571000Y405000D02*
X584000D01*
X591313Y462487D02*
X593800Y460000D01*
X582513Y462487D02*
X591313D01*
X571000Y474000D02*
X582513Y462487D01*
X571000Y474000D02*
Y475000D01*
X550000Y177500D02*
Y179218D01*
Y177500D02*
X551900Y175600D01*
Y173800D02*
Y175600D01*
X558277Y305000D02*
X577300Y324023D01*
Y326200D01*
X38900Y93936D02*
X43586Y89250D01*
X98410D01*
X107580Y80080D01*
X577300Y331144D02*
Y331200D01*
X116000Y58000D02*
X117000Y59000D01*
X116000Y51000D02*
Y58000D01*
X114696Y49696D02*
X116000Y51000D01*
X112400Y40000D02*
X114696Y42296D01*
X571000Y380000D02*
Y403000D01*
Y405000D02*
X571000Y405000D01*
X570000Y381000D02*
X571000Y380000D01*
X501000Y389000D02*
X502000D01*
X107500Y431700D02*
X109200Y430000D01*
X553000Y467272D02*
Y475000D01*
Y467272D02*
X571000Y449272D01*
Y441000D02*
Y449272D01*
X554000Y415000D02*
X571000Y432000D01*
X554000Y405000D02*
Y415000D01*
X554000Y405000D02*
X554000Y405000D01*
X554000Y384000D02*
Y405000D01*
X554000Y405000D01*
X571000Y432000D02*
Y441000D01*
X594800Y415200D02*
X595000Y415000D01*
D34*
X593800Y434600D02*
D03*
D35*
X139800Y36000D02*
D03*
X114400D02*
D03*
X89000D02*
D03*
X678900Y326200D02*
D03*
X653500D02*
D03*
X628100D02*
D03*
X602700D02*
D03*
X577300D02*
D03*
X551900D02*
D03*
X526500D02*
D03*
X501100D02*
D03*
X678900Y173800D02*
D03*
X653500D02*
D03*
X628100D02*
D03*
X602700D02*
D03*
X577300D02*
D03*
X551900D02*
D03*
X526500D02*
D03*
X501100D02*
D03*
X416900Y34400D02*
D03*
Y59800D02*
D03*
Y85200D02*
D03*
Y110600D02*
D03*
X493100D02*
D03*
Y85200D02*
D03*
Y59800D02*
D03*
X424300Y439300D02*
D03*
Y413900D02*
D03*
Y388500D02*
D03*
X500500D02*
D03*
Y413900D02*
D03*
Y439300D02*
D03*
Y464700D02*
D03*
X109200Y430000D02*
D03*
X134600D02*
D03*
X160000D02*
D03*
X670000Y40000D02*
D03*
Y116200D02*
D03*
X593800D02*
D03*
Y90800D02*
D03*
Y65400D02*
D03*
Y409200D02*
D03*
Y460000D02*
D03*
X670000D02*
D03*
Y383800D02*
D03*
X58400Y109000D02*
D03*
X160000D02*
D03*
X134600D02*
D03*
X109200D02*
D03*
X83800D02*
D03*
D36*
X493100Y34400D02*
D03*
X424300Y464684D02*
D03*
X185400Y109000D02*
D03*
D37*
X83800Y430000D02*
D03*
X593800Y40000D02*
D03*
Y383800D02*
D03*
D38*
X380000Y400000D02*
D03*
X256000D02*
D03*
X380000Y450000D02*
D03*
X256000D02*
D03*
X380000Y50000D02*
D03*
X256000D02*
D03*
X380000Y100000D02*
D03*
X256000D02*
D03*
D39*
X25000Y475000D02*
D03*
Y25000D02*
D03*
X375000Y250000D02*
D03*
X650000D02*
D03*
D40*
X500000Y224000D02*
D03*
X525000Y233000D02*
D03*
X450000Y272000D02*
D03*
X574999Y198000D02*
D03*
D41*
X87000Y68750D02*
D03*
X116000D02*
D03*
M02*

View File

@@ -0,0 +1,358 @@
G04*
G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,19.1.9 (167)*
G04*
G04 Layer_Color=32896*
%FSLAX44Y44*%
%MOMM*%
G71*
G01*
G75*
%ADD10C,0.2000*%
%ADD11C,0.2540*%
%ADD14C,0.1000*%
%ADD43C,0.1270*%
D10*
X188000Y33000D02*
X200000D01*
X188000Y70000D02*
X200000D01*
X562000Y469000D02*
Y481000D01*
Y435000D02*
Y447000D01*
X558000Y91000D02*
Y103000D01*
X455000Y54000D02*
Y66000D01*
X614000Y61000D02*
X626000D01*
D11*
X224000Y44000D02*
X208765D01*
Y36383D01*
X211304Y33843D01*
X216382D01*
X218922Y36383D01*
Y44000D01*
Y38922D02*
X224000Y33843D01*
X208765Y28765D02*
Y18608D01*
X211304D01*
X221461Y28765D01*
X224000D01*
Y82000D02*
X208765D01*
Y74383D01*
X211304Y71843D01*
X216382D01*
X218922Y74383D01*
Y82000D01*
Y76922D02*
X224000Y71843D01*
X208765Y56608D02*
X211304Y61687D01*
X216382Y66765D01*
X221461D01*
X224000Y64226D01*
Y59147D01*
X221461Y56608D01*
X218922D01*
X216382Y59147D01*
Y66765D01*
X569843Y68696D02*
X572383Y71235D01*
X577461D01*
X580000Y68696D01*
Y58539D01*
X577461Y56000D01*
X572383D01*
X569843Y58539D01*
X564765Y68696D02*
X562226Y71235D01*
X557147D01*
X554608Y68696D01*
Y66157D01*
X557147Y63618D01*
X554608Y61078D01*
Y58539D01*
X557147Y56000D01*
X562226D01*
X564765Y58539D01*
Y61078D01*
X562226Y63618D01*
X564765Y66157D01*
Y68696D01*
X562226Y63618D02*
X557147D01*
X643000Y65696D02*
X640461Y68235D01*
X635382D01*
X632843Y65696D01*
Y55539D01*
X635382Y53000D01*
X640461D01*
X643000Y55539D01*
Y65696D01*
X467500Y32500D02*
Y47735D01*
X459883D01*
X457343Y45196D01*
Y40118D01*
X459883Y37578D01*
X467500D01*
X462422D02*
X457343Y32500D01*
X442108Y47735D02*
X452265D01*
Y40118D01*
X447187D01*
X452265D01*
Y32500D01*
X454843Y110196D02*
X457383Y112735D01*
X462461D01*
X465000Y110196D01*
Y100039D01*
X462461Y97500D01*
X457383D01*
X454843Y100039D01*
X439608Y112735D02*
X449765D01*
Y105118D01*
X444687D01*
X449765D01*
Y97500D01*
X147696Y69907D02*
X150235Y67368D01*
Y62289D01*
X147696Y59750D01*
X137539D01*
X135000Y62289D01*
Y67368D01*
X137539Y69907D01*
X135000Y74985D02*
Y80063D01*
Y77524D01*
X150235D01*
X147696Y74985D01*
X535500Y89000D02*
Y104235D01*
X527882D01*
X525343Y101696D01*
Y96618D01*
X527882Y94078D01*
X535500D01*
X530422D02*
X525343Y89000D01*
X520265Y101696D02*
X517726Y104235D01*
X512647D01*
X510108Y101696D01*
Y99157D01*
X512647Y96618D01*
X515187D01*
X512647D01*
X510108Y94078D01*
Y91539D01*
X512647Y89000D01*
X517726D01*
X520265Y91539D01*
X540000Y433000D02*
Y448235D01*
X532383D01*
X529843Y445696D01*
Y440617D01*
X532383Y438078D01*
X540000D01*
X534922D02*
X529843Y433000D01*
X514608D02*
X524765D01*
X514608Y443157D01*
Y445696D01*
X517147Y448235D01*
X522226D01*
X524765Y445696D01*
X538000Y470000D02*
Y485235D01*
X530382D01*
X527843Y482696D01*
Y477617D01*
X530382Y475078D01*
X538000D01*
X532922D02*
X527843Y470000D01*
X522765D02*
X517687D01*
X520226D01*
Y485235D01*
X522765Y482696D01*
X528843Y412696D02*
X531382Y415235D01*
X536461D01*
X539000Y412696D01*
Y402539D01*
X536461Y400000D01*
X531382D01*
X528843Y402539D01*
X513608Y415235D02*
X523765D01*
Y407617D01*
X518687Y410157D01*
X516147D01*
X513608Y407617D01*
Y402539D01*
X516147Y400000D01*
X521226D01*
X523765Y402539D01*
X528843Y387696D02*
X531382Y390235D01*
X536461D01*
X539000Y387696D01*
Y377539D01*
X536461Y375000D01*
X531382D01*
X528843Y377539D01*
X516147Y375000D02*
Y390235D01*
X523765Y382617D01*
X513608D01*
D14*
X203652Y15474D02*
X203652Y29190D01*
X184348Y15474D02*
X203652D01*
X184348Y29190D02*
X184348Y15474D01*
X203652Y36810D02*
Y50526D01*
X184348D02*
X203652D01*
X184348Y36810D02*
Y50526D01*
X203652Y52474D02*
X203652Y66190D01*
X184348Y52474D02*
X203652D01*
X184348Y66190D02*
X184348Y52474D01*
X203652Y73810D02*
Y87526D01*
X184348D02*
X203652D01*
X184348Y73810D02*
Y87526D01*
X544974Y390160D02*
X580026D01*
X544974Y382540D02*
Y390160D01*
X580026Y382540D02*
Y390160D01*
X544974Y369840D02*
Y377460D01*
X580026Y369840D02*
Y377460D01*
X544974Y369840D02*
X580026D01*
X544974Y415160D02*
X580026D01*
X544974Y407540D02*
Y415160D01*
X580026Y407540D02*
Y415160D01*
X544974Y394840D02*
Y402460D01*
X580026Y394840D02*
Y402460D01*
X544974Y394840D02*
X580026D01*
X516474Y53840D02*
X551526D01*
Y61460D01*
X516474Y53840D02*
Y61460D01*
X551526Y66540D02*
Y74160D01*
X516474Y66540D02*
Y74160D01*
X551526D01*
X437474Y74840D02*
X472526D01*
Y82460D01*
X437474Y74840D02*
Y82460D01*
X472526Y87540D02*
Y95160D01*
X437474Y87540D02*
Y95160D01*
X472526D01*
X565810Y484652D02*
X579526Y484652D01*
Y465348D02*
Y484652D01*
X565810Y465348D02*
X579526Y465348D01*
X544474Y484652D02*
X558190D01*
X544474Y465348D02*
Y484652D01*
Y465348D02*
X558190D01*
X565810Y450652D02*
X579526Y450652D01*
Y431348D02*
Y450652D01*
X565810Y431348D02*
X579526Y431348D01*
X544474Y450652D02*
X558190D01*
X544474Y431348D02*
Y450652D01*
Y431348D02*
X558190D01*
X540474Y87348D02*
X554190Y87348D01*
X540474Y87348D02*
Y106652D01*
X554190Y106652D01*
X561810Y87348D02*
X575526D01*
Y106652D01*
X561810D02*
X575526D01*
X437474Y50348D02*
X451190Y50348D01*
X437474Y50348D02*
Y69652D01*
X451190Y69652D01*
X458810Y50348D02*
X472526D01*
Y69652D01*
X458810D02*
X472526D01*
X629652Y43474D02*
X629652Y57190D01*
X610348Y43474D02*
X629652D01*
X610348Y57190D02*
X610348Y43474D01*
X629652Y64810D02*
Y78526D01*
X610348D02*
X629652D01*
X610348Y64810D02*
Y78526D01*
D43*
X114500Y86750D02*
X116500D01*
X114500Y83750D02*
Y86750D01*
X90500Y83750D02*
X116500D01*
Y86750D01*
X90500Y53750D02*
X116500D01*
X115500Y83750D02*
Y86750D01*
M02*

View File

@@ -0,0 +1,75 @@
G04*
G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,19.1.9 (167)*
G04*
G04 Layer_Color=128*
%FSLAX44Y44*%
%MOMM*%
G71*
G01*
G75*
%ADD18R,1.3000X1.5000*%
%ADD20R,1.4000X1.2000*%
%ADD21R,1.2000X1.4000*%
G04:AMPARAMS|DCode=41|XSize=2.3mm|YSize=1.8mm|CornerRadius=0.225mm|HoleSize=0mm|Usage=FLASHONLY|Rotation=90.000|XOffset=0mm|YOffset=0mm|HoleType=Round|Shape=RoundedRectangle|*
%AMROUNDEDRECTD41*
21,1,2.3000,1.3500,0,0,90.0*
21,1,1.8500,1.8000,0,0,90.0*
1,1,0.4500,0.6750,0.9250*
1,1,0.4500,0.6750,-0.9250*
1,1,0.4500,-0.6750,-0.9250*
1,1,0.4500,-0.6750,0.9250*
%
%ADD41ROUNDEDRECTD41*%
D18*
X554000Y380000D02*
D03*
X571000D02*
D03*
X554000Y405000D02*
D03*
X571000D02*
D03*
X542500Y64000D02*
D03*
X525500D02*
D03*
X463500Y85000D02*
D03*
X446500D02*
D03*
D20*
X194000Y24000D02*
D03*
Y42000D02*
D03*
Y61000D02*
D03*
Y79000D02*
D03*
X620000Y52000D02*
D03*
Y70000D02*
D03*
D21*
X571000Y475000D02*
D03*
X553000D02*
D03*
X571000Y441000D02*
D03*
X553000D02*
D03*
X549000Y97000D02*
D03*
X567000D02*
D03*
X446000Y60000D02*
D03*
X464000D02*
D03*
D41*
X87000Y68750D02*
D03*
X116000D02*
D03*
M02*

View File

@@ -0,0 +1,235 @@
G04*
G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,19.1.9 (167)*
G04*
G04 Layer_Color=16711935*
%FSLAX44Y44*%
%MOMM*%
G71*
G01*
G75*
%ADD22R,1.4500X1.6500*%
%ADD24R,1.5500X1.3500*%
%ADD25R,1.3500X1.5500*%
%ADD26O,2.2500X2.1500*%
%ADD27C,2.2500*%
%ADD28R,2.2500X2.2500*%
%ADD29R,2.2500X2.2500*%
%ADD30C,3.0000*%
%ADD31C,1.6740*%
%ADD32C,1.8500*%
G04:AMPARAMS|DCode=42|XSize=2.45mm|YSize=1.95mm|CornerRadius=0.3mm|HoleSize=0mm|Usage=FLASHONLY|Rotation=90.000|XOffset=0mm|YOffset=0mm|HoleType=Round|Shape=RoundedRectangle|*
%AMROUNDEDRECTD42*
21,1,2.4500,1.3500,0,0,90.0*
21,1,1.8500,1.9500,0,0,90.0*
1,1,0.6000,0.6750,0.9250*
1,1,0.6000,0.6750,-0.9250*
1,1,0.6000,-0.6750,-0.9250*
1,1,0.6000,-0.6750,0.9250*
%
%ADD42ROUNDEDRECTD42*%
D22*
X554000Y380000D02*
D03*
X571000D02*
D03*
X554000Y405000D02*
D03*
X571000D02*
D03*
X542500Y64000D02*
D03*
X525500D02*
D03*
X463500Y85000D02*
D03*
X446500D02*
D03*
D24*
X194000Y24000D02*
D03*
Y42000D02*
D03*
Y61000D02*
D03*
Y79000D02*
D03*
X620000Y52000D02*
D03*
Y70000D02*
D03*
D25*
X571000Y475000D02*
D03*
X553000D02*
D03*
X571000Y441000D02*
D03*
X553000D02*
D03*
X549000Y97000D02*
D03*
X567000D02*
D03*
X446000Y60000D02*
D03*
X464000D02*
D03*
D26*
X593800Y434600D02*
D03*
D27*
X139800Y36000D02*
D03*
X114400D02*
D03*
X89000D02*
D03*
X678900Y326200D02*
D03*
X653500D02*
D03*
X628100D02*
D03*
X602700D02*
D03*
X577300D02*
D03*
X551900D02*
D03*
X526500D02*
D03*
X501100D02*
D03*
X678900Y173800D02*
D03*
X653500D02*
D03*
X628100D02*
D03*
X602700D02*
D03*
X577300D02*
D03*
X551900D02*
D03*
X526500D02*
D03*
X501100D02*
D03*
X416900Y34400D02*
D03*
Y59800D02*
D03*
Y85200D02*
D03*
Y110600D02*
D03*
X493100D02*
D03*
Y85200D02*
D03*
Y59800D02*
D03*
X424300Y439300D02*
D03*
Y413900D02*
D03*
Y388500D02*
D03*
X500500D02*
D03*
Y413900D02*
D03*
Y439300D02*
D03*
Y464700D02*
D03*
X109200Y430000D02*
D03*
X134600D02*
D03*
X160000D02*
D03*
X670000Y40000D02*
D03*
Y116200D02*
D03*
X593800D02*
D03*
Y90800D02*
D03*
Y65400D02*
D03*
Y409200D02*
D03*
Y460000D02*
D03*
X670000D02*
D03*
Y383800D02*
D03*
X58400Y109000D02*
D03*
X160000D02*
D03*
X134600D02*
D03*
X109200D02*
D03*
X83800D02*
D03*
D28*
X493100Y34400D02*
D03*
X424300Y464684D02*
D03*
X185400Y109000D02*
D03*
D29*
X83800Y430000D02*
D03*
X593800Y40000D02*
D03*
Y383800D02*
D03*
D30*
X380000Y400000D02*
D03*
X256000D02*
D03*
X380000Y450000D02*
D03*
X256000D02*
D03*
X380000Y50000D02*
D03*
X256000D02*
D03*
X380000Y100000D02*
D03*
X256000D02*
D03*
D31*
X25000Y475000D02*
D03*
Y25000D02*
D03*
X375000Y250000D02*
D03*
X650000D02*
D03*
D32*
X500000Y224000D02*
D03*
X525000Y233000D02*
D03*
X450000Y272000D02*
D03*
X574999Y198000D02*
D03*
D42*
X87000Y68750D02*
D03*
X116000D02*
D03*
M02*

View File

@@ -0,0 +1,10 @@
G04*
G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,19.1.9 (167)*
G04*
G04 Layer_Color=16711935*
%FSLAX44Y44*%
%MOMM*%
G71*
G01*
G75*
M02*

View File

@@ -0,0 +1,431 @@
G04*
G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,19.1.9 (167)*
G04*
G04 Layer_Physical_Order=1*
G04 Layer_Color=255*
%FSLAX44Y44*%
%MOMM*%
G71*
G01*
G75*
%ADD18R,1.3000X1.5000*%
%ADD19R,1.5000X1.3000*%
%ADD20R,1.4000X1.2000*%
%ADD21R,1.2000X1.4000*%
%ADD33C,0.8000*%
%ADD34O,2.1000X2.0000*%
%ADD35C,2.1000*%
%ADD36R,2.1000X2.1000*%
%ADD37R,2.1000X2.1000*%
%ADD38C,2.8000*%
%ADD39C,1.5240*%
%ADD40C,1.7000*%
D18*
X523500Y299500D02*
D03*
X506500D02*
D03*
Y352000D02*
D03*
X523500D02*
D03*
X108500Y375000D02*
D03*
X91500D02*
D03*
X108500Y400000D02*
D03*
X91500D02*
D03*
D19*
X449500Y44500D02*
D03*
Y61500D02*
D03*
X470000Y44500D02*
D03*
Y61500D02*
D03*
D20*
X449000Y113000D02*
D03*
Y95000D02*
D03*
D21*
X474500Y139000D02*
D03*
X492500D02*
D03*
D33*
X108850Y428850D02*
X110000Y430000D01*
X108850Y375350D02*
Y428850D01*
X476750Y224000D02*
X500000D01*
X427750Y175000D02*
X476750Y224000D01*
X509500Y241500D02*
X518000Y233000D01*
X492751Y241500D02*
X509500D01*
X528249Y254500D02*
X551749Y231000D01*
X487366Y254500D02*
X528249D01*
X487366Y254500D02*
X487366Y254500D01*
X440504Y254500D02*
X487366D01*
X404800Y290204D02*
X440504Y254500D01*
X492751Y241500D02*
X492751Y241500D01*
X471500Y241500D02*
X492751D01*
X518000Y233000D02*
X525000D01*
X551749Y231000D02*
X598477D01*
X506500Y299500D02*
Y324200D01*
Y296500D02*
Y299500D01*
X450000Y272000D02*
X461000Y283000D01*
X612477D01*
X404800Y290204D02*
Y425200D01*
X425000Y195000D02*
X471500Y241500D01*
X493023Y193300D02*
X570299D01*
X533300Y206300D02*
X544000Y217000D01*
X484300Y206300D02*
X533300D01*
X380000Y102000D02*
X484300Y206300D01*
X474500Y174777D02*
X493023Y193300D01*
X612477Y283000D02*
X653500Y324023D01*
Y326200D01*
X310000Y195000D02*
X425000D01*
X598477Y231000D02*
X653500Y175977D01*
Y173800D02*
Y175977D01*
X524350Y328350D02*
X525000Y329000D01*
X523500Y327500D02*
X524350Y328350D01*
X523000Y332700D02*
Y354500D01*
X492423Y369000D02*
X571000D01*
X479000Y382423D02*
Y419977D01*
X498323Y439300D01*
X500500D01*
X479000Y382423D02*
X492423Y369000D01*
X571000D02*
X600787Y339213D01*
X506000Y328000D02*
Y351500D01*
X504200Y326200D02*
X506000Y328000D01*
X501100Y326200D02*
X504200D01*
X523500Y296500D02*
Y325500D01*
X470000Y61500D02*
X472000D01*
X449500D02*
X470000D01*
X523000Y329700D02*
X524350Y328350D01*
X526500Y326200D01*
X523000Y354500D02*
X523500Y355000D01*
X506000Y354500D02*
X506500Y355000D01*
X256000Y50000D02*
X380000D01*
X446000Y92000D02*
X448639Y89361D01*
X446000Y92000D02*
X446000Y92000D01*
X419077Y59800D02*
X448639Y89361D01*
X446000Y92000D02*
Y93000D01*
X448000Y95000D01*
X449000D01*
X474500Y139000D02*
Y174777D01*
Y137500D02*
Y139000D01*
X450000Y113000D02*
X474500Y137500D01*
X449000Y113000D02*
X450000D01*
X416900Y59800D02*
X419077D01*
X587077Y217000D02*
X628100Y175977D01*
Y173800D02*
Y175977D01*
X544000Y217000D02*
X587077D01*
X570299Y193300D02*
X574999Y198000D01*
X470000Y44500D02*
X472000D01*
X449500D02*
X470000D01*
X439400Y34400D02*
X449500Y44500D01*
X424950Y34400D02*
X439400D01*
X470000Y61500D02*
Y65000D01*
X490200Y85200D02*
X493100D01*
X470000Y65000D02*
X490200Y85200D01*
X416900Y34400D02*
X417950Y35450D01*
X492800Y110900D02*
X493100Y110600D01*
X492800Y110900D02*
Y134700D01*
X492500Y135000D02*
X492800Y134700D01*
X502677Y413900D02*
X520000Y431223D01*
X500500Y464700D02*
X502677D01*
X520000Y431223D02*
Y447377D01*
X466000Y362301D02*
X496151Y332151D01*
X466000Y436000D02*
X494700Y464700D01*
X500500D01*
X502677D02*
X520000Y447377D01*
X499600Y413000D02*
X500000D01*
X502000Y463200D02*
Y464000D01*
X498000Y414000D02*
Y415041D01*
X466000Y362301D02*
Y436000D01*
X500500Y413900D02*
X502677D01*
X541444Y388500D02*
X591000Y438056D01*
X380000Y450000D02*
X404800Y425200D01*
X300000Y175000D02*
X427750D01*
X600787Y333113D02*
Y339213D01*
Y333113D02*
X602700Y331200D01*
X152000Y450750D02*
X169000D01*
X136322Y435072D02*
X152000Y450750D01*
X136322Y431722D02*
Y435072D01*
X169000Y450750D02*
X182000Y437750D01*
Y323000D02*
Y437750D01*
Y323000D02*
X310000Y195000D01*
X160000Y315000D02*
X300000Y175000D01*
X160000Y315000D02*
Y430000D01*
X500500Y388500D02*
X541444D01*
X591000Y438056D02*
Y439000D01*
X134600Y430000D02*
X136322Y431722D01*
X380000Y101000D02*
Y102000D01*
X256000Y450000D02*
X380000D01*
X377000Y100000D02*
X378000Y101000D01*
X256000Y100000D02*
X377000D01*
X108500Y375000D02*
X108850Y375350D01*
X91500Y400000D02*
Y418500D01*
Y375000D02*
Y400000D01*
X85000Y425000D02*
X91500Y418500D01*
D34*
X593800Y434600D02*
D03*
D35*
X139800Y36000D02*
D03*
X114400D02*
D03*
X89000D02*
D03*
X678900Y326200D02*
D03*
X653500D02*
D03*
X628100D02*
D03*
X602700D02*
D03*
X577300D02*
D03*
X551900D02*
D03*
X526500D02*
D03*
X501100D02*
D03*
X678900Y173800D02*
D03*
X653500D02*
D03*
X628100D02*
D03*
X602700D02*
D03*
X577300D02*
D03*
X551900D02*
D03*
X526500D02*
D03*
X501100D02*
D03*
X416900Y34400D02*
D03*
Y59800D02*
D03*
Y85200D02*
D03*
Y110600D02*
D03*
X493100D02*
D03*
Y85200D02*
D03*
Y59800D02*
D03*
X424300Y439300D02*
D03*
Y413900D02*
D03*
Y388500D02*
D03*
X500500D02*
D03*
Y413900D02*
D03*
Y439300D02*
D03*
Y464700D02*
D03*
X109200Y430000D02*
D03*
X134600D02*
D03*
X160000D02*
D03*
X670000Y40000D02*
D03*
Y116200D02*
D03*
X593800D02*
D03*
Y90800D02*
D03*
Y65400D02*
D03*
Y409200D02*
D03*
Y460000D02*
D03*
X670000D02*
D03*
Y383800D02*
D03*
X58400Y109000D02*
D03*
X160000D02*
D03*
X134600D02*
D03*
X109200D02*
D03*
X83800D02*
D03*
D36*
X493100Y34400D02*
D03*
X424300Y464684D02*
D03*
X185400Y109000D02*
D03*
D37*
X83800Y430000D02*
D03*
X593800Y40000D02*
D03*
Y383800D02*
D03*
D38*
X380000Y400000D02*
D03*
X256000D02*
D03*
X380000Y450000D02*
D03*
X256000D02*
D03*
X380000Y50000D02*
D03*
X256000D02*
D03*
X380000Y100000D02*
D03*
X256000D02*
D03*
D39*
X25000Y475000D02*
D03*
Y25000D02*
D03*
X375000Y250000D02*
D03*
X650000D02*
D03*
D40*
X500000Y224000D02*
D03*
X525000Y233000D02*
D03*
X450000Y272000D02*
D03*
X574999Y198000D02*
D03*
M02*

View File

@@ -0,0 +1,933 @@
G04*
G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,19.1.9 (167)*
G04*
G04 Layer_Color=65535*
%FSLAX44Y44*%
%MOMM*%
G71*
G01*
G75*
%ADD10C,0.2000*%
%ADD11C,0.2540*%
%ADD12C,0.1524*%
%ADD13C,0.1800*%
%ADD14C,0.1000*%
%ADD15C,0.1500*%
%ADD16C,0.2500*%
%ADD17C,0.1540*%
G36*
X301490Y58490D02*
Y91510D01*
X334510D01*
Y58490D01*
X301490D01*
D02*
G37*
G36*
Y408490D02*
Y441510D01*
X334510D01*
Y408490D01*
X301490D01*
D02*
G37*
D10*
X466000Y20500D02*
G03*
X444000Y20500I-11000J0D01*
G01*
X507000D02*
Y124500D01*
X403000Y20500D02*
X507000D01*
X403000D02*
Y124500D01*
X507000D01*
X443000Y104000D02*
X455000D01*
X483500Y133000D02*
Y145000D01*
X267200Y485960D02*
X368800D01*
X298950Y444050D02*
X337050D01*
Y405950D02*
Y444050D01*
X298950Y405950D02*
X337050D01*
X298950D02*
Y444050D01*
X301490Y441510D02*
X334510D01*
Y408490D02*
Y441510D01*
X301490Y408490D02*
X334510D01*
X301490D02*
Y441510D01*
X302760Y364040D02*
X368800D01*
X267200D02*
X282440D01*
X302760D02*
Y370390D01*
X282440D02*
X302760D01*
X282440Y364040D02*
Y370390D01*
X267200Y135960D02*
X368800D01*
X298950Y94050D02*
X337050D01*
Y55950D02*
Y94050D01*
X298950Y55950D02*
X337050D01*
X298950D02*
Y94050D01*
X301490Y91510D02*
X334510D01*
Y58490D02*
Y91510D01*
X301490Y58490D02*
X334510D01*
X301490D02*
Y91510D01*
X302760Y14040D02*
X368800D01*
X267200D02*
X282440D01*
X302760D02*
Y20390D01*
X282440D02*
X302760D01*
X282440Y14040D02*
Y20390D01*
D11*
X411900Y477400D02*
G03*
X411900Y477400I-300J0D01*
G01*
X449700D02*
G03*
X475100Y477400I12700J0D01*
G01*
X73760Y6294D02*
X155040D01*
X73760Y4250D02*
X155040D01*
X73760Y67750D02*
X155040D01*
X73760Y4250D02*
Y67750D01*
X155040Y4250D02*
Y67750D01*
X516000Y373000D02*
Y482000D01*
X407000Y373000D02*
X516000D01*
X407000D02*
Y482000D01*
X516000D01*
X292153Y297294D02*
X281996Y292216D01*
X292153Y287137D01*
X281996Y274441D02*
Y279520D01*
X284536Y282059D01*
X289614D01*
X292153Y279520D01*
Y274441D01*
X289614Y271902D01*
X287075D01*
Y282059D01*
X292153Y266824D02*
X281996D01*
X287075D01*
X289614Y264285D01*
X292153Y261745D01*
Y259206D01*
X281996Y251589D02*
X284536D01*
Y249050D01*
X281996D01*
Y251589D01*
Y223658D02*
Y218579D01*
Y221119D01*
X297232D01*
X294692Y223658D01*
X281996Y210962D02*
X284536D01*
Y208423D01*
X281996D01*
Y210962D01*
Y188109D02*
Y198266D01*
X292153Y188109D01*
X294692D01*
X297232Y190648D01*
Y195727D01*
X294692Y198266D01*
X272853Y330303D02*
X257618D01*
Y337921D01*
X260158Y340460D01*
X265236D01*
X267775Y337921D01*
Y330303D01*
X257618Y325225D02*
Y320147D01*
Y322686D01*
X267775D01*
Y325225D01*
X252540Y307451D02*
Y304911D01*
X255079Y302372D01*
X267775D01*
Y309990D01*
X265236Y312529D01*
X260158D01*
X257618Y309990D01*
Y302372D01*
Y297294D02*
Y292216D01*
Y294755D01*
X267775D01*
Y297294D01*
X270314Y282059D02*
X267775D01*
Y284598D01*
Y279520D01*
Y282059D01*
X260158D01*
X257618Y279520D01*
X267775Y269363D02*
Y264285D01*
X265236Y261745D01*
X257618D01*
Y269363D01*
X260158Y271902D01*
X262697Y269363D01*
Y261745D01*
X257618Y256667D02*
Y251589D01*
Y254128D01*
X272853D01*
Y256667D01*
X257618Y243971D02*
X267775Y233815D01*
Y226197D02*
Y221119D01*
X265236Y218579D01*
X257618D01*
Y226197D01*
X260158Y228736D01*
X262697Y226197D01*
Y218579D01*
X257618Y213501D02*
X267775D01*
Y205884D01*
X265236Y203344D01*
X257618D01*
X267775Y195727D02*
Y190648D01*
X265236Y188109D01*
X257618D01*
Y195727D01*
X260158Y198266D01*
X262697Y195727D01*
Y188109D01*
X257618Y183031D02*
Y177953D01*
Y180492D01*
X272853D01*
Y183031D01*
X257618Y167796D02*
Y162717D01*
X260158Y160178D01*
X265236D01*
X267775Y162717D01*
Y167796D01*
X265236Y170335D01*
X260158D01*
X257618Y167796D01*
X252540Y150022D02*
Y147483D01*
X255079Y144943D01*
X267775D01*
Y152561D01*
X265236Y155100D01*
X260158D01*
X257618Y152561D01*
Y144943D01*
X59157Y66235D02*
X54078D01*
X56617D01*
Y53539D01*
X54078Y51000D01*
X51539D01*
X49000Y53539D01*
X64235Y51000D02*
X69313D01*
X66774D01*
Y66235D01*
X64235Y63696D01*
X601235Y277843D02*
Y288000D01*
X586000D01*
Y277843D01*
X593618Y288000D02*
Y282922D01*
X598696Y262608D02*
X601235Y265147D01*
Y270226D01*
X598696Y272765D01*
X596157D01*
X593618Y270226D01*
Y265147D01*
X591078Y262608D01*
X588539D01*
X586000Y265147D01*
Y270226D01*
X588539Y272765D01*
X586000Y257530D02*
X601235D01*
Y249912D01*
X598696Y247373D01*
X593618D01*
X591078Y249912D01*
Y257530D01*
X598696Y242295D02*
X601235Y239756D01*
Y234677D01*
X598696Y232138D01*
X596157D01*
X593618Y234677D01*
Y237216D01*
Y234677D01*
X591078Y232138D01*
X588539D01*
X586000Y234677D01*
Y239756D01*
X588539Y242295D01*
X586000Y216903D02*
Y227060D01*
X596157Y216903D01*
X598696D01*
X601235Y219442D01*
Y224520D01*
X598696Y227060D01*
X526235Y105382D02*
Y110461D01*
X523696Y113000D01*
X513539D01*
X511000Y110461D01*
Y105382D01*
X513539Y102843D01*
X523696D01*
X526235Y105382D01*
X511000Y97765D02*
X526235D01*
Y90147D01*
X523696Y87608D01*
X518618D01*
X516078Y90147D01*
Y97765D01*
X511000Y82530D02*
X521157D01*
X526235Y77452D01*
X521157Y72373D01*
X511000D01*
X518618D01*
Y82530D01*
X523696Y67295D02*
X526235Y64756D01*
Y59677D01*
X523696Y57138D01*
X521157D01*
X518618Y59677D01*
Y62216D01*
Y59677D01*
X516078Y57138D01*
X513539D01*
X511000Y59677D01*
Y64756D01*
X513539Y67295D01*
X523696Y52060D02*
X526235Y49521D01*
Y44442D01*
X523696Y41903D01*
X521157D01*
X518618Y44442D01*
X516078Y41903D01*
X513539D01*
X511000Y44442D01*
Y49521D01*
X513539Y52060D01*
X516078D01*
X518618Y49521D01*
X521157Y52060D01*
X523696D01*
X518618Y49521D02*
Y44442D01*
X523696Y36825D02*
X526235Y34286D01*
Y29207D01*
X523696Y26668D01*
X513539D01*
X511000Y29207D01*
Y34286D01*
X513539Y36825D01*
X523696D01*
X435000Y132000D02*
Y147235D01*
X442617D01*
X445157Y144696D01*
Y139618D01*
X442617Y137078D01*
X435000D01*
X440078D02*
X445157Y132000D01*
X460392Y147235D02*
X450235D01*
Y139618D01*
X455313Y142157D01*
X457853D01*
X460392Y139618D01*
Y134539D01*
X457853Y132000D01*
X452774D01*
X450235Y134539D01*
X555235Y456183D02*
Y461261D01*
X552696Y463800D01*
X542539D01*
X540000Y461261D01*
Y456183D01*
X542539Y453643D01*
X552696D01*
X555235Y456183D01*
X540000Y448565D02*
X555235D01*
Y440947D01*
X552696Y438408D01*
X547617D01*
X545078Y440947D01*
Y448565D01*
X555235Y433330D02*
Y423173D01*
Y428251D01*
X540000D01*
X537461Y418095D02*
Y407938D01*
X555235Y402860D02*
Y392703D01*
Y397781D01*
X540000D01*
X555235Y387625D02*
X540000Y377468D01*
X555235D02*
X540000Y387625D01*
X470235Y455000D02*
Y444843D01*
X467696D01*
X457539Y455000D01*
X455000D01*
X470235Y429608D02*
Y439765D01*
X462617D01*
X465157Y434687D01*
Y432147D01*
X462617Y429608D01*
X457539D01*
X455000Y432147D01*
Y437226D01*
X457539Y439765D01*
X455000Y416912D02*
X470235D01*
X462617Y424530D01*
Y414373D01*
X470235Y399138D02*
Y409295D01*
X462617D01*
X465157Y404216D01*
Y401677D01*
X462617Y399138D01*
X457539D01*
X455000Y401677D01*
Y406756D01*
X457539Y409295D01*
X455000Y394060D02*
Y388981D01*
Y391521D01*
X470235D01*
X467696Y394060D01*
X555235Y112382D02*
Y117461D01*
X552696Y120000D01*
X542539D01*
X540000Y117461D01*
Y112382D01*
X542539Y109843D01*
X552696D01*
X555235Y112382D01*
X540000Y104765D02*
X555235D01*
Y97147D01*
X552696Y94608D01*
X547617D01*
X545078Y97147D01*
Y104765D01*
X555235Y89530D02*
Y79373D01*
Y84452D01*
X540000D01*
X537461Y74295D02*
Y64138D01*
X540000Y59060D02*
X555235D01*
Y51442D01*
X552696Y48903D01*
X547617D01*
X545078Y51442D01*
Y59060D01*
Y53981D02*
X540000Y48903D01*
X555235Y43825D02*
X540000Y33668D01*
X555235D02*
X540000Y43825D01*
X135157Y407696D02*
X132618Y410235D01*
X127539D01*
X125000Y407696D01*
Y397539D01*
X127539Y395000D01*
X132618D01*
X135157Y397539D01*
X140235Y410235D02*
X150392D01*
Y407696D01*
X140235Y397539D01*
Y395000D01*
X135157Y382696D02*
X132618Y385235D01*
X127539D01*
X125000Y382696D01*
Y372539D01*
X127539Y370000D01*
X132618D01*
X135157Y372539D01*
X150392Y385235D02*
X145313Y382696D01*
X140235Y377617D01*
Y372539D01*
X142774Y370000D01*
X147853D01*
X150392Y372539D01*
Y375078D01*
X147853Y377617D01*
X140235D01*
X546157Y357196D02*
X543618Y359735D01*
X538539D01*
X536000Y357196D01*
Y347039D01*
X538539Y344500D01*
X543618D01*
X546157Y347039D01*
X551235Y357196D02*
X553774Y359735D01*
X558853D01*
X561392Y357196D01*
Y354657D01*
X558853Y352118D01*
X556313D01*
X558853D01*
X561392Y349578D01*
Y347039D01*
X558853Y344500D01*
X553774D01*
X551235Y347039D01*
X547157Y303696D02*
X544618Y306235D01*
X539539D01*
X537000Y303696D01*
Y293539D01*
X539539Y291000D01*
X544618D01*
X547157Y293539D01*
X562392Y291000D02*
X552235D01*
X562392Y301157D01*
Y303696D01*
X559853Y306235D01*
X554774D01*
X552235Y303696D01*
X122235Y282383D02*
Y287461D01*
X119696Y290000D01*
X109539D01*
X107000Y287461D01*
Y282383D01*
X109539Y279843D01*
X119696D01*
X122235Y282383D01*
Y274765D02*
X107000D01*
Y264608D01*
X122235Y249373D02*
Y259530D01*
X107000D01*
Y249373D01*
X114618Y259530D02*
Y254452D01*
X122235Y244295D02*
X107000D01*
Y236677D01*
X109539Y234138D01*
X119696D01*
X122235Y236677D01*
Y244295D01*
X232696Y119843D02*
X235235Y122382D01*
Y127461D01*
X232696Y130000D01*
X230157D01*
X227617Y127461D01*
Y122382D01*
X225078Y119843D01*
X222539D01*
X220000Y122382D01*
Y127461D01*
X222539Y130000D01*
X235235Y114765D02*
X220000D01*
X225078Y109687D01*
X220000Y104608D01*
X235235D01*
X217461Y99530D02*
Y89373D01*
X232696Y74138D02*
X235235Y76677D01*
Y81756D01*
X232696Y84295D01*
X230157D01*
X227617Y81756D01*
Y76677D01*
X225078Y74138D01*
X222539D01*
X220000Y76677D01*
Y81756D01*
X222539Y84295D01*
X235235Y69060D02*
Y58903D01*
Y63981D01*
X220000D01*
Y53825D02*
X230157D01*
X235235Y48746D01*
X230157Y43668D01*
X220000D01*
X227617D01*
Y53825D01*
X220000Y38590D02*
X235235D01*
Y30972D01*
X232696Y28433D01*
X227617D01*
X225078Y30972D01*
Y38590D01*
Y33511D02*
X220000Y28433D01*
X235235Y23354D02*
Y13198D01*
Y18276D01*
X220000D01*
X232696Y464843D02*
X235235Y467383D01*
Y472461D01*
X232696Y475000D01*
X230157D01*
X227617Y472461D01*
Y467383D01*
X225078Y464843D01*
X222539D01*
X220000Y467383D01*
Y472461D01*
X222539Y475000D01*
X235235Y459765D02*
X220000D01*
X225078Y454687D01*
X220000Y449608D01*
X235235D01*
X217461Y444530D02*
Y434373D01*
X220000Y429295D02*
X235235D01*
X230157Y424216D01*
X235235Y419138D01*
X220000D01*
X235235Y406442D02*
Y411521D01*
X232696Y414060D01*
X222539D01*
X220000Y411521D01*
Y406442D01*
X222539Y403903D01*
X232696D01*
X235235Y406442D01*
Y398825D02*
X220000D01*
Y391207D01*
X222539Y388668D01*
X232696D01*
X235235Y391207D01*
Y398825D01*
Y373433D02*
Y383590D01*
X220000D01*
Y373433D01*
X227617Y383590D02*
Y378511D01*
D12*
X330617Y375792D02*
G03*
X330929Y474127I-12617J49208D01*
G01*
X330477Y386323D02*
G03*
X330477Y463677I-12477J38677D01*
G01*
X305382Y474208D02*
G03*
X305072Y375873I12617J-49208D01*
G01*
X368800Y364040D02*
G03*
X378960Y374200I0J10160D01*
G01*
X257040D02*
G03*
X267200Y364040I10160J0D01*
G01*
Y485960D02*
G03*
X257040Y475800I0J-10160D01*
G01*
X378960D02*
G03*
X368800Y485960I-10160J0D01*
G01*
X305523Y463677D02*
G03*
X305523Y386323I12477J-38677D01*
G01*
X330617Y25792D02*
G03*
X330929Y124127I-12617J49208D01*
G01*
X330477Y36323D02*
G03*
X330477Y113677I-12477J38677D01*
G01*
X305382Y124208D02*
G03*
X305072Y25873I12617J-49208D01*
G01*
X368800Y14040D02*
G03*
X378960Y24200I0J10160D01*
G01*
X257040D02*
G03*
X267200Y14040I10160J0D01*
G01*
Y135960D02*
G03*
X257040Y125800I0J-10160D01*
G01*
X378960D02*
G03*
X368800Y135960I-10160J0D01*
G01*
X305523Y113677D02*
G03*
X305523Y36323I12477J-38677D01*
G01*
D13*
X694000Y158000D02*
Y190000D01*
X485000D02*
X694000D01*
X485000Y158000D02*
Y190000D01*
Y158000D02*
X694000D01*
Y310000D02*
Y342000D01*
X484000D02*
X694000D01*
X484000Y310000D02*
Y342000D01*
Y310000D02*
X694000D01*
D14*
X497474Y309660D02*
X532526D01*
Y302040D02*
Y309660D01*
X497474Y302040D02*
Y309660D01*
X532526Y289340D02*
Y296960D01*
X497474Y289340D02*
Y296960D01*
Y289340D02*
X532526D01*
X497474Y341840D02*
X532526D01*
X497474D02*
Y349460D01*
X532526Y341840D02*
Y349460D01*
X497474Y354540D02*
Y362160D01*
X532526Y354540D02*
Y362160D01*
X497474D02*
X532526D01*
X82474Y385160D02*
X117526D01*
Y377540D02*
Y385160D01*
X82474Y377540D02*
Y385160D01*
X117526Y364840D02*
Y372460D01*
X82474Y364840D02*
Y372460D01*
Y364840D02*
X117526D01*
X82474Y410160D02*
X117526D01*
Y402540D02*
Y410160D01*
X82474Y402540D02*
Y410160D01*
X117526Y389840D02*
Y397460D01*
X82474Y389840D02*
Y397460D01*
Y389840D02*
X117526D01*
X459660Y35474D02*
Y70526D01*
X452040Y35474D02*
X459660D01*
X452040Y70526D02*
X459660D01*
X439340Y35474D02*
X446960D01*
X439340Y70526D02*
X446960D01*
X439340Y35474D02*
Y70526D01*
X480160Y35474D02*
Y70526D01*
X472540Y35474D02*
X480160D01*
X472540Y70526D02*
X480160D01*
X459840Y35474D02*
X467460D01*
X459840Y70526D02*
X467460D01*
X459840Y35474D02*
Y70526D01*
X458652Y121526D02*
X458652Y107810D01*
X439348Y121526D02*
X458652D01*
X439348Y107810D02*
X439348Y121526D01*
X458652Y86474D02*
Y100190D01*
X439348Y86474D02*
X458652D01*
X439348D02*
Y100190D01*
X465974Y148652D02*
X479690Y148652D01*
X465974Y129348D02*
Y148652D01*
Y129348D02*
X479690Y129348D01*
X487310Y148652D02*
X501026D01*
Y129348D02*
Y148652D01*
X487310Y129348D02*
X501026D01*
D15*
X60800Y444000D02*
X182800D01*
Y131000D02*
Y444000D01*
X60800Y131000D02*
X182800D01*
X60800D02*
Y444000D01*
D16*
X565250Y21000D02*
X689000D01*
Y134000D01*
X565250D02*
X689000D01*
X565250Y21000D02*
Y134000D01*
Y366000D02*
Y477000D01*
X689000D01*
Y366000D02*
Y477000D01*
X565250Y366000D02*
X689000D01*
D17*
X477000Y91000D02*
X461765D01*
Y98617D01*
X464304Y101157D01*
X469383D01*
X471922Y98617D01*
Y91000D01*
Y96078D02*
X477000Y101157D01*
Y113853D02*
X461765D01*
X469383Y106235D01*
Y116392D01*
X440664Y82331D02*
X438998Y83997D01*
X435666D01*
X434000Y82331D01*
Y75666D01*
X435666Y74000D01*
X438998D01*
X440664Y75666D01*
X443997Y74000D02*
X447329D01*
X445663D01*
Y83997D01*
X443997Y82331D01*
X452327D02*
X453994Y83997D01*
X457326D01*
X458992Y82331D01*
Y75666D01*
X457326Y74000D01*
X453994D01*
X452327Y75666D01*
Y82331D01*
M02*

View File

@@ -0,0 +1,50 @@
G04*
G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,19.1.9 (167)*
G04*
G04 Layer_Color=8421504*
%FSLAX44Y44*%
%MOMM*%
G71*
G01*
G75*
%ADD18R,1.3000X1.5000*%
%ADD19R,1.5000X1.3000*%
%ADD20R,1.4000X1.2000*%
%ADD21R,1.2000X1.4000*%
D18*
X523500Y299500D02*
D03*
X506500D02*
D03*
Y352000D02*
D03*
X523500D02*
D03*
X108500Y375000D02*
D03*
X91500D02*
D03*
X108500Y400000D02*
D03*
X91500D02*
D03*
D19*
X449500Y44500D02*
D03*
Y61500D02*
D03*
X470000Y44500D02*
D03*
Y61500D02*
D03*
D20*
X449000Y113000D02*
D03*
Y95000D02*
D03*
D21*
X474500Y139000D02*
D03*
X492500D02*
D03*
M02*

View File

@@ -0,0 +1,210 @@
G04*
G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,19.1.9 (167)*
G04*
G04 Layer_Color=8388736*
%FSLAX44Y44*%
%MOMM*%
G71*
G01*
G75*
%ADD22R,1.4500X1.6500*%
%ADD23R,1.6500X1.4500*%
%ADD24R,1.5500X1.3500*%
%ADD25R,1.3500X1.5500*%
%ADD26O,2.2500X2.1500*%
%ADD27C,2.2500*%
%ADD28R,2.2500X2.2500*%
%ADD29R,2.2500X2.2500*%
%ADD30C,3.0000*%
%ADD31C,1.6740*%
%ADD32C,1.8500*%
D22*
X523500Y299500D02*
D03*
X506500D02*
D03*
Y352000D02*
D03*
X523500D02*
D03*
X108500Y375000D02*
D03*
X91500D02*
D03*
X108500Y400000D02*
D03*
X91500D02*
D03*
D23*
X449500Y44500D02*
D03*
Y61500D02*
D03*
X470000Y44500D02*
D03*
Y61500D02*
D03*
D24*
X449000Y113000D02*
D03*
Y95000D02*
D03*
D25*
X474500Y139000D02*
D03*
X492500D02*
D03*
D26*
X593800Y434600D02*
D03*
D27*
X139800Y36000D02*
D03*
X114400D02*
D03*
X89000D02*
D03*
X678900Y326200D02*
D03*
X653500D02*
D03*
X628100D02*
D03*
X602700D02*
D03*
X577300D02*
D03*
X551900D02*
D03*
X526500D02*
D03*
X501100D02*
D03*
X678900Y173800D02*
D03*
X653500D02*
D03*
X628100D02*
D03*
X602700D02*
D03*
X577300D02*
D03*
X551900D02*
D03*
X526500D02*
D03*
X501100D02*
D03*
X416900Y34400D02*
D03*
Y59800D02*
D03*
Y85200D02*
D03*
Y110600D02*
D03*
X493100D02*
D03*
Y85200D02*
D03*
Y59800D02*
D03*
X424300Y439300D02*
D03*
Y413900D02*
D03*
Y388500D02*
D03*
X500500D02*
D03*
Y413900D02*
D03*
Y439300D02*
D03*
Y464700D02*
D03*
X109200Y430000D02*
D03*
X134600D02*
D03*
X160000D02*
D03*
X670000Y40000D02*
D03*
Y116200D02*
D03*
X593800D02*
D03*
Y90800D02*
D03*
Y65400D02*
D03*
Y409200D02*
D03*
Y460000D02*
D03*
X670000D02*
D03*
Y383800D02*
D03*
X58400Y109000D02*
D03*
X160000D02*
D03*
X134600D02*
D03*
X109200D02*
D03*
X83800D02*
D03*
D28*
X493100Y34400D02*
D03*
X424300Y464684D02*
D03*
X185400Y109000D02*
D03*
D29*
X83800Y430000D02*
D03*
X593800Y40000D02*
D03*
Y383800D02*
D03*
D30*
X380000Y400000D02*
D03*
X256000D02*
D03*
X380000Y450000D02*
D03*
X256000D02*
D03*
X380000Y50000D02*
D03*
X256000D02*
D03*
X380000Y100000D02*
D03*
X256000D02*
D03*
D31*
X25000Y475000D02*
D03*
Y25000D02*
D03*
X375000Y250000D02*
D03*
X650000D02*
D03*
D32*
X500000Y224000D02*
D03*
X525000Y233000D02*
D03*
X450000Y272000D02*
D03*
X574999Y198000D02*
D03*
M02*

View File

@@ -0,0 +1,2 @@
Layer Pairs Export File for PCB: E:\.WORK\ARDUINO\OptoTest\PCB\OptoTest.PcbDoc
LayersSetName=Top_Bot_Thru_Holes|DrillFile=optotest.txt|DrillLayers=gtl,g1,gbl

View File

@@ -0,0 +1,179 @@
*************************************************************
FileName = OptoTest.GBR
AutoAperture = True
*************************************************************
Generating : Top Paste
File : OptoTest.GTP
Adding Layer : Top Paste
Adding Layer : Top Layer
Adding Layer : Multi-Layer
Used DCodes :
D18
D19
D20
D21
*************************************************************
*************************************************************
Generating : Top Layer
File : OptoTest.GTL
Adding Layer : Top Layer
Adding Layer : Multi-Layer
Used DCodes :
D18
D19
D20
D21
D33
D34
D35
D36
D37
D38
D39
D40
*************************************************************
*************************************************************
Generating : Bottom Solder
File : OptoTest.GBS
Adding Layer : Bottom Solder
Adding Layer : Bottom Layer
Adding Layer : Multi-Layer
Used DCodes :
D22
D24
D25
D26
D27
D28
D29
D30
D31
D32
D42
*************************************************************
*************************************************************
Generating : Top Solder
File : OptoTest.GTS
Adding Layer : Top Solder
Adding Layer : Top Layer
Adding Layer : Multi-Layer
Used DCodes :
D22
D23
D24
D25
D26
D27
D28
D29
D30
D31
D32
*************************************************************
*************************************************************
Generating : Top Overlay
File : OptoTest.GTO
Adding Layer : Top Overlay
Used DCodes :
D10
D11
D12
D13
D14
D15
D16
D17
*************************************************************
*************************************************************
Generating : Bottom Overlay
File : OptoTest.GBO
Adding Layer : Bottom Overlay
Used DCodes :
D10
D11
D14
D43
*************************************************************
*************************************************************
Generating : Bottom Paste
File : OptoTest.GBP
Adding Layer : Bottom Paste
Adding Layer : Bottom Layer
Adding Layer : Multi-Layer
Used DCodes :
D18
D20
D21
D41
*************************************************************
*************************************************************
Generating : Bottom Layer
File : OptoTest.GBL
Adding Layer : Bottom Layer
Adding Layer : Multi-Layer
Used DCodes :
D18
D20
D21
D33
D34
D35
D36
D37
D38
D39
D40
D41
*************************************************************
*************************************************************
Generating : Keep-Out Layer
File : OptoTest.GKO
Adding Layer : Keep-Out Layer
Used DCodes :
*************************************************************

View File

@@ -0,0 +1,7 @@
DRC Rules Export File for PCB: E:\.WORK\ARDUINO\OptoTest\PCB\OptoTest.PcbDoc
RuleKind=Clearance|RuleName=Vint|Scope=Board|Minimum=118.11
RuleKind=MinimumAnnularRing|RuleName=MinimumAnnularRing|Scope=Board|Minimum=5.91
RuleKind=ShortCircuit|RuleName=ShortCircuit|Scope=Board|Allowed=0
RuleKind=SolderMaskExpansion|RuleName=SolderMaskExpansion|Scope=Board|Minimum=2.95
RuleKind=Width|RuleName=Width|Scope=Board|Minimum=19.69
RuleKind=Clearance|RuleName=Clearance|Scope=Board|Minimum=19.69

View File

@@ -0,0 +1,89 @@
M48
;Layer_Color=9474304
;FILE_FORMAT=4:4
METRIC,LZ
;TYPE=PLATED
T1F00S00C0.9000
T2F00S00C1.3000
T3F00S00C2.0000
;TYPE=NON_PLATED
T4F00S00C3.1000
%
T01
X00574999Y00198
X00525Y00233
X005Y00224
X0045Y00272
T02
X00089Y00036
X001144
X001398
X004169Y000344
Y000598
X004931
Y000344
X005938Y0004
X0067
Y001162
X006789Y001738
X006535
X006281
X006027
X005773
X005938Y001162
Y000908
Y000654
X006027Y003262
X005773
X006281
X006535
X006789
X0067Y003838
X005938
Y004092
Y004346
X005005Y004393
Y004139
Y003885
X005011Y003262
X005265
X005519
Y001738
X005265
X005011
X004931Y001106
Y000852
X004169
Y001106
X001854Y00109
X004243Y003885
Y004139
Y004393
X0016Y0043
X001346
X001092
X000838
Y00109
X000584
X001092
X001346
X0016
X004243Y00464684
X005005Y004647
X005938Y0046
X0067
T03
X00256Y0005
X0038
Y001
X00256
Y004
Y0045
X0038
Y004
T04
X00025Y00025
X0065Y0025
X00375
X00025Y00475
M30

View File

@@ -0,0 +1,32 @@
D10 ROUNDED 7.874 7.874 0.000 LINE 0.000
D11 ROUNDED 10.000 10.000 0.000 LINE 0.000
D12 ROUNDED 6.000 6.000 0.000 LINE 0.000
D13 ROUNDED 7.087 7.087 0.000 LINE 0.000
D14 ROUNDED 3.937 3.937 0.000 LINE 0.000
D15 ROUNDED 5.906 5.906 0.000 LINE 0.000
D16 ROUNDED 9.842 9.842 0.000 LINE 0.000
D17 ROUNDED 6.063 6.063 0.000 LINE 0.000
D18 RECTANGULAR 59.055 51.181 0.000 FLASH 90.000
D19 RECTANGULAR 59.055 51.181 0.000 FLASH 180.000
D20 RECTANGULAR 55.118 47.244 0.000 FLASH 180.000
D21 RECTANGULAR 55.118 47.244 0.000 FLASH 270.000
D22 RECTANGULAR 64.961 57.087 0.000 FLASH 90.000
D23 RECTANGULAR 64.961 57.087 0.000 FLASH 180.000
D24 RECTANGULAR 61.024 53.150 0.000 FLASH 180.000
D25 RECTANGULAR 61.024 53.150 0.000 FLASH 270.000
D26 ROUNDED 84.646 88.583 0.000 FLASH 270.000
D27 ROUNDED 88.583 88.583 0.000 FLASH 0.000
D28 RECTANGULAR 88.583 88.583 0.000 FLASH 180.000
D29 RECTANGULAR 88.583 88.583 0.000 FLASH 270.000
D30 ROUNDED 118.110 118.110 0.000 FLASH 0.000
D31 ROUNDED 65.906 65.906 0.000 FLASH 0.000
D32 ROUNDED 72.835 72.835 0.000 FLASH 0.000
D33 ROUNDED 31.496 31.496 0.000 LINE 0.000
D34 ROUNDED 78.740 82.677 0.000 FLASH 270.000
D35 ROUNDED 82.677 82.677 0.000 FLASH 0.000
D36 RECTANGULAR 82.677 82.677 0.000 FLASH 180.000
D37 RECTANGULAR 82.677 82.677 0.000 FLASH 270.000
D38 ROUNDED 110.236 110.236 0.000 FLASH 0.000
D39 ROUNDED 60.000 60.000 0.000 FLASH 0.000
D40 ROUNDED 66.929 66.929 0.000 FLASH 0.000
D43 ROUNDED 5.000 5.000 0.000 LINE 0.000

View File

@@ -0,0 +1,12 @@
Output: NC Drill Files
Type : NC Drill
From : Project [OptoTest.PrjPcb]
Generated File[OptoTest.TXT]
Generated File[OptoTest.LDP]
Generated File[OptoTest.DRR]
Files Generated : 3
Documents Printed : 0
Finished Output Generation At 13:58:41 On 09.08.2026

View File

@@ -0,0 +1,72 @@
{
"alignment": {
"circle_diameter": 3,
"top_point": [
0,
-1.9999999999999998
]
},
"cutout": {
"bottom": 2,
"enabled": false,
"left": 2,
"right": 2,
"side": "auto",
"tab_width": 3,
"tabs_enabled": true,
"top": 2
},
"files": [
{
"layer": "bottom",
"mirror_x": false,
"mirror_y": false,
"path": "OptoTest.GBL"
},
{
"layer": "top",
"mirror_x": false,
"mirror_y": false,
"path": "OptoTest.GTL"
},
{
"layer": "drill",
"mirror_x": false,
"mirror_y": false,
"path": "OptoTest.TXT"
}
],
"mirror": {
"axis": "Y",
"enabled": true,
"left_reference_offset": -9,
"point": [
91,
0
],
"reference_distance": 200
},
"output_dir": "F:/Work/CNC/CNC Software/CNCGerber/cam-output",
"settings": {
"combine_top_and_cutout": false,
"cut_depth_per_pass": 0.5,
"cut_multidepth": false,
"cut_z": -0.05,
"drill_depth_per_pass": 0.5,
"drill_diameter": 0.5,
"drill_multidepth": false,
"drill_side": "top",
"drill_z": -2.3,
"feedrate_rapid": 500,
"feedrate_xy": 200,
"feedrate_z": 100,
"include_m_commands": false,
"mill_diameter": 0.5,
"min_copper_strip_width": 0,
"spindle_speed": 10000,
"travel_z": 2,
"units": "MM"
},
"type": "cncgerber-pcb-project",
"version": 1
}

View File

@@ -0,0 +1,62 @@
# Rivet Via Converter для Altium Designer
Скрипт анализирует все отверстия активного `PcbDoc` и преобразует в размеры
имеющихся заклёпок как сквозные Via, так и все сверлёные Pad. Обрабатываются
свободные объекты на плате и примитивы внутри футпринтов:
| Исходный Hole Size | Новый Hole Size | Диаметр меди | Диаметр зоны изоляции |
|---:|---:|---:|---:|
| `<= 0,3 мм` | `0,9 мм` | `1,7 мм` | `2,2 мм` |
| `<= 1,1 мм` | `1,3 мм` | `2,1 мм` | `2,7 мм` |
| `> 1,1 мм` | `2,0 мм` | `2,8 мм` | `3,7 мм` |
Дополнительный запас к внешнему диаметру не добавляется. Глухие и скрытые Via
не изменяются. Также игнорируются неплакированные Pad и отверстия, у которых
внешний размер площадки равен диаметру отверстия, то есть отсутствует медное
кольцо. SMD Pad с нулевым размером отверстия не изменяются. Диаметр меди всегда
равен `Hole Size + 0,8 мм`. У сверлёных Pad задаются одинаковые X/Y-размеры меди
на Top, Mid и Bottom, но исходная форма площадки сохраняется. Готовые размеры распознаются
отдельно, поэтому скрипт можно запускать повторно без дальнейшего увеличения.
Скрипт проверяет активное общее правило Clearance со Scope `All / All`. Для
каждой группы отдельное правило создаётся или обновляется только тогда, когда
общий clearance меньше требуемого зазора от края меди. Если общий clearance уже
достаточен, правило группы не создаётся, а ранее созданное скриптом правило
удаляется.
Возможные отдельные правила:
- `RIVET_03_RoutingIsolation` — зазор от края меди `0,25 мм`;
- `RIVET_11_RoutingIsolation` — зазор от края меди `0,30 мм`;
- `RIVET_GT11_RoutingIsolation` — зазор от края меди `0,45 мм`.
Область действия первой стороны каждого правила автоматически выбирает Via и
plated Pad с соответствующей парой Hole Size/диаметр. Вторая сторона выбирает
только дорожки, дуги трассировки, медные Fill/Region и Polygon. Поэтому другие
Pad и Via могут располагаться ближе и продолжают использовать обычное правило
clearance платы, например `0,5 мм`.
Например, при общем clearance `0,5 мм` он уже превышает все три требуемых
значения (`0,25 / 0,30 / 0,45 мм`), поэтому ни одно дополнительное правило не
понадобится.
## Запуск
1. Откройте `RivetViaConverter.PrjScr` в Altium Designer.
2. Откройте и сделайте активным нужный `PcbDoc`.
3. Выберите `File -> Run Script`.
4. Для проверки без изменений запустите `AnalyzeVias` — несмотря на историческое
имя процедуры, она проверяет и Via, и сверлёные Pad.
5. Для преобразования и синхронизации правил запустите `ConvertViasToRivets` —
она изменяет оба типа объектов.
6. Проверьте показанную сводку и нажмите `OK`.
Все изменения формируются как одна операция Undo. Скрипт не сохраняет файл
автоматически.
## После преобразования
Запустите DRC: увеличенные площадки могут нарушить Clearance или выйти слишком
близко к контуру платы. Также проверьте настройки Solder Mask Expansion: медь
вокруг заклёпки должна быть открыта с обеих сторон платы. Сам скрипт настройки
паяльной маски и правила PCB не меняет.

View File

@@ -0,0 +1,8 @@
[Design]
Version=1.0
HierarchyMode=0
[Document1]
DocumentPath=RivetViaConverter.pas
AnnotationEnabled=1

View File

@@ -0,0 +1,843 @@
{ RivetViaConverter.pas
Converts through-hole vias and drilled pads to the available PCB rivet sizes.
Source classification is based on the object's current hole diameter:
<= 0.3 mm -> drill 0.9 mm, copper diameter 1.7 mm
<= 1.1 mm -> drill 1.3 mm, copper diameter 2.1 mm
> 1.1 mm -> drill 2.0 mm, copper diameter 2.8 mm
Copper diameter is always drill diameter + 0.8 mm.
Existing complete hole/diameter target pairs are recognized before source
thresholds, making repeated runs safe (idempotent).
}
Const
CLASS_NONE = 0;
CLASS_03 = 1;
CLASS_08 = 2;
CLASS_12 = 3;
CLASS_NOT_THROUGH = 4;
Var
GTotalVias : Integer;
GChange03 : Integer;
GChange08 : Integer;
GChange12 : Integer;
GAlreadyReady : Integer;
GSkippedLarge : Integer;
GSkippedNotThru : Integer;
GFootprintVias : Integer;
GTotalDrilledPads : Integer;
GFootprintPads : Integer;
GSkippedNoRing : Integer;
GSkippedNonPlated : Integer;
GRulesCreated : Integer;
GRulesUpdated : Integer;
GRulesRemoved : Integer;
GRulesNotNeeded : Integer;
GDefaultClearance : TCoord;
GDefaultRuleFound : Boolean;
Function CoordIsNear(A, B : TCoord) : Boolean;
Begin
Result := Abs(A - B) <= MMsToCoord(0.001);
End;
Function IsThroughBoardVia(Via : IPCB_Via) : Boolean;
Begin
Result := (Via.LowLayer = eTopLayer) And
(Via.HighLayer = eBottomLayer);
End;
Function ViaHasNoAnnularRing(Via : IPCB_Via) : Boolean;
Begin
Result := Via.Size <= Via.HoleSize + MMsToCoord(0.001);
End;
Function ClassifyHole(Hole : TCoord;
Var TargetHole : TCoord;
Var TargetSize : TCoord) : Integer;
Begin
Result := CLASS_NONE;
TargetHole := 0;
TargetSize := 0;
If Hole <= MMsToCoord(0.3) Then
Begin
Result := CLASS_03;
TargetHole := MMsToCoord(0.9);
TargetSize := MMsToCoord(1.7);
End
Else If Hole <= MMsToCoord(1.1) Then
Begin
Result := CLASS_08;
TargetHole := MMsToCoord(1.3);
TargetSize := MMsToCoord(2.1);
End
Else If Hole > MMsToCoord(1.1) Then
Begin
Result := CLASS_12;
TargetHole := MMsToCoord(2.0);
TargetSize := MMsToCoord(2.8);
End;
End;
Function ViaMatchesKnownTemplate(Via : IPCB_Via) : Boolean;
Begin
Result :=
(CoordIsNear(Via.HoleSize, MMsToCoord(0.9)) And
CoordIsNear(Via.Size, MMsToCoord(1.7))) Or
(CoordIsNear(Via.HoleSize, MMsToCoord(1.3)) And
CoordIsNear(Via.Size, MMsToCoord(2.1))) Or
(CoordIsNear(Via.HoleSize, MMsToCoord(2.0)) And
CoordIsNear(Via.Size, MMsToCoord(2.8)));
End;
Function ClassifyVia(Via : IPCB_Via;
Var TargetHole : TCoord;
Var TargetSize : TCoord) : Integer;
Begin
If Not IsThroughBoardVia(Via) Then
Begin
TargetHole := 0;
TargetSize := 0;
Result := CLASS_NOT_THROUGH;
Exit;
End;
{ Migrate exact target pairs produced by older script versions without
moving them into a larger group based on their already enlarged drill. }
If CoordIsNear(Via.HoleSize, MMsToCoord(0.9)) And
CoordIsNear(Via.Size, MMsToCoord(2.0)) Then
Begin
TargetHole := MMsToCoord(0.9);
TargetSize := MMsToCoord(1.7);
Result := CLASS_03;
Exit;
End;
If CoordIsNear(Via.HoleSize, MMsToCoord(1.3)) And
CoordIsNear(Via.Size, MMsToCoord(2.5)) Then
Begin
TargetHole := MMsToCoord(1.3);
TargetSize := MMsToCoord(2.1);
Result := CLASS_08;
Exit;
End;
If CoordIsNear(Via.HoleSize, MMsToCoord(2.0)) And
CoordIsNear(Via.Size, MMsToCoord(3.5)) Then
Begin
TargetHole := MMsToCoord(2.0);
TargetSize := MMsToCoord(2.8);
Result := CLASS_12;
Exit;
End;
Result := ClassifyHole(Via.HoleSize, TargetHole, TargetSize);
End;
Procedure ResetCounts;
Begin
GTotalVias := 0;
GChange03 := 0;
GChange08 := 0;
GChange12 := 0;
GAlreadyReady := 0;
GSkippedLarge := 0;
GSkippedNotThru := 0;
GFootprintVias := 0;
GTotalDrilledPads := 0;
GFootprintPads := 0;
GSkippedNoRing := 0;
GSkippedNonPlated := 0;
End;
Procedure AnalyzeOneVia(Via : IPCB_Via; IsInFootprint : Boolean);
Var
ViaClass : Integer;
TargetHole : TCoord;
TargetSize : TCoord;
Begin
Inc(GTotalVias);
If IsInFootprint Then
Inc(GFootprintVias);
If ViaHasNoAnnularRing(Via) Then
Begin
Inc(GSkippedNoRing);
Exit;
End;
ViaClass := ClassifyVia(Via, TargetHole, TargetSize);
If ViaClass = CLASS_NOT_THROUGH Then
Inc(GSkippedNotThru)
Else If ViaClass = CLASS_NONE Then
Inc(GSkippedLarge)
Else If ViaMatchesKnownTemplate(Via) Then
Inc(GAlreadyReady)
Else If ViaClass = CLASS_03 Then
Inc(GChange03)
Else If ViaClass = CLASS_08 Then
Inc(GChange08)
Else If ViaClass = CLASS_12 Then
Inc(GChange12);
End;
Function PadHasNoAnnularRing(Pad : IPCB_Pad) : Boolean;
Var
MaxSize : TCoord;
Begin
MaxSize := Pad.TopXSize;
If Pad.TopYSize > MaxSize Then MaxSize := Pad.TopYSize;
If Pad.MidXSize > MaxSize Then MaxSize := Pad.MidXSize;
If Pad.MidYSize > MaxSize Then MaxSize := Pad.MidYSize;
If Pad.BotXSize > MaxSize Then MaxSize := Pad.BotXSize;
If Pad.BotYSize > MaxSize Then MaxSize := Pad.BotYSize;
Result := MaxSize <= Pad.HoleSize + MMsToCoord(0.001);
End;
Function PadIsReady(Pad : IPCB_Pad; TargetHole, TargetSize : TCoord) : Boolean;
Begin
Result := CoordIsNear(Pad.HoleSize, TargetHole) And
CoordIsNear(Pad.TopXSize, TargetSize) And
CoordIsNear(Pad.TopYSize, TargetSize) And
CoordIsNear(Pad.MidXSize, TargetSize) And
CoordIsNear(Pad.MidYSize, TargetSize) And
CoordIsNear(Pad.BotXSize, TargetSize) And
CoordIsNear(Pad.BotYSize, TargetSize);
End;
Function PadMatchesKnownTemplate(Pad : IPCB_Pad) : Boolean;
Begin
Result :=
PadIsReady(Pad, MMsToCoord(0.9), MMsToCoord(1.7)) Or
PadIsReady(Pad, MMsToCoord(1.3), MMsToCoord(2.1)) Or
PadIsReady(Pad, MMsToCoord(2.0), MMsToCoord(2.8));
End;
Function ClassifyPad(Pad : IPCB_Pad;
Var TargetHole : TCoord;
Var TargetSize : TCoord) : Integer;
Begin
{ Migrate exact target pairs produced by older script versions. }
If PadIsReady(Pad, MMsToCoord(0.9), MMsToCoord(2.0)) Then
Begin
TargetHole := MMsToCoord(0.9);
TargetSize := MMsToCoord(1.7);
Result := CLASS_03;
Exit;
End;
If PadIsReady(Pad, MMsToCoord(1.3), MMsToCoord(2.5)) Then
Begin
TargetHole := MMsToCoord(1.3);
TargetSize := MMsToCoord(2.1);
Result := CLASS_08;
Exit;
End;
If PadIsReady(Pad, MMsToCoord(2.0), MMsToCoord(3.5)) Then
Begin
TargetHole := MMsToCoord(2.0);
TargetSize := MMsToCoord(2.8);
Result := CLASS_12;
Exit;
End;
Result := ClassifyHole(Pad.HoleSize, TargetHole, TargetSize);
End;
Procedure AnalyzeOnePad(Pad : IPCB_Pad; IsInFootprint : Boolean);
Var
PadClass : Integer;
TargetHole : TCoord;
TargetSize : TCoord;
Begin
{ HoleSize = 0 means an SMD pad. It must remain untouched. }
If Pad.HoleSize <= 0 Then
Exit;
Inc(GTotalDrilledPads);
If IsInFootprint Then
Inc(GFootprintPads);
If Not Pad.Plated Then
Begin
Inc(GSkippedNonPlated);
Exit;
End;
If PadHasNoAnnularRing(Pad) Then
Begin
Inc(GSkippedNoRing);
Exit;
End;
PadClass := ClassifyPad(Pad, TargetHole, TargetSize);
If PadClass = CLASS_NONE Then
Inc(GSkippedLarge)
Else If PadMatchesKnownTemplate(Pad) Then
Inc(GAlreadyReady)
Else If PadClass = CLASS_03 Then
Inc(GChange03)
Else If PadClass = CLASS_08 Then
Inc(GChange08)
Else If PadClass = CLASS_12 Then
Inc(GChange12);
End;
Procedure AnalyzeBoard(Board : IPCB_Board);
Var
Iterator : IPCB_BoardIterator;
ComponentIterator : IPCB_BoardIterator;
GroupIterator : IPCB_GroupIterator;
Via : IPCB_Via;
Pad : IPCB_Pad;
Component : IPCB_Component;
Begin
ResetCounts;
{ First process free vias placed directly on the board. }
Iterator := Board.BoardIterator_Create;
Iterator.AddFilter_ObjectSet(MkSet(eViaObject));
Iterator.AddFilter_LayerSet(AllLayers);
Iterator.AddFilter_Method(eProcessAll);
Try
Via := Iterator.FirstPCBObject;
While Via <> Nil Do
Begin
If Not Via.InComponent Then
AnalyzeOneVia(Via, False);
Via := Iterator.NextPCBObject;
End;
Finally
Board.BoardIterator_Destroy(Iterator);
End;
{ Process free drilled pads placed directly on the board. }
Iterator := Board.BoardIterator_Create;
Iterator.AddFilter_ObjectSet(MkSet(ePadObject));
Iterator.AddFilter_LayerSet(AllLayers);
Iterator.AddFilter_Method(eProcessAll);
Try
Pad := Iterator.FirstPCBObject;
While Pad <> Nil Do
Begin
If Not Pad.InComponent Then
AnalyzeOnePad(Pad, False);
Pad := Iterator.NextPCBObject;
End;
Finally
Board.BoardIterator_Destroy(Iterator);
End;
{ Board iterators do not expose component child primitives consistently
across Altium versions. Walk each footprint explicitly. }
ComponentIterator := Board.BoardIterator_Create;
ComponentIterator.AddFilter_ObjectSet(MkSet(eComponentObject));
ComponentIterator.AddFilter_LayerSet(AllLayers);
ComponentIterator.AddFilter_Method(eProcessAll);
Try
Component := ComponentIterator.FirstPCBObject;
While Component <> Nil Do
Begin
GroupIterator := Component.GroupIterator_Create;
GroupIterator.AddFilter_ObjectSet(MkSet(eViaObject));
Try
Via := GroupIterator.FirstPCBObject;
While Via <> Nil Do
Begin
AnalyzeOneVia(Via, True);
Via := GroupIterator.NextPCBObject;
End;
Finally
Component.GroupIterator_Destroy(GroupIterator);
End;
GroupIterator := Component.GroupIterator_Create;
GroupIterator.AddFilter_ObjectSet(MkSet(ePadObject));
Try
Pad := GroupIterator.FirstPCBObject;
While Pad <> Nil Do
Begin
AnalyzeOnePad(Pad, True);
Pad := GroupIterator.NextPCBObject;
End;
Finally
Component.GroupIterator_Destroy(GroupIterator);
End;
Component := ComponentIterator.NextPCBObject;
End;
Finally
Board.BoardIterator_Destroy(ComponentIterator);
End;
End;
Function ChangesCount : Integer;
Begin
Result := GChange03 + GChange08 + GChange12;
End;
Function BuildSummary : String;
Begin
Result :=
'Rivet hole analysis' + #13#10 + #13#10 +
'All vias: ' + IntToStr(GTotalVias) + #13#10 +
'Vias inside footprints: ' + IntToStr(GFootprintVias) + #13#10 +
'All drilled pads: ' + IntToStr(GTotalDrilledPads) + #13#10 +
'Drilled pads inside footprints: ' + IntToStr(GFootprintPads) + #13#10 +
'Will set 1.7 / 0.9 mm: ' + IntToStr(GChange03) + #13#10 +
'Will set 2.1 / 1.3 mm: ' + IntToStr(GChange08) + #13#10 +
'Will set 2.8 / 2.0 mm: ' + IntToStr(GChange12) + #13#10 +
'Already ready: ' + IntToStr(GAlreadyReady) + #13#10 +
'Skipped, no annular ring: ' + IntToStr(GSkippedNoRing) + #13#10 +
'Skipped, non-plated pad: ' + IntToStr(GSkippedNonPlated) + #13#10 +
'Skipped, unsupported hole: ' + IntToStr(GSkippedLarge) + #13#10 +
'Skipped, blind/buried via: ' + IntToStr(GSkippedNotThru);
End;
Function ApplyOneVia(Via : IPCB_Via) : Boolean;
Var
ViaClass : Integer;
TargetHole : TCoord;
TargetSize : TCoord;
Begin
Result := False;
If ViaHasNoAnnularRing(Via) Then
Exit;
If ViaMatchesKnownTemplate(Via) Then
Exit;
ViaClass := ClassifyVia(Via, TargetHole, TargetSize);
If (ViaClass >= CLASS_03) And (ViaClass <= CLASS_12) And
(Not (CoordIsNear(Via.HoleSize, TargetHole) And
CoordIsNear(Via.Size, TargetSize))) Then
Begin
PCBServer.SendMessageToRobots(
Via.I_ObjectAddress,
c_Broadcast,
PCBM_BeginModify,
c_NoEventData);
Try
Via.HoleSize := TargetHole;
Via.Size := TargetSize;
Finally
PCBServer.SendMessageToRobots(
Via.I_ObjectAddress,
c_Broadcast,
PCBM_EndModify,
c_NoEventData);
End;
Result := True;
End;
End;
Function ApplyOnePad(Pad : IPCB_Pad) : Boolean;
Var
PadClass : Integer;
TargetHole : TCoord;
TargetSize : TCoord;
Begin
Result := False;
If Pad.HoleSize <= 0 Then
Exit;
If Not Pad.Plated Then
Exit;
If PadHasNoAnnularRing(Pad) Then
Exit;
If PadMatchesKnownTemplate(Pad) Then
Exit;
PadClass := ClassifyPad(Pad, TargetHole, TargetSize);
If (PadClass >= CLASS_03) And (PadClass <= CLASS_12) And
(Not PadIsReady(Pad, TargetHole, TargetSize)) Then
Begin
PCBServer.SendMessageToRobots(
Pad.I_ObjectAddress,
c_Broadcast,
PCBM_BeginModify,
c_NoEventData);
Try
Pad.HoleSize := TargetHole;
Pad.TopXSize := TargetSize;
Pad.TopYSize := TargetSize;
Pad.MidXSize := TargetSize;
Pad.MidYSize := TargetSize;
Pad.BotXSize := TargetSize;
Pad.BotYSize := TargetSize;
Finally
PCBServer.SendMessageToRobots(
Pad.I_ObjectAddress,
c_Broadcast,
PCBM_EndModify,
c_NoEventData);
End;
Result := True;
End;
End;
Function FindIsolationRule(Board : IPCB_Board;
RuleName : String) : IPCB_ClearanceConstraint;
Var
Iterator : IPCB_BoardIterator;
Rule : IPCB_Rule;
Begin
Result := Nil;
Iterator := Board.BoardIterator_Create;
Iterator.AddFilter_ObjectSet(MkSet(eRuleObject));
Iterator.AddFilter_LayerSet(AllLayers);
Iterator.AddFilter_Method(eProcessAll);
Try
Rule := Iterator.FirstPCBObject;
While Rule <> Nil Do
Begin
If (Rule.RuleKind = eRule_Clearance) And
(Rule.Name = RuleName) Then
Begin
Result := Rule;
Exit;
End;
Rule := Iterator.NextPCBObject;
End;
Finally
Board.BoardIterator_Destroy(Iterator);
End;
End;
Function ScopeIsAll(ScopeExpression : String) : Boolean;
Var
S : String;
Begin
S := UpperCase(Trim(ScopeExpression));
Result := (S = 'ALL') Or (S = '');
End;
Function FindDefaultClearance(Board : IPCB_Board;
Var DefaultGap : TCoord) : Boolean;
Var
Iterator : IPCB_BoardIterator;
Rule : IPCB_Rule;
ClearanceRule : IPCB_ClearanceConstraint;
Begin
Result := False;
DefaultGap := 0;
Iterator := Board.BoardIterator_Create;
Iterator.AddFilter_ObjectSet(MkSet(eRuleObject));
Iterator.AddFilter_LayerSet(AllLayers);
Iterator.AddFilter_Method(eProcessAll);
Try
{ Rule iterators follow the board's rule order. The first enabled
All/All clearance rule is therefore the active default rule. }
Rule := Iterator.FirstPCBObject;
While Rule <> Nil Do
Begin
If (Rule.RuleKind = eRule_Clearance) And
Rule.DRCEnabled And
ScopeIsAll(Rule.Scope1Expression) And
ScopeIsAll(Rule.Scope2Expression) Then
Begin
ClearanceRule := Rule;
DefaultGap := ClearanceRule.Gap;
Result := True;
Exit;
End;
Rule := Iterator.NextPCBObject;
End;
Finally
Board.BoardIterator_Destroy(Iterator);
End;
End;
Procedure RemoveIsolationRuleIfPresent(Board : IPCB_Board;
RuleName : String);
Var
Rule : IPCB_ClearanceConstraint;
Begin
Rule := FindIsolationRule(Board, RuleName);
If Rule <> Nil Then
Begin
Board.RemovePCBObject(Rule);
Inc(GRulesRemoved);
End;
End;
Function BuildIsolationScope(HoleMM, CopperMM : String) : String;
Begin
Result :=
'((IsVia And (AsMM(HoleSize) = ' + HoleMM + ') And ' +
'(AsMM(ViaDiameter) = ' + CopperMM + ')) Or ' +
'(IsPad And (PadIsPlated = ''True'') And ' +
'(AsMM(HoleSize) = ' + HoleMM + ') And ' +
'(AsMM(PadXSize_TopLayer) = ' + CopperMM + ') And ' +
'(AsMM(PadYSize_TopLayer) = ' + CopperMM + ')))';
End;
Procedure EnsureIsolationRule(Board : IPCB_Board;
RuleName : String;
HoleMM : String;
CopperMM : String;
IsolationGap : TCoord;
DefaultFound : Boolean;
DefaultGap : TCoord);
Var
Rule : IPCB_ClearanceConstraint;
Begin
If DefaultFound And (DefaultGap >= IsolationGap) Then
Begin
RemoveIsolationRuleIfPresent(Board, RuleName);
Inc(GRulesNotNeeded);
Exit;
End;
Rule := FindIsolationRule(Board, RuleName);
If Rule = Nil Then
Begin
Rule := PCBServer.PCBRuleFactory(eRule_Clearance);
PCBServer.SendMessageToRobots(
Rule.I_ObjectAddress,
c_Broadcast,
PCBM_BeginModify,
c_NoEventData);
Try
Rule.Name := RuleName;
Rule.Comment :=
'Rivet routing/polygon isolation. Pads and vias use normal clearance.';
Rule.DRCEnabled := True;
Rule.Scope1Expression := BuildIsolationScope(HoleMM, CopperMM);
Rule.Scope2Expression :=
'IsTrack Or IsArc Or IsFill Or IsRegion Or InPolygon';
Rule.Gap := IsolationGap;
Board.AddPCBObject(Rule);
Finally
PCBServer.SendMessageToRobots(
Rule.I_ObjectAddress,
c_Broadcast,
PCBM_EndModify,
c_NoEventData);
End;
Inc(GRulesCreated);
End
Else
Begin
PCBServer.SendMessageToRobots(
Rule.I_ObjectAddress,
c_Broadcast,
PCBM_BeginModify,
c_NoEventData);
Try
Rule.Comment :=
'Rivet routing/polygon isolation. Pads and vias use normal clearance.';
Rule.DRCEnabled := True;
Rule.Scope1Expression := BuildIsolationScope(HoleMM, CopperMM);
Rule.Scope2Expression :=
'IsTrack Or IsArc Or IsFill Or IsRegion Or InPolygon';
Rule.Gap := IsolationGap;
Finally
PCBServer.SendMessageToRobots(
Rule.I_ObjectAddress,
c_Broadcast,
PCBM_EndModify,
c_NoEventData);
End;
Inc(GRulesUpdated);
End;
End;
Procedure EnsureIsolationRules(Board : IPCB_Board);
Begin
GRulesCreated := 0;
GRulesUpdated := 0;
GRulesRemoved := 0;
GRulesNotNeeded := 0;
GDefaultRuleFound := FindDefaultClearance(Board, GDefaultClearance);
{ Overall isolation diameters are 2.2, 2.7 and 3.7 mm.
Gap is measured from the copper edge, hence (zone - copper) / 2. }
EnsureIsolationRule(Board, 'RIVET_03_RoutingIsolation',
'0.9', '1.7', MMsToCoord(0.25),
GDefaultRuleFound, GDefaultClearance);
EnsureIsolationRule(Board, 'RIVET_11_RoutingIsolation',
'1.3', '2.1', MMsToCoord(0.30),
GDefaultRuleFound, GDefaultClearance);
EnsureIsolationRule(Board, 'RIVET_GT11_RoutingIsolation',
'2.0', '2.8', MMsToCoord(0.45),
GDefaultRuleFound, GDefaultClearance);
End;
Function ApplyChanges(Board : IPCB_Board) : Integer;
Var
Iterator : IPCB_BoardIterator;
ComponentIterator : IPCB_BoardIterator;
GroupIterator : IPCB_GroupIterator;
Via : IPCB_Via;
Pad : IPCB_Pad;
Component : IPCB_Component;
Begin
Result := 0;
PCBServer.PreProcess;
Try
Iterator := Board.BoardIterator_Create;
Iterator.AddFilter_ObjectSet(MkSet(eViaObject));
Iterator.AddFilter_LayerSet(AllLayers);
Iterator.AddFilter_Method(eProcessAll);
Try
Via := Iterator.FirstPCBObject;
While Via <> Nil Do
Begin
If (Not Via.InComponent) And ApplyOneVia(Via) Then
Inc(Result);
Via := Iterator.NextPCBObject;
End;
Finally
Board.BoardIterator_Destroy(Iterator);
End;
{ Process free drilled pads. }
Iterator := Board.BoardIterator_Create;
Iterator.AddFilter_ObjectSet(MkSet(ePadObject));
Iterator.AddFilter_LayerSet(AllLayers);
Iterator.AddFilter_Method(eProcessAll);
Try
Pad := Iterator.FirstPCBObject;
While Pad <> Nil Do
Begin
If (Not Pad.InComponent) And ApplyOnePad(Pad) Then
Inc(Result);
Pad := Iterator.NextPCBObject;
End;
Finally
Board.BoardIterator_Destroy(Iterator);
End;
{ Process vias and drilled pads embedded in placed footprints. }
ComponentIterator := Board.BoardIterator_Create;
ComponentIterator.AddFilter_ObjectSet(MkSet(eComponentObject));
ComponentIterator.AddFilter_LayerSet(AllLayers);
ComponentIterator.AddFilter_Method(eProcessAll);
Try
Component := ComponentIterator.FirstPCBObject;
While Component <> Nil Do
Begin
GroupIterator := Component.GroupIterator_Create;
GroupIterator.AddFilter_ObjectSet(MkSet(eViaObject));
Try
Via := GroupIterator.FirstPCBObject;
While Via <> Nil Do
Begin
If ApplyOneVia(Via) Then
Inc(Result);
Via := GroupIterator.NextPCBObject;
End;
Finally
Component.GroupIterator_Destroy(GroupIterator);
End;
GroupIterator := Component.GroupIterator_Create;
GroupIterator.AddFilter_ObjectSet(MkSet(ePadObject));
Try
Pad := GroupIterator.FirstPCBObject;
While Pad <> Nil Do
Begin
If ApplyOnePad(Pad) Then
Inc(Result);
Pad := GroupIterator.NextPCBObject;
End;
Finally
Component.GroupIterator_Destroy(GroupIterator);
End;
Component := ComponentIterator.NextPCBObject;
End;
Finally
Board.BoardIterator_Destroy(ComponentIterator);
End;
EnsureIsolationRules(Board);
Finally
PCBServer.PostProcess;
End;
Client.SendMessage('PCB:Zoom', 'Action=Redraw', 255, Client.CurrentView);
End;
Procedure AnalyzeVias;
Var
Board : IPCB_Board;
Begin
Board := PCBServer.GetCurrentPCBBoard;
If Board = Nil Then
Begin
ShowMessage('Open and focus a PCB document first.');
Exit;
End;
AnalyzeBoard(Board);
ShowMessage(BuildSummary);
End;
Procedure ConvertViasToRivets;
Var
Board : IPCB_Board;
ChangedCount : Integer;
Prompt : String;
ResultMessage : String;
Begin
Board := PCBServer.GetCurrentPCBBoard;
If Board = Nil Then
Begin
ShowMessage('Open and focus a PCB document first.');
Exit;
End;
AnalyzeBoard(Board);
Prompt := BuildSummary + #13#10 + #13#10;
If ChangesCount = 0 Then
Prompt := Prompt + 'Object sizes are ready. Isolation rules will still be reconciled.' +
#13#10;
Prompt := Prompt +
'Press OK to modify the board and reconcile isolation rules,' +
#13#10 + 'or Cancel to stop.';
If MessageDlg(Prompt, mtConfirmation, mbOKCancel, 0) = mrCancel Then
Exit;
ChangedCount := ApplyChanges(Board);
ResultMessage :=
'Done. Modified vias/pads: ' + IntToStr(ChangedCount) +
#13#10 + 'Isolation rules created: ' + IntToStr(GRulesCreated) +
#13#10 + 'Isolation rules updated: ' + IntToStr(GRulesUpdated) +
#13#10 + 'Isolation rules removed: ' + IntToStr(GRulesRemoved) +
#13#10 + 'Groups covered by default clearance: ' +
IntToStr(GRulesNotNeeded);
If GDefaultRuleFound Then
ResultMessage := ResultMessage + #13#10 +
'Default clearance: ' + FloatToStr(CoordToMMs(GDefaultClearance)) + ' mm'
Else
ResultMessage := ResultMessage + #13#10 +
'Default All/All clearance rule was not found.';
ResultMessage := ResultMessage + #13#10 +
'Use Undo to revert the complete operation.';
ShowMessage(ResultMessage);
End;

BIN
PCB/gerber.Cam Normal file

Binary file not shown.

BIN
PCB/nc_drills.Cam Normal file

Binary file not shown.