diff --git a/docs/assets/niz-exploded.png b/docs/assets/niz-exploded.png new file mode 100644 index 0000000..de107c5 Binary files /dev/null and b/docs/assets/niz-exploded.png differ diff --git a/docs/docs/niz-switches.md b/docs/docs/niz-switches.md new file mode 100644 index 0000000..c1a5d94 --- /dev/null +++ b/docs/docs/niz-switches.md @@ -0,0 +1,49 @@ +# NIZ Switches + +Warning: These are not traditional 2 leg switches. + +![A model imported into OnShape](../assets/niz-exploded.png) + +These switches use a halleffect sensor attached to the socket and a magnet attached to the rubber dome to detect key presses. They are along the lines of [Topre switches](https://deskthority.net/wiki/Topre_switch). These do not have a physical switch. These switches are classified as tactile (depending on the rubber dome used) and are pretty quiet. The rubber dome helps dampen the bottoming out of the keypress as well. + +Traditionally, thses switches have been used with capacitive switches, but this article does not cover using capacitive sensors. + +## Wiring Warning + +Only been able to get direct pin wiring to work. It did not work for me in a traditional matrix (columns and rows) setup. You will have to make sure you have enough GPIOs for direct wiring. + +QMK: You can't [mix and match direct pin and matrix wiring](https://docs.qmk.fm/porting_your_keyboard_to_qmk#direct-pin-matrix). Not sure about other firmware. + +If you find a way to get matrix wiring to work, please share how you did it on the Cosmos Discord. + +## Tested Combinations + +- [Beekeeb NIZ Switch](https://shop.beekeeb.com/product/niz-ec-switch/) is where the items were purchased for modeling these switches. You may or may not have luck with components from elsewhere. +- [AH3572 Halleffect Switch](https://www.mouser.com/ProductDetail/Diodes-Incorporated/AH3572-P-B?qs=qSfuJ%252Bfl/d5Je7Vb/Cw%252B6g%3D%3D) +- [2mm x 1mm Disc Magnets](https://www.amazon.com/JUNAN-Neodymium-Magnet-Earth-Magnets/dp/B09V14FGQF) + +## Halleffect Sensors + +Halleffect sensors detect magnetic fields. So to detect keypresses, we pair a small magnet with a halleffect sensor. + +There are many varieties of halleffect sensors, but they fall into two main categories: binary/switch/ output (on/off) and analog (integer value). + +The sensors have 3 legs: Vcc (power), Gnd (ground), and output (high/low or analog) + +### Switch Style Sensors + +Switch style sensors are going to be easier to implement with keyboard software since the output is just like any other switch, high or low. You may try other switches if you want a different travel before activation to suit your preferences. + +### Analog Style Sensors + +Analog style sensors are a bit more complicated since you need to use an ADC (Analog to Digital Converter) to read the sensor value. Then you will have to interpret key activations and releases based on the readings. This does allow you to potentially tune the switches to your liking, but make sure you know how to accomplish this with your keyboard firmware (e.g. QMK) and that you have enough ADC inputs to support your needs. + +## Assembly + +1. Wire the halleffect sensors ([AH3572 Datasheet](https://www.mouser.com/datasheet/2/115/DIOD_S_A0006646941_1-2542859.pdf)). +1. Attach the halleffect sensor to the case. Hotglue works well. +1. (Optional) If you have a spring, put the spring into the socket. +1. Attach the magnet to the rubber dome. +1. Put the rubber dome with magnet into the socket. +1. Put the stem on the rubber dome. +1. Press the housing into the socket. It may be a tight fit. diff --git a/src/assets/key-niz.step b/src/assets/key-niz.step new file mode 100644 index 0000000..2e7a800 --- /dev/null +++ b/src/assets/key-niz.step @@ -0,0 +1,1703 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('FreeCAD Model'),'2;1'); +FILE_NAME('Open CASCADE Shape Model','2025-01-16T20:27:59',('Author'),( + ''),'Open CASCADE STEP processor 7.8','FreeCAD','Unknown'); +FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); +ENDSEC; +DATA; +#1 = APPLICATION_PROTOCOL_DEFINITION('international standard', + 'automotive_design',2000,#2); +#2 = APPLICATION_CONTEXT( + 'core data for automotive mechanical design processes'); +#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); +#4 = PRODUCT_DEFINITION_SHAPE('','',#5); +#5 = PRODUCT_DEFINITION('design','',#6,#9); +#6 = PRODUCT_DEFINITION_FORMATION('','',#7); +#7 = PRODUCT('niz_switch','niz_switch','',(#8)); +#8 = PRODUCT_CONTEXT('',#2,'mechanical'); +#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#10 = SHAPE_REPRESENTATION('',(#11,#15,#19),#23); +#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 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#27)) GLOBAL_UNIT_ASSIGNED_CONTEXT( +(#24,#25,#26)) REPRESENTATION_CONTEXT('Context #1', + '3D Context with UNIT and UNCERTAINTY') ); +#24 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#25 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#26 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#27 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(5.E-06),#24, + 'distance_accuracy_value','confusion accuracy'); +#28 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); +#29 = SHAPE_DEFINITION_REPRESENTATION(#30,#36); +#30 = PRODUCT_DEFINITION_SHAPE('','',#31); +#31 = PRODUCT_DEFINITION('design','',#32,#35); +#32 = PRODUCT_DEFINITION_FORMATION('','',#33); +#33 = PRODUCT('Socket','Socket','',(#34)); +#34 = PRODUCT_CONTEXT('',#2,'mechanical'); +#35 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#36 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#37),#1005); +#37 = MANIFOLD_SOLID_BREP('',#38); +#38 = CLOSED_SHELL('',(#39,#79,#110,#141,#210,#327,#339,#370,#402,#426, + #451,#482,#506,#530,#554,#578,#603,#627,#651,#675,#699,#723,#741, + #772,#823,#895,#917,#939,#956,#973,#989)); +#39 = ADVANCED_FACE('',(#40),#74,.F.); +#40 = FACE_BOUND('',#41,.F.); +#41 = EDGE_LOOP('',(#42,#52,#60,#68)); +#42 = ORIENTED_EDGE('',*,*,#43,.T.); +#43 = EDGE_CURVE('',#44,#46,#48,.T.); +#44 = VERTEX_POINT('',#45); +#45 = CARTESIAN_POINT('',(-9.,-9.,-6.5)); +#46 = VERTEX_POINT('',#47); +#47 = CARTESIAN_POINT('',(-9.,-9.,0.)); +#48 = LINE('',#49,#50); +#49 = CARTESIAN_POINT('',(-9.,-9.,-6.5)); +#50 = VECTOR('',#51,1.); +#51 = DIRECTION('',(0.,0.,1.)); +#52 = ORIENTED_EDGE('',*,*,#53,.T.); +#53 = EDGE_CURVE('',#46,#54,#56,.T.); +#54 = VERTEX_POINT('',#55); +#55 = CARTESIAN_POINT('',(9.,-9.,0.)); +#56 = LINE('',#57,#58); +#57 = CARTESIAN_POINT('',(-9.,-9.,0.)); +#58 = VECTOR('',#59,1.); +#59 = DIRECTION('',(1.,0.,0.)); +#60 = ORIENTED_EDGE('',*,*,#61,.F.); +#61 = EDGE_CURVE('',#62,#54,#64,.T.); +#62 = VERTEX_POINT('',#63); +#63 = CARTESIAN_POINT('',(9.,-9.,-6.5)); +#64 = LINE('',#65,#66); +#65 = CARTESIAN_POINT('',(9.,-9.,-6.5)); +#66 = VECTOR('',#67,1.); +#67 = DIRECTION('',(0.,0.,1.)); +#68 = ORIENTED_EDGE('',*,*,#69,.F.); +#69 = EDGE_CURVE('',#44,#62,#70,.T.); +#70 = LINE('',#71,#72); +#71 = CARTESIAN_POINT('',(-9.,-9.,-6.5)); +#72 = VECTOR('',#73,1.); +#73 = DIRECTION('',(1.,0.,0.)); +#74 = PLANE('',#75); +#75 = AXIS2_PLACEMENT_3D('',#76,#77,#78); +#76 = CARTESIAN_POINT('',(-9.,-9.,-6.5)); +#77 = DIRECTION('',(0.,1.,0.)); +#78 = DIRECTION('',(1.,0.,0.)); +#79 = ADVANCED_FACE('',(#80),#105,.F.); +#80 = FACE_BOUND('',#81,.F.); +#81 = EDGE_LOOP('',(#82,#92,#98,#99)); +#82 = ORIENTED_EDGE('',*,*,#83,.T.); +#83 = EDGE_CURVE('',#84,#86,#88,.T.); +#84 = VERTEX_POINT('',#85); +#85 = CARTESIAN_POINT('',(-9.,9.,-6.5)); +#86 = VERTEX_POINT('',#87); +#87 = CARTESIAN_POINT('',(-9.,9.,0.)); +#88 = LINE('',#89,#90); +#89 = CARTESIAN_POINT('',(-9.,9.,-6.5)); +#90 = VECTOR('',#91,1.); +#91 = DIRECTION('',(0.,0.,1.)); +#92 = ORIENTED_EDGE('',*,*,#93,.T.); +#93 = EDGE_CURVE('',#86,#46,#94,.T.); +#94 = LINE('',#95,#96); +#95 = CARTESIAN_POINT('',(-9.,9.,0.)); +#96 = VECTOR('',#97,1.); +#97 = DIRECTION('',(0.,-1.,0.)); +#98 = ORIENTED_EDGE('',*,*,#43,.F.); +#99 = ORIENTED_EDGE('',*,*,#100,.F.); +#100 = EDGE_CURVE('',#84,#44,#101,.T.); +#101 = LINE('',#102,#103); +#102 = CARTESIAN_POINT('',(-9.,9.,-6.5)); +#103 = VECTOR('',#104,1.); +#104 = DIRECTION('',(0.,-1.,0.)); +#105 = PLANE('',#106); +#106 = AXIS2_PLACEMENT_3D('',#107,#108,#109); +#107 = CARTESIAN_POINT('',(-9.,9.,-6.5)); +#108 = DIRECTION('',(1.,0.,0.)); +#109 = DIRECTION('',(0.,-1.,0.)); +#110 = ADVANCED_FACE('',(#111),#136,.F.); +#111 = FACE_BOUND('',#112,.F.); +#112 = EDGE_LOOP('',(#113,#114,#122,#130)); +#113 = ORIENTED_EDGE('',*,*,#61,.T.); +#114 = ORIENTED_EDGE('',*,*,#115,.T.); +#115 = EDGE_CURVE('',#54,#116,#118,.T.); +#116 = VERTEX_POINT('',#117); +#117 = CARTESIAN_POINT('',(9.,9.,0.)); +#118 = LINE('',#119,#120); +#119 = CARTESIAN_POINT('',(9.,-9.,0.)); +#120 = VECTOR('',#121,1.); +#121 = DIRECTION('',(0.,1.,0.)); +#122 = ORIENTED_EDGE('',*,*,#123,.F.); +#123 = EDGE_CURVE('',#124,#116,#126,.T.); +#124 = VERTEX_POINT('',#125); +#125 = CARTESIAN_POINT('',(9.,9.,-6.5)); +#126 = LINE('',#127,#128); +#127 = CARTESIAN_POINT('',(9.,9.,-6.5)); +#128 = VECTOR('',#129,1.); +#129 = DIRECTION('',(0.,0.,1.)); +#130 = ORIENTED_EDGE('',*,*,#131,.F.); +#131 = EDGE_CURVE('',#62,#124,#132,.T.); +#132 = LINE('',#133,#134); +#133 = CARTESIAN_POINT('',(9.,-9.,-6.5)); +#134 = VECTOR('',#135,1.); +#135 = DIRECTION('',(0.,1.,0.)); +#136 = PLANE('',#137); +#137 = AXIS2_PLACEMENT_3D('',#138,#139,#140); +#138 = CARTESIAN_POINT('',(9.,-9.,-6.5)); +#139 = DIRECTION('',(-1.,0.,0.)); +#140 = DIRECTION('',(0.,1.,0.)); +#141 = ADVANCED_FACE('',(#142,#153),#205,.F.); +#142 = FACE_BOUND('',#143,.F.); +#143 = EDGE_LOOP('',(#144,#145,#146,#152)); +#144 = ORIENTED_EDGE('',*,*,#69,.T.); +#145 = ORIENTED_EDGE('',*,*,#131,.T.); +#146 = ORIENTED_EDGE('',*,*,#147,.T.); +#147 = EDGE_CURVE('',#124,#84,#148,.T.); +#148 = LINE('',#149,#150); +#149 = CARTESIAN_POINT('',(9.,9.,-6.5)); +#150 = VECTOR('',#151,1.); +#151 = DIRECTION('',(-1.,0.,0.)); +#152 = ORIENTED_EDGE('',*,*,#100,.T.); +#153 = FACE_BOUND('',#154,.F.); +#154 = EDGE_LOOP('',(#155,#165,#173,#182,#190,#199)); +#155 = ORIENTED_EDGE('',*,*,#156,.F.); +#156 = EDGE_CURVE('',#157,#159,#161,.T.); +#157 = VERTEX_POINT('',#158); +#158 = CARTESIAN_POINT('',(-2.15,-2.5,-6.5)); +#159 = VERTEX_POINT('',#160); +#160 = CARTESIAN_POINT('',(-2.15,2.5,-6.5)); +#161 = LINE('',#162,#163); +#162 = CARTESIAN_POINT('',(-2.15,-1.25,-6.5)); +#163 = VECTOR('',#164,1.); +#164 = DIRECTION('',(0.,1.,0.)); +#165 = ORIENTED_EDGE('',*,*,#166,.F.); +#166 = EDGE_CURVE('',#167,#157,#169,.T.); +#167 = VERTEX_POINT('',#168); +#168 = CARTESIAN_POINT('',(-5.125,-2.5,-6.5)); +#169 = LINE('',#170,#171); +#170 = CARTESIAN_POINT('',(-2.5625,-2.5,-6.5)); +#171 = VECTOR('',#172,1.); +#172 = DIRECTION('',(1.,0.,0.)); +#173 = ORIENTED_EDGE('',*,*,#174,.F.); +#174 = EDGE_CURVE('',#175,#167,#177,.T.); +#175 = VERTEX_POINT('',#176); +#176 = CARTESIAN_POINT('',(-5.875,-1.75,-6.5)); +#177 = CIRCLE('',#178,0.75); +#178 = AXIS2_PLACEMENT_3D('',#179,#180,#181); +#179 = CARTESIAN_POINT('',(-5.125,-1.75,-6.5)); +#180 = DIRECTION('',(0.,0.,1.)); +#181 = DIRECTION('',(1.,0.,0.)); +#182 = ORIENTED_EDGE('',*,*,#183,.F.); +#183 = EDGE_CURVE('',#184,#175,#186,.T.); +#184 = VERTEX_POINT('',#185); +#185 = CARTESIAN_POINT('',(-5.875,1.75,-6.5)); +#186 = LINE('',#187,#188); +#187 = CARTESIAN_POINT('',(-5.875,0.875,-6.5)); +#188 = VECTOR('',#189,1.); +#189 = DIRECTION('',(0.,-1.,0.)); +#190 = ORIENTED_EDGE('',*,*,#191,.F.); +#191 = EDGE_CURVE('',#192,#184,#194,.T.); +#192 = VERTEX_POINT('',#193); +#193 = CARTESIAN_POINT('',(-5.125,2.5,-6.5)); +#194 = CIRCLE('',#195,0.75); +#195 = AXIS2_PLACEMENT_3D('',#196,#197,#198); +#196 = CARTESIAN_POINT('',(-5.125,1.75,-6.5)); +#197 = DIRECTION('',(0.,0.,1.)); +#198 = DIRECTION('',(1.,0.,0.)); +#199 = ORIENTED_EDGE('',*,*,#200,.F.); +#200 = EDGE_CURVE('',#159,#192,#201,.T.); +#201 = LINE('',#202,#203); +#202 = CARTESIAN_POINT('',(-1.075,2.5,-6.5)); +#203 = VECTOR('',#204,1.); +#204 = DIRECTION('',(-1.,0.,0.)); +#205 = PLANE('',#206); +#206 = AXIS2_PLACEMENT_3D('',#207,#208,#209); +#207 = CARTESIAN_POINT('',(0.,0.,-6.5)); +#208 = DIRECTION('',(0.,0.,1.)); +#209 = DIRECTION('',(1.,0.,0.)); +#210 = ADVANCED_FACE('',(#211,#222),#322,.T.); +#211 = FACE_BOUND('',#212,.T.); +#212 = EDGE_LOOP('',(#213,#214,#215,#221)); +#213 = ORIENTED_EDGE('',*,*,#53,.T.); +#214 = ORIENTED_EDGE('',*,*,#115,.T.); +#215 = ORIENTED_EDGE('',*,*,#216,.T.); +#216 = EDGE_CURVE('',#116,#86,#217,.T.); +#217 = LINE('',#218,#219); +#218 = CARTESIAN_POINT('',(9.,9.,0.)); +#219 = VECTOR('',#220,1.); +#220 = DIRECTION('',(-1.,0.,0.)); +#221 = ORIENTED_EDGE('',*,*,#93,.T.); +#222 = FACE_BOUND('',#223,.T.); +#223 = EDGE_LOOP('',(#224,#234,#243,#251,#259,#267,#275,#283,#292,#300, + #308,#316)); +#224 = ORIENTED_EDGE('',*,*,#225,.F.); +#225 = EDGE_CURVE('',#226,#228,#230,.T.); +#226 = VERTEX_POINT('',#227); +#227 = CARTESIAN_POINT('',(-2.25,8.577343666396,0.)); +#228 = VERTEX_POINT('',#229); +#229 = CARTESIAN_POINT('',(-6.779614656161,8.575747289606,0.)); +#230 = LINE('',#231,#232); +#231 = CARTESIAN_POINT('',(-2.25,8.577343666396,0.)); +#232 = VECTOR('',#233,1.); +#233 = DIRECTION('',(-0.999999937896,-3.524310151185E-04,0.)); +#234 = ORIENTED_EDGE('',*,*,#235,.T.); +#235 = EDGE_CURVE('',#226,#236,#238,.T.); +#236 = VERTEX_POINT('',#237); +#237 = CARTESIAN_POINT('',(2.24999999999,8.57734366637,0.)); +#238 = CIRCLE('',#239,2.436038906304); +#239 = AXIS2_PLACEMENT_3D('',#240,#241,#242); +#240 = CARTESIAN_POINT('',(0.,9.511038237992,0.)); +#241 = DIRECTION('',(0.,0.,1.)); +#242 = DIRECTION('',(1.,0.,0.)); +#243 = ORIENTED_EDGE('',*,*,#244,.F.); +#244 = EDGE_CURVE('',#245,#236,#247,.T.); +#245 = VERTEX_POINT('',#246); +#246 = CARTESIAN_POINT('',(6.77867965644,8.577343666368,0.)); +#247 = LINE('',#248,#249); +#248 = CARTESIAN_POINT('',(6.77867965644,8.577343666368,0.)); +#249 = VECTOR('',#250,1.); +#250 = DIRECTION('',(-1.,0.,0.)); +#251 = ORIENTED_EDGE('',*,*,#252,.F.); +#252 = EDGE_CURVE('',#253,#245,#255,.T.); +#253 = VERTEX_POINT('',#254); +#254 = CARTESIAN_POINT('',(8.9,6.456023322808,0.)); +#255 = LINE('',#256,#257); +#256 = CARTESIAN_POINT('',(8.9,6.456023322808,0.)); +#257 = VECTOR('',#258,1.); +#258 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); +#259 = ORIENTED_EDGE('',*,*,#260,.F.); +#260 = EDGE_CURVE('',#261,#253,#263,.T.); +#261 = VERTEX_POINT('',#262); +#262 = CARTESIAN_POINT('',(8.9,-6.451148691889,0.)); +#263 = LINE('',#264,#265); +#264 = CARTESIAN_POINT('',(8.9,-6.451148691889,0.)); +#265 = VECTOR('',#266,1.); +#266 = DIRECTION('',(0.,1.,0.)); +#267 = ORIENTED_EDGE('',*,*,#268,.F.); +#268 = EDGE_CURVE('',#269,#261,#271,.T.); +#269 = VERTEX_POINT('',#270); +#270 = CARTESIAN_POINT('',(6.808462205002,-8.601839197772,0.)); +#271 = LINE('',#272,#273); +#272 = CARTESIAN_POINT('',(6.808462205002,-8.601839197772,0.)); +#273 = VECTOR('',#274,1.); +#274 = DIRECTION('',(0.697179264999,0.716896835294,0.)); +#275 = ORIENTED_EDGE('',*,*,#276,.F.); +#276 = EDGE_CURVE('',#277,#269,#279,.T.); +#277 = VERTEX_POINT('',#278); +#278 = CARTESIAN_POINT('',(2.249999999986,-8.601839197765,0.)); +#279 = LINE('',#280,#281); +#280 = CARTESIAN_POINT('',(2.250000000011,-8.601839197772,0.)); +#281 = VECTOR('',#282,1.); +#282 = DIRECTION('',(1.,0.,0.)); +#283 = ORIENTED_EDGE('',*,*,#284,.T.); +#284 = EDGE_CURVE('',#277,#285,#287,.T.); +#285 = VERTEX_POINT('',#286); +#286 = CARTESIAN_POINT('',(-2.249999999994,-8.574999999997,0.)); +#287 = CIRCLE('',#288,2.42927960595); +#288 = AXIS2_PLACEMENT_3D('',#289,#290,#291); +#289 = CARTESIAN_POINT('',(-5.462074466997E-03,-9.504219513754,0.)); +#290 = DIRECTION('',(0.,0.,1.)); +#291 = DIRECTION('',(1.,0.,0.)); +#292 = ORIENTED_EDGE('',*,*,#293,.F.); +#293 = EDGE_CURVE('',#294,#285,#296,.T.); +#294 = VERTEX_POINT('',#295); +#295 = CARTESIAN_POINT('',(-6.77867965644,-8.575,0.)); +#296 = LINE('',#297,#298); +#297 = CARTESIAN_POINT('',(-6.77867965644,-8.575,0.)); +#298 = VECTOR('',#299,1.); +#299 = DIRECTION('',(1.,0.,0.)); +#300 = ORIENTED_EDGE('',*,*,#301,.F.); +#301 = EDGE_CURVE('',#302,#294,#304,.T.); +#302 = VERTEX_POINT('',#303); +#303 = CARTESIAN_POINT('',(-8.9,-6.45367965644,0.)); +#304 = LINE('',#305,#306); +#305 = CARTESIAN_POINT('',(-8.9,-6.45367965644,0.)); +#306 = VECTOR('',#307,1.); +#307 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); +#308 = ORIENTED_EDGE('',*,*,#309,.F.); +#309 = EDGE_CURVE('',#310,#302,#312,.T.); +#310 = VERTEX_POINT('',#311); +#311 = CARTESIAN_POINT('',(-8.9,6.453492358257,0.)); +#312 = LINE('',#313,#314); +#313 = CARTESIAN_POINT('',(-8.9,6.453492358257,0.)); +#314 = VECTOR('',#315,1.); +#315 = DIRECTION('',(0.,-1.,0.)); +#316 = ORIENTED_EDGE('',*,*,#317,.F.); +#317 = EDGE_CURVE('',#228,#310,#318,.T.); +#318 = LINE('',#319,#320); +#319 = CARTESIAN_POINT('',(-6.779614656161,8.575747289606,0.)); +#320 = VECTOR('',#321,1.); +#321 = DIRECTION('',(-0.706795114613,-0.707418310449,0.)); +#322 = PLANE('',#323); +#323 = AXIS2_PLACEMENT_3D('',#324,#325,#326); +#324 = CARTESIAN_POINT('',(0.,0.,0.)); +#325 = DIRECTION('',(0.,0.,1.)); +#326 = DIRECTION('',(1.,0.,0.)); +#327 = ADVANCED_FACE('',(#328),#334,.F.); +#328 = FACE_BOUND('',#329,.F.); +#329 = EDGE_LOOP('',(#330,#331,#332,#333)); +#330 = ORIENTED_EDGE('',*,*,#123,.T.); +#331 = ORIENTED_EDGE('',*,*,#216,.T.); +#332 = ORIENTED_EDGE('',*,*,#83,.F.); +#333 = ORIENTED_EDGE('',*,*,#147,.F.); +#334 = PLANE('',#335); +#335 = AXIS2_PLACEMENT_3D('',#336,#337,#338); +#336 = CARTESIAN_POINT('',(9.,9.,-6.5)); +#337 = DIRECTION('',(0.,-1.,0.)); +#338 = DIRECTION('',(-1.,0.,0.)); +#339 = ADVANCED_FACE('',(#340),#365,.F.); +#340 = FACE_BOUND('',#341,.F.); +#341 = EDGE_LOOP('',(#342,#352,#358,#359)); +#342 = ORIENTED_EDGE('',*,*,#343,.F.); +#343 = EDGE_CURVE('',#344,#346,#348,.T.); +#344 = VERTEX_POINT('',#345); +#345 = CARTESIAN_POINT('',(-2.15,-2.5,-5.5)); +#346 = VERTEX_POINT('',#347); +#347 = CARTESIAN_POINT('',(-2.15,2.5,-5.5)); +#348 = LINE('',#349,#350); +#349 = CARTESIAN_POINT('',(-2.15,-2.5,-5.5)); +#350 = VECTOR('',#351,1.); +#351 = DIRECTION('',(0.,1.,0.)); +#352 = ORIENTED_EDGE('',*,*,#353,.T.); +#353 = EDGE_CURVE('',#344,#157,#354,.T.); +#354 = LINE('',#355,#356); +#355 = CARTESIAN_POINT('',(-2.15,-2.5,-5.5)); +#356 = VECTOR('',#357,1.); +#357 = DIRECTION('',(-0.,-0.,-1.)); +#358 = ORIENTED_EDGE('',*,*,#156,.T.); +#359 = ORIENTED_EDGE('',*,*,#360,.F.); +#360 = EDGE_CURVE('',#346,#159,#361,.T.); +#361 = LINE('',#362,#363); +#362 = CARTESIAN_POINT('',(-2.15,2.5,-5.5)); +#363 = VECTOR('',#364,1.); +#364 = DIRECTION('',(-0.,-0.,-1.)); +#365 = PLANE('',#366); +#366 = AXIS2_PLACEMENT_3D('',#367,#368,#369); +#367 = CARTESIAN_POINT('',(-2.15,-2.5,-5.5)); +#368 = DIRECTION('',(1.,0.,0.)); +#369 = DIRECTION('',(0.,1.,0.)); +#370 = ADVANCED_FACE('',(#371),#397,.F.); +#371 = FACE_BOUND('',#372,.F.); +#372 = EDGE_LOOP('',(#373,#384,#390,#391)); +#373 = ORIENTED_EDGE('',*,*,#374,.F.); +#374 = EDGE_CURVE('',#375,#377,#379,.T.); +#375 = VERTEX_POINT('',#376); +#376 = CARTESIAN_POINT('',(-5.125,2.5,-5.5)); +#377 = VERTEX_POINT('',#378); +#378 = CARTESIAN_POINT('',(-5.875,1.75,-5.5)); +#379 = CIRCLE('',#380,0.75); +#380 = AXIS2_PLACEMENT_3D('',#381,#382,#383); +#381 = CARTESIAN_POINT('',(-5.125,1.75,-5.5)); +#382 = DIRECTION('',(0.,0.,1.)); +#383 = DIRECTION('',(1.,0.,0.)); +#384 = ORIENTED_EDGE('',*,*,#385,.T.); +#385 = EDGE_CURVE('',#375,#192,#386,.T.); +#386 = LINE('',#387,#388); +#387 = CARTESIAN_POINT('',(-5.125,2.5,-5.5)); +#388 = VECTOR('',#389,1.); +#389 = DIRECTION('',(-0.,-0.,-1.)); +#390 = ORIENTED_EDGE('',*,*,#191,.T.); +#391 = ORIENTED_EDGE('',*,*,#392,.F.); +#392 = EDGE_CURVE('',#377,#184,#393,.T.); +#393 = LINE('',#394,#395); +#394 = CARTESIAN_POINT('',(-5.875,1.75,-5.5)); +#395 = VECTOR('',#396,1.); +#396 = DIRECTION('',(-0.,-0.,-1.)); +#397 = CYLINDRICAL_SURFACE('',#398,0.75); +#398 = AXIS2_PLACEMENT_3D('',#399,#400,#401); +#399 = CARTESIAN_POINT('',(-5.125,1.75,-5.5)); +#400 = DIRECTION('',(0.,0.,1.)); +#401 = DIRECTION('',(1.,0.,0.)); +#402 = ADVANCED_FACE('',(#403),#421,.F.); +#403 = FACE_BOUND('',#404,.F.); +#404 = EDGE_LOOP('',(#405,#413,#414,#415)); +#405 = ORIENTED_EDGE('',*,*,#406,.F.); +#406 = EDGE_CURVE('',#377,#407,#409,.T.); +#407 = VERTEX_POINT('',#408); +#408 = CARTESIAN_POINT('',(-5.875,-1.75,-5.5)); +#409 = LINE('',#410,#411); +#410 = CARTESIAN_POINT('',(-5.875,1.75,-5.5)); +#411 = VECTOR('',#412,1.); +#412 = DIRECTION('',(0.,-1.,0.)); +#413 = ORIENTED_EDGE('',*,*,#392,.T.); +#414 = ORIENTED_EDGE('',*,*,#183,.T.); +#415 = ORIENTED_EDGE('',*,*,#416,.F.); +#416 = EDGE_CURVE('',#407,#175,#417,.T.); +#417 = LINE('',#418,#419); +#418 = CARTESIAN_POINT('',(-5.875,-1.75,-5.5)); +#419 = VECTOR('',#420,1.); +#420 = DIRECTION('',(-0.,-0.,-1.)); +#421 = PLANE('',#422); +#422 = AXIS2_PLACEMENT_3D('',#423,#424,#425); +#423 = CARTESIAN_POINT('',(-5.875,1.75,-5.5)); +#424 = DIRECTION('',(-1.,0.,0.)); +#425 = DIRECTION('',(0.,-1.,0.)); +#426 = ADVANCED_FACE('',(#427),#446,.F.); +#427 = FACE_BOUND('',#428,.F.); +#428 = EDGE_LOOP('',(#429,#438,#439,#440)); +#429 = ORIENTED_EDGE('',*,*,#430,.F.); +#430 = EDGE_CURVE('',#407,#431,#433,.T.); +#431 = VERTEX_POINT('',#432); +#432 = CARTESIAN_POINT('',(-5.125,-2.5,-5.5)); +#433 = CIRCLE('',#434,0.75); +#434 = AXIS2_PLACEMENT_3D('',#435,#436,#437); +#435 = CARTESIAN_POINT('',(-5.125,-1.75,-5.5)); +#436 = DIRECTION('',(0.,0.,1.)); +#437 = DIRECTION('',(1.,0.,0.)); +#438 = ORIENTED_EDGE('',*,*,#416,.T.); +#439 = ORIENTED_EDGE('',*,*,#174,.T.); +#440 = ORIENTED_EDGE('',*,*,#441,.F.); +#441 = EDGE_CURVE('',#431,#167,#442,.T.); +#442 = LINE('',#443,#444); +#443 = CARTESIAN_POINT('',(-5.125,-2.5,-5.5)); +#444 = VECTOR('',#445,1.); +#445 = DIRECTION('',(-0.,-0.,-1.)); +#446 = CYLINDRICAL_SURFACE('',#447,0.75); +#447 = AXIS2_PLACEMENT_3D('',#448,#449,#450); +#448 = CARTESIAN_POINT('',(-5.125,-1.75,-5.5)); +#449 = DIRECTION('',(0.,0.,1.)); +#450 = DIRECTION('',(1.,0.,0.)); +#451 = ADVANCED_FACE('',(#452),#477,.F.); +#452 = FACE_BOUND('',#453,.F.); +#453 = EDGE_LOOP('',(#454,#462,#470,#476)); +#454 = ORIENTED_EDGE('',*,*,#455,.T.); +#455 = EDGE_CURVE('',#226,#456,#458,.T.); +#456 = VERTEX_POINT('',#457); +#457 = CARTESIAN_POINT('',(-2.25,8.577343666396,-4.)); +#458 = LINE('',#459,#460); +#459 = CARTESIAN_POINT('',(-2.25,8.577343666396,0.)); +#460 = VECTOR('',#461,1.); +#461 = DIRECTION('',(-0.,-0.,-1.)); +#462 = ORIENTED_EDGE('',*,*,#463,.T.); +#463 = EDGE_CURVE('',#456,#464,#466,.T.); +#464 = VERTEX_POINT('',#465); +#465 = CARTESIAN_POINT('',(-6.779614656161,8.575747289606,-4.)); +#466 = LINE('',#467,#468); +#467 = CARTESIAN_POINT('',(-2.25,8.577343666396,-4.)); +#468 = VECTOR('',#469,1.); +#469 = DIRECTION('',(-0.999999937896,-3.524310151185E-04,0.)); +#470 = ORIENTED_EDGE('',*,*,#471,.F.); +#471 = EDGE_CURVE('',#228,#464,#472,.T.); +#472 = LINE('',#473,#474); +#473 = CARTESIAN_POINT('',(-6.779614656161,8.575747289606,0.)); +#474 = VECTOR('',#475,1.); +#475 = DIRECTION('',(-0.,-0.,-1.)); +#476 = ORIENTED_EDGE('',*,*,#225,.F.); +#477 = PLANE('',#478); +#478 = AXIS2_PLACEMENT_3D('',#479,#480,#481); +#479 = CARTESIAN_POINT('',(-2.25,8.577343666396,0.)); +#480 = DIRECTION('',(-3.524310151185E-04,0.999999937896,0.)); +#481 = DIRECTION('',(-0.999999937896,-3.524310151185E-04,0.)); +#482 = ADVANCED_FACE('',(#483),#501,.F.); +#483 = FACE_BOUND('',#484,.F.); +#484 = EDGE_LOOP('',(#485,#486,#494,#500)); +#485 = ORIENTED_EDGE('',*,*,#471,.T.); +#486 = ORIENTED_EDGE('',*,*,#487,.T.); +#487 = EDGE_CURVE('',#464,#488,#490,.T.); +#488 = VERTEX_POINT('',#489); +#489 = CARTESIAN_POINT('',(-8.9,6.453492358257,-4.)); +#490 = LINE('',#491,#492); +#491 = CARTESIAN_POINT('',(-6.779614656161,8.575747289606,-4.)); +#492 = VECTOR('',#493,1.); +#493 = DIRECTION('',(-0.706795114613,-0.707418310449,0.)); +#494 = ORIENTED_EDGE('',*,*,#495,.F.); +#495 = EDGE_CURVE('',#310,#488,#496,.T.); +#496 = LINE('',#497,#498); +#497 = CARTESIAN_POINT('',(-8.9,6.453492358257,0.)); +#498 = VECTOR('',#499,1.); +#499 = DIRECTION('',(-0.,-0.,-1.)); +#500 = ORIENTED_EDGE('',*,*,#317,.F.); +#501 = PLANE('',#502); +#502 = AXIS2_PLACEMENT_3D('',#503,#504,#505); +#503 = CARTESIAN_POINT('',(-6.779614656161,8.575747289606,0.)); +#504 = DIRECTION('',(-0.707418310449,0.706795114613,0.)); +#505 = DIRECTION('',(-0.706795114613,-0.707418310449,0.)); +#506 = ADVANCED_FACE('',(#507),#525,.F.); +#507 = FACE_BOUND('',#508,.F.); +#508 = EDGE_LOOP('',(#509,#510,#518,#524)); +#509 = ORIENTED_EDGE('',*,*,#495,.T.); +#510 = ORIENTED_EDGE('',*,*,#511,.T.); +#511 = EDGE_CURVE('',#488,#512,#514,.T.); +#512 = VERTEX_POINT('',#513); +#513 = CARTESIAN_POINT('',(-8.9,-6.45367965644,-4.)); +#514 = LINE('',#515,#516); +#515 = CARTESIAN_POINT('',(-8.9,6.453492358257,-4.)); +#516 = VECTOR('',#517,1.); +#517 = DIRECTION('',(0.,-1.,0.)); +#518 = ORIENTED_EDGE('',*,*,#519,.F.); +#519 = EDGE_CURVE('',#302,#512,#520,.T.); +#520 = LINE('',#521,#522); +#521 = CARTESIAN_POINT('',(-8.9,-6.45367965644,0.)); +#522 = VECTOR('',#523,1.); +#523 = DIRECTION('',(-0.,-0.,-1.)); +#524 = ORIENTED_EDGE('',*,*,#309,.F.); +#525 = PLANE('',#526); +#526 = AXIS2_PLACEMENT_3D('',#527,#528,#529); +#527 = CARTESIAN_POINT('',(-8.9,6.453492358257,0.)); +#528 = DIRECTION('',(-1.,0.,0.)); +#529 = DIRECTION('',(0.,-1.,0.)); +#530 = ADVANCED_FACE('',(#531),#549,.F.); +#531 = FACE_BOUND('',#532,.F.); +#532 = EDGE_LOOP('',(#533,#534,#542,#548)); +#533 = ORIENTED_EDGE('',*,*,#519,.T.); +#534 = ORIENTED_EDGE('',*,*,#535,.T.); +#535 = EDGE_CURVE('',#512,#536,#538,.T.); +#536 = VERTEX_POINT('',#537); +#537 = CARTESIAN_POINT('',(-6.77867965644,-8.575,-4.)); +#538 = LINE('',#539,#540); +#539 = CARTESIAN_POINT('',(-8.9,-6.45367965644,-4.)); +#540 = VECTOR('',#541,1.); +#541 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); +#542 = ORIENTED_EDGE('',*,*,#543,.F.); +#543 = EDGE_CURVE('',#294,#536,#544,.T.); +#544 = LINE('',#545,#546); +#545 = CARTESIAN_POINT('',(-6.77867965644,-8.575,0.)); +#546 = VECTOR('',#547,1.); +#547 = DIRECTION('',(-0.,-0.,-1.)); +#548 = ORIENTED_EDGE('',*,*,#301,.F.); +#549 = PLANE('',#550); +#550 = AXIS2_PLACEMENT_3D('',#551,#552,#553); +#551 = CARTESIAN_POINT('',(-8.9,-6.45367965644,0.)); +#552 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); +#553 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); +#554 = ADVANCED_FACE('',(#555),#573,.F.); +#555 = FACE_BOUND('',#556,.F.); +#556 = EDGE_LOOP('',(#557,#558,#566,#572)); +#557 = ORIENTED_EDGE('',*,*,#543,.T.); +#558 = ORIENTED_EDGE('',*,*,#559,.T.); +#559 = EDGE_CURVE('',#536,#560,#562,.T.); +#560 = VERTEX_POINT('',#561); +#561 = CARTESIAN_POINT('',(-2.249999999994,-8.574999999997,-4.)); +#562 = LINE('',#563,#564); +#563 = CARTESIAN_POINT('',(-6.77867965644,-8.575,-4.)); +#564 = VECTOR('',#565,1.); +#565 = DIRECTION('',(1.,0.,0.)); +#566 = ORIENTED_EDGE('',*,*,#567,.F.); +#567 = EDGE_CURVE('',#285,#560,#568,.T.); +#568 = LINE('',#569,#570); +#569 = CARTESIAN_POINT('',(-2.249999999994,-8.574999999997,0.)); +#570 = VECTOR('',#571,1.); +#571 = DIRECTION('',(-0.,-0.,-1.)); +#572 = ORIENTED_EDGE('',*,*,#293,.F.); +#573 = PLANE('',#574); +#574 = AXIS2_PLACEMENT_3D('',#575,#576,#577); +#575 = CARTESIAN_POINT('',(-6.77867965644,-8.575,0.)); +#576 = DIRECTION('',(0.,-1.,0.)); +#577 = DIRECTION('',(1.,0.,0.)); +#578 = ADVANCED_FACE('',(#579),#598,.T.); +#579 = FACE_BOUND('',#580,.T.); +#580 = EDGE_LOOP('',(#581,#589,#596,#597)); +#581 = ORIENTED_EDGE('',*,*,#582,.T.); +#582 = EDGE_CURVE('',#277,#583,#585,.T.); +#583 = VERTEX_POINT('',#584); +#584 = CARTESIAN_POINT('',(2.249999999986,-8.601839197765,-4.)); +#585 = LINE('',#586,#587); +#586 = CARTESIAN_POINT('',(2.249999999986,-8.601839197765,0.)); +#587 = VECTOR('',#588,1.); +#588 = DIRECTION('',(-0.,-0.,-1.)); +#589 = ORIENTED_EDGE('',*,*,#590,.T.); +#590 = EDGE_CURVE('',#583,#560,#591,.T.); +#591 = CIRCLE('',#592,2.42927960595); +#592 = AXIS2_PLACEMENT_3D('',#593,#594,#595); +#593 = CARTESIAN_POINT('',(-5.462074466997E-03,-9.504219513754,-4.)); +#594 = DIRECTION('',(0.,0.,1.)); +#595 = DIRECTION('',(1.,0.,0.)); +#596 = ORIENTED_EDGE('',*,*,#567,.F.); +#597 = ORIENTED_EDGE('',*,*,#284,.F.); +#598 = CYLINDRICAL_SURFACE('',#599,2.42927960595); +#599 = AXIS2_PLACEMENT_3D('',#600,#601,#602); +#600 = CARTESIAN_POINT('',(-5.462074466997E-03,-9.504219513754,0.)); +#601 = DIRECTION('',(0.,0.,1.)); +#602 = DIRECTION('',(1.,0.,0.)); +#603 = ADVANCED_FACE('',(#604),#622,.F.); +#604 = FACE_BOUND('',#605,.F.); +#605 = EDGE_LOOP('',(#606,#607,#615,#621)); +#606 = ORIENTED_EDGE('',*,*,#582,.T.); +#607 = ORIENTED_EDGE('',*,*,#608,.T.); +#608 = EDGE_CURVE('',#583,#609,#611,.T.); +#609 = VERTEX_POINT('',#610); +#610 = CARTESIAN_POINT('',(6.808462205002,-8.601839197772,-4.)); +#611 = LINE('',#612,#613); +#612 = CARTESIAN_POINT('',(2.250000000011,-8.601839197772,-4.)); +#613 = VECTOR('',#614,1.); +#614 = DIRECTION('',(1.,0.,0.)); +#615 = ORIENTED_EDGE('',*,*,#616,.F.); +#616 = EDGE_CURVE('',#269,#609,#617,.T.); +#617 = LINE('',#618,#619); +#618 = CARTESIAN_POINT('',(6.808462205002,-8.601839197772,0.)); +#619 = VECTOR('',#620,1.); +#620 = DIRECTION('',(-0.,-0.,-1.)); +#621 = ORIENTED_EDGE('',*,*,#276,.F.); +#622 = PLANE('',#623); +#623 = AXIS2_PLACEMENT_3D('',#624,#625,#626); +#624 = CARTESIAN_POINT('',(2.250000000011,-8.601839197772,0.)); +#625 = DIRECTION('',(0.,-1.,0.)); +#626 = DIRECTION('',(1.,0.,0.)); +#627 = ADVANCED_FACE('',(#628),#646,.F.); +#628 = FACE_BOUND('',#629,.F.); +#629 = EDGE_LOOP('',(#630,#631,#639,#645)); +#630 = ORIENTED_EDGE('',*,*,#616,.T.); +#631 = ORIENTED_EDGE('',*,*,#632,.T.); +#632 = EDGE_CURVE('',#609,#633,#635,.T.); +#633 = VERTEX_POINT('',#634); +#634 = CARTESIAN_POINT('',(8.9,-6.451148691889,-4.)); +#635 = LINE('',#636,#637); +#636 = CARTESIAN_POINT('',(6.808462205002,-8.601839197772,-4.)); +#637 = VECTOR('',#638,1.); +#638 = DIRECTION('',(0.697179264999,0.716896835294,0.)); +#639 = ORIENTED_EDGE('',*,*,#640,.F.); +#640 = EDGE_CURVE('',#261,#633,#641,.T.); +#641 = LINE('',#642,#643); +#642 = CARTESIAN_POINT('',(8.9,-6.451148691889,0.)); +#643 = VECTOR('',#644,1.); +#644 = DIRECTION('',(-0.,-0.,-1.)); +#645 = ORIENTED_EDGE('',*,*,#268,.F.); +#646 = PLANE('',#647); +#647 = AXIS2_PLACEMENT_3D('',#648,#649,#650); +#648 = CARTESIAN_POINT('',(6.808462205002,-8.601839197772,0.)); +#649 = DIRECTION('',(0.716896835294,-0.697179264999,0.)); +#650 = DIRECTION('',(0.697179264999,0.716896835294,0.)); +#651 = ADVANCED_FACE('',(#652),#670,.F.); +#652 = FACE_BOUND('',#653,.F.); +#653 = EDGE_LOOP('',(#654,#655,#663,#669)); +#654 = ORIENTED_EDGE('',*,*,#640,.T.); +#655 = ORIENTED_EDGE('',*,*,#656,.T.); +#656 = EDGE_CURVE('',#633,#657,#659,.T.); +#657 = VERTEX_POINT('',#658); +#658 = CARTESIAN_POINT('',(8.9,6.456023322808,-4.)); +#659 = LINE('',#660,#661); +#660 = CARTESIAN_POINT('',(8.9,-6.451148691889,-4.)); +#661 = VECTOR('',#662,1.); +#662 = DIRECTION('',(0.,1.,0.)); +#663 = ORIENTED_EDGE('',*,*,#664,.F.); +#664 = EDGE_CURVE('',#253,#657,#665,.T.); +#665 = LINE('',#666,#667); +#666 = CARTESIAN_POINT('',(8.9,6.456023322808,0.)); +#667 = VECTOR('',#668,1.); +#668 = DIRECTION('',(-0.,-0.,-1.)); +#669 = ORIENTED_EDGE('',*,*,#260,.F.); +#670 = PLANE('',#671); +#671 = AXIS2_PLACEMENT_3D('',#672,#673,#674); +#672 = CARTESIAN_POINT('',(8.9,-6.451148691889,0.)); +#673 = DIRECTION('',(1.,0.,0.)); +#674 = DIRECTION('',(0.,1.,0.)); +#675 = ADVANCED_FACE('',(#676),#694,.F.); +#676 = FACE_BOUND('',#677,.F.); +#677 = EDGE_LOOP('',(#678,#679,#687,#693)); +#678 = ORIENTED_EDGE('',*,*,#664,.T.); +#679 = ORIENTED_EDGE('',*,*,#680,.T.); +#680 = EDGE_CURVE('',#657,#681,#683,.T.); +#681 = VERTEX_POINT('',#682); +#682 = CARTESIAN_POINT('',(6.77867965644,8.577343666368,-4.)); +#683 = LINE('',#684,#685); +#684 = CARTESIAN_POINT('',(8.9,6.456023322808,-4.)); +#685 = VECTOR('',#686,1.); +#686 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); +#687 = ORIENTED_EDGE('',*,*,#688,.F.); +#688 = EDGE_CURVE('',#245,#681,#689,.T.); +#689 = LINE('',#690,#691); +#690 = CARTESIAN_POINT('',(6.77867965644,8.577343666368,0.)); +#691 = VECTOR('',#692,1.); +#692 = DIRECTION('',(-0.,-0.,-1.)); +#693 = ORIENTED_EDGE('',*,*,#252,.F.); +#694 = PLANE('',#695); +#695 = AXIS2_PLACEMENT_3D('',#696,#697,#698); +#696 = CARTESIAN_POINT('',(8.9,6.456023322808,0.)); +#697 = DIRECTION('',(0.707106781187,0.707106781187,0.)); +#698 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); +#699 = ADVANCED_FACE('',(#700),#718,.F.); +#700 = FACE_BOUND('',#701,.F.); +#701 = EDGE_LOOP('',(#702,#703,#711,#717)); +#702 = ORIENTED_EDGE('',*,*,#688,.T.); +#703 = ORIENTED_EDGE('',*,*,#704,.T.); +#704 = EDGE_CURVE('',#681,#705,#707,.T.); +#705 = VERTEX_POINT('',#706); +#706 = CARTESIAN_POINT('',(2.24999999999,8.57734366637,-4.)); +#707 = LINE('',#708,#709); +#708 = CARTESIAN_POINT('',(6.77867965644,8.577343666368,-4.)); +#709 = VECTOR('',#710,1.); +#710 = DIRECTION('',(-1.,0.,0.)); +#711 = ORIENTED_EDGE('',*,*,#712,.F.); +#712 = EDGE_CURVE('',#236,#705,#713,.T.); +#713 = LINE('',#714,#715); +#714 = CARTESIAN_POINT('',(2.24999999999,8.57734366637,0.)); +#715 = VECTOR('',#716,1.); +#716 = DIRECTION('',(-0.,-0.,-1.)); +#717 = ORIENTED_EDGE('',*,*,#244,.F.); +#718 = PLANE('',#719); +#719 = AXIS2_PLACEMENT_3D('',#720,#721,#722); +#720 = CARTESIAN_POINT('',(6.77867965644,8.577343666368,0.)); +#721 = DIRECTION('',(0.,1.,0.)); +#722 = DIRECTION('',(-1.,0.,0.)); +#723 = ADVANCED_FACE('',(#724),#736,.T.); +#724 = FACE_BOUND('',#725,.T.); +#725 = EDGE_LOOP('',(#726,#727,#734,#735)); +#726 = ORIENTED_EDGE('',*,*,#455,.T.); +#727 = ORIENTED_EDGE('',*,*,#728,.T.); +#728 = EDGE_CURVE('',#456,#705,#729,.T.); +#729 = CIRCLE('',#730,2.436038906304); +#730 = AXIS2_PLACEMENT_3D('',#731,#732,#733); +#731 = CARTESIAN_POINT('',(0.,9.511038237992,-4.)); +#732 = DIRECTION('',(0.,0.,1.)); +#733 = DIRECTION('',(1.,0.,0.)); +#734 = ORIENTED_EDGE('',*,*,#712,.F.); +#735 = ORIENTED_EDGE('',*,*,#235,.F.); +#736 = CYLINDRICAL_SURFACE('',#737,2.436038906304); +#737 = AXIS2_PLACEMENT_3D('',#738,#739,#740); +#738 = CARTESIAN_POINT('',(0.,9.511038237992,0.)); +#739 = DIRECTION('',(0.,0.,1.)); +#740 = DIRECTION('',(1.,0.,0.)); +#741 = ADVANCED_FACE('',(#742),#767,.T.); +#742 = FACE_BOUND('',#743,.T.); +#743 = EDGE_LOOP('',(#744,#745,#753,#761)); +#744 = ORIENTED_EDGE('',*,*,#343,.F.); +#745 = ORIENTED_EDGE('',*,*,#746,.T.); +#746 = EDGE_CURVE('',#344,#747,#749,.T.); +#747 = VERTEX_POINT('',#748); +#748 = CARTESIAN_POINT('',(1.65,-2.5,-5.5)); +#749 = LINE('',#750,#751); +#750 = CARTESIAN_POINT('',(-5.037892469291,-2.5,-5.5)); +#751 = VECTOR('',#752,1.); +#752 = DIRECTION('',(1.,0.,0.)); +#753 = ORIENTED_EDGE('',*,*,#754,.T.); +#754 = EDGE_CURVE('',#747,#755,#757,.T.); +#755 = VERTEX_POINT('',#756); +#756 = CARTESIAN_POINT('',(1.65,2.5,-5.5)); +#757 = LINE('',#758,#759); +#758 = CARTESIAN_POINT('',(1.65,-2.5,-5.5)); +#759 = VECTOR('',#760,1.); +#760 = DIRECTION('',(0.,1.,0.)); +#761 = ORIENTED_EDGE('',*,*,#762,.T.); +#762 = EDGE_CURVE('',#755,#346,#763,.T.); +#763 = LINE('',#764,#765); +#764 = CARTESIAN_POINT('',(1.65,2.5,-5.5)); +#765 = VECTOR('',#766,1.); +#766 = DIRECTION('',(-1.,0.,0.)); +#767 = PLANE('',#768); +#768 = AXIS2_PLACEMENT_3D('',#769,#770,#771); +#769 = CARTESIAN_POINT('',(-1.98785569703,3.203820509501E-03,-5.5)); +#770 = DIRECTION('',(0.,0.,1.)); +#771 = DIRECTION('',(1.,0.,0.)); +#772 = ADVANCED_FACE('',(#773),#818,.F.); +#773 = FACE_BOUND('',#774,.F.); +#774 = EDGE_LOOP('',(#775,#783,#792,#800,#809,#815,#816,#817)); +#775 = ORIENTED_EDGE('',*,*,#776,.T.); +#776 = EDGE_CURVE('',#431,#777,#779,.T.); +#777 = VERTEX_POINT('',#778); +#778 = CARTESIAN_POINT('',(-5.037892469291,-2.5,-5.5)); +#779 = LINE('',#780,#781); +#780 = CARTESIAN_POINT('',(-5.125,-2.5,-5.5)); +#781 = VECTOR('',#782,1.); +#782 = DIRECTION('',(1.,0.,0.)); +#783 = ORIENTED_EDGE('',*,*,#784,.F.); +#784 = EDGE_CURVE('',#785,#777,#787,.T.); +#785 = VERTEX_POINT('',#786); +#786 = CARTESIAN_POINT('',(-5.85,-1.687892469291,-5.5)); +#787 = CIRCLE('',#788,0.812107530709); +#788 = AXIS2_PLACEMENT_3D('',#789,#790,#791); +#789 = CARTESIAN_POINT('',(-5.037892469291,-1.687892469291,-5.5)); +#790 = DIRECTION('',(0.,0.,1.)); +#791 = DIRECTION('',(1.,0.,0.)); +#792 = ORIENTED_EDGE('',*,*,#793,.F.); +#793 = EDGE_CURVE('',#794,#785,#796,.T.); +#794 = VERTEX_POINT('',#795); +#795 = CARTESIAN_POINT('',(-5.85,1.75,-5.5)); +#796 = LINE('',#797,#798); +#797 = CARTESIAN_POINT('',(-5.85,1.75,-5.5)); +#798 = VECTOR('',#799,1.); +#799 = DIRECTION('',(0.,-1.,0.)); +#800 = ORIENTED_EDGE('',*,*,#801,.F.); +#801 = EDGE_CURVE('',#802,#794,#804,.T.); +#802 = VERTEX_POINT('',#803); +#803 = CARTESIAN_POINT('',(-5.1,2.5,-5.5)); +#804 = CIRCLE('',#805,0.75); +#805 = AXIS2_PLACEMENT_3D('',#806,#807,#808); +#806 = CARTESIAN_POINT('',(-5.1,1.75,-5.5)); +#807 = DIRECTION('',(0.,0.,1.)); +#808 = DIRECTION('',(1.,0.,0.)); +#809 = ORIENTED_EDGE('',*,*,#810,.T.); +#810 = EDGE_CURVE('',#802,#375,#811,.T.); +#811 = LINE('',#812,#813); +#812 = CARTESIAN_POINT('',(-2.15,2.5,-5.5)); +#813 = VECTOR('',#814,1.); +#814 = DIRECTION('',(-1.,0.,0.)); +#815 = ORIENTED_EDGE('',*,*,#374,.T.); +#816 = ORIENTED_EDGE('',*,*,#406,.T.); +#817 = ORIENTED_EDGE('',*,*,#430,.T.); +#818 = PLANE('',#819); +#819 = AXIS2_PLACEMENT_3D('',#820,#821,#822); +#820 = CARTESIAN_POINT('',(-3.932228354314,5.293275881519E-17,-5.5)); +#821 = DIRECTION('',(0.,0.,1.)); +#822 = DIRECTION('',(1.,0.,0.)); +#823 = ADVANCED_FACE('',(#824,#838),#890,.T.); +#824 = FACE_BOUND('',#825,.T.); +#825 = EDGE_LOOP('',(#826,#827,#828,#829,#830,#831,#832,#833,#834,#835, + #836,#837)); +#826 = ORIENTED_EDGE('',*,*,#463,.T.); +#827 = ORIENTED_EDGE('',*,*,#487,.T.); +#828 = ORIENTED_EDGE('',*,*,#511,.T.); +#829 = ORIENTED_EDGE('',*,*,#535,.T.); +#830 = ORIENTED_EDGE('',*,*,#559,.T.); +#831 = ORIENTED_EDGE('',*,*,#590,.F.); +#832 = ORIENTED_EDGE('',*,*,#608,.T.); +#833 = ORIENTED_EDGE('',*,*,#632,.T.); +#834 = ORIENTED_EDGE('',*,*,#656,.T.); +#835 = ORIENTED_EDGE('',*,*,#680,.T.); +#836 = ORIENTED_EDGE('',*,*,#704,.T.); +#837 = ORIENTED_EDGE('',*,*,#728,.F.); +#838 = FACE_BOUND('',#839,.T.); +#839 = EDGE_LOOP('',(#840,#850,#859,#867,#876,#884)); +#840 = ORIENTED_EDGE('',*,*,#841,.F.); +#841 = EDGE_CURVE('',#842,#844,#846,.T.); +#842 = VERTEX_POINT('',#843); +#843 = CARTESIAN_POINT('',(-5.037892469291,-2.5,-4.)); +#844 = VERTEX_POINT('',#845); +#845 = CARTESIAN_POINT('',(1.65,-2.5,-4.)); +#846 = LINE('',#847,#848); +#847 = CARTESIAN_POINT('',(-5.037892469291,-2.5,-4.)); +#848 = VECTOR('',#849,1.); +#849 = DIRECTION('',(1.,0.,0.)); +#850 = ORIENTED_EDGE('',*,*,#851,.F.); +#851 = EDGE_CURVE('',#852,#842,#854,.T.); +#852 = VERTEX_POINT('',#853); +#853 = CARTESIAN_POINT('',(-5.85,-1.687892469291,-4.)); +#854 = CIRCLE('',#855,0.812107530709); +#855 = AXIS2_PLACEMENT_3D('',#856,#857,#858); +#856 = CARTESIAN_POINT('',(-5.037892469291,-1.687892469291,-4.)); +#857 = DIRECTION('',(0.,0.,1.)); +#858 = DIRECTION('',(1.,0.,0.)); +#859 = ORIENTED_EDGE('',*,*,#860,.F.); +#860 = EDGE_CURVE('',#861,#852,#863,.T.); +#861 = VERTEX_POINT('',#862); +#862 = CARTESIAN_POINT('',(-5.85,1.75,-4.)); +#863 = LINE('',#864,#865); +#864 = CARTESIAN_POINT('',(-5.85,1.75,-4.)); +#865 = VECTOR('',#866,1.); +#866 = DIRECTION('',(0.,-1.,0.)); +#867 = ORIENTED_EDGE('',*,*,#868,.F.); +#868 = EDGE_CURVE('',#869,#861,#871,.T.); +#869 = VERTEX_POINT('',#870); +#870 = CARTESIAN_POINT('',(-5.1,2.5,-4.)); +#871 = CIRCLE('',#872,0.75); +#872 = AXIS2_PLACEMENT_3D('',#873,#874,#875); +#873 = CARTESIAN_POINT('',(-5.1,1.75,-4.)); +#874 = DIRECTION('',(0.,0.,1.)); +#875 = DIRECTION('',(1.,0.,0.)); +#876 = ORIENTED_EDGE('',*,*,#877,.F.); +#877 = EDGE_CURVE('',#878,#869,#880,.T.); +#878 = VERTEX_POINT('',#879); +#879 = CARTESIAN_POINT('',(1.65,2.5,-4.)); +#880 = LINE('',#881,#882); +#881 = CARTESIAN_POINT('',(1.65,2.5,-4.)); +#882 = VECTOR('',#883,1.); +#883 = DIRECTION('',(-1.,0.,0.)); +#884 = ORIENTED_EDGE('',*,*,#885,.F.); +#885 = EDGE_CURVE('',#844,#878,#886,.T.); +#886 = LINE('',#887,#888); +#887 = CARTESIAN_POINT('',(1.65,-2.5,-4.)); +#888 = VECTOR('',#889,1.); +#889 = DIRECTION('',(0.,1.,0.)); +#890 = PLANE('',#891); +#891 = AXIS2_PLACEMENT_3D('',#892,#893,#894); +#892 = CARTESIAN_POINT('',(4.003075073899E-03,-7.336033825241E-03,-4.)); +#893 = DIRECTION('',(0.,0.,1.)); +#894 = DIRECTION('',(1.,0.,0.)); +#895 = ADVANCED_FACE('',(#896),#912,.F.); +#896 = FACE_BOUND('',#897,.F.); +#897 = EDGE_LOOP('',(#898,#904,#905,#911)); +#898 = ORIENTED_EDGE('',*,*,#899,.T.); +#899 = EDGE_CURVE('',#844,#747,#900,.T.); +#900 = LINE('',#901,#902); +#901 = CARTESIAN_POINT('',(1.65,-2.5,-4.)); +#902 = VECTOR('',#903,1.); +#903 = DIRECTION('',(-0.,-0.,-1.)); +#904 = ORIENTED_EDGE('',*,*,#754,.T.); +#905 = ORIENTED_EDGE('',*,*,#906,.F.); +#906 = EDGE_CURVE('',#878,#755,#907,.T.); +#907 = LINE('',#908,#909); +#908 = CARTESIAN_POINT('',(1.65,2.5,-4.)); +#909 = VECTOR('',#910,1.); +#910 = DIRECTION('',(-0.,-0.,-1.)); +#911 = ORIENTED_EDGE('',*,*,#885,.F.); +#912 = PLANE('',#913); +#913 = AXIS2_PLACEMENT_3D('',#914,#915,#916); +#914 = CARTESIAN_POINT('',(1.65,-2.5,-4.)); +#915 = DIRECTION('',(1.,0.,0.)); +#916 = DIRECTION('',(0.,1.,0.)); +#917 = ADVANCED_FACE('',(#918),#934,.F.); +#918 = FACE_BOUND('',#919,.F.); +#919 = EDGE_LOOP('',(#920,#926,#927,#933)); +#920 = ORIENTED_EDGE('',*,*,#921,.T.); +#921 = EDGE_CURVE('',#869,#802,#922,.T.); +#922 = LINE('',#923,#924); +#923 = CARTESIAN_POINT('',(-5.1,2.5,-4.)); +#924 = VECTOR('',#925,1.); +#925 = DIRECTION('',(-0.,-0.,-1.)); +#926 = ORIENTED_EDGE('',*,*,#801,.T.); +#927 = ORIENTED_EDGE('',*,*,#928,.F.); +#928 = EDGE_CURVE('',#861,#794,#929,.T.); +#929 = LINE('',#930,#931); +#930 = CARTESIAN_POINT('',(-5.85,1.75,-4.)); +#931 = VECTOR('',#932,1.); +#932 = DIRECTION('',(-0.,-0.,-1.)); +#933 = ORIENTED_EDGE('',*,*,#868,.F.); +#934 = CYLINDRICAL_SURFACE('',#935,0.75); +#935 = AXIS2_PLACEMENT_3D('',#936,#937,#938); +#936 = CARTESIAN_POINT('',(-5.1,1.75,-4.)); +#937 = DIRECTION('',(0.,0.,1.)); +#938 = DIRECTION('',(1.,0.,0.)); +#939 = ADVANCED_FACE('',(#940),#951,.F.); +#940 = FACE_BOUND('',#941,.F.); +#941 = EDGE_LOOP('',(#942,#943,#944,#950)); +#942 = ORIENTED_EDGE('',*,*,#928,.T.); +#943 = ORIENTED_EDGE('',*,*,#793,.T.); +#944 = ORIENTED_EDGE('',*,*,#945,.F.); +#945 = EDGE_CURVE('',#852,#785,#946,.T.); +#946 = LINE('',#947,#948); +#947 = CARTESIAN_POINT('',(-5.85,-1.687892469291,-4.)); +#948 = VECTOR('',#949,1.); +#949 = DIRECTION('',(-0.,-0.,-1.)); +#950 = ORIENTED_EDGE('',*,*,#860,.F.); +#951 = PLANE('',#952); +#952 = AXIS2_PLACEMENT_3D('',#953,#954,#955); +#953 = CARTESIAN_POINT('',(-5.85,1.75,-4.)); +#954 = DIRECTION('',(-1.,0.,0.)); +#955 = DIRECTION('',(0.,-1.,0.)); +#956 = ADVANCED_FACE('',(#957),#968,.F.); +#957 = FACE_BOUND('',#958,.F.); +#958 = EDGE_LOOP('',(#959,#960,#961,#967)); +#959 = ORIENTED_EDGE('',*,*,#945,.T.); +#960 = ORIENTED_EDGE('',*,*,#784,.T.); +#961 = ORIENTED_EDGE('',*,*,#962,.F.); +#962 = EDGE_CURVE('',#842,#777,#963,.T.); +#963 = LINE('',#964,#965); +#964 = CARTESIAN_POINT('',(-5.037892469291,-2.5,-4.)); +#965 = VECTOR('',#966,1.); +#966 = DIRECTION('',(-0.,-0.,-1.)); +#967 = ORIENTED_EDGE('',*,*,#851,.F.); +#968 = CYLINDRICAL_SURFACE('',#969,0.812107530709); +#969 = AXIS2_PLACEMENT_3D('',#970,#971,#972); +#970 = CARTESIAN_POINT('',(-5.037892469291,-1.687892469291,-4.)); +#971 = DIRECTION('',(0.,0.,1.)); +#972 = DIRECTION('',(1.,0.,0.)); +#973 = ADVANCED_FACE('',(#974),#984,.T.); +#974 = FACE_BOUND('',#975,.T.); +#975 = EDGE_LOOP('',(#976,#977,#978,#979,#980,#981,#982,#983)); +#976 = ORIENTED_EDGE('',*,*,#810,.T.); +#977 = ORIENTED_EDGE('',*,*,#385,.T.); +#978 = ORIENTED_EDGE('',*,*,#200,.F.); +#979 = ORIENTED_EDGE('',*,*,#360,.F.); +#980 = ORIENTED_EDGE('',*,*,#762,.F.); +#981 = ORIENTED_EDGE('',*,*,#906,.F.); +#982 = ORIENTED_EDGE('',*,*,#877,.T.); +#983 = ORIENTED_EDGE('',*,*,#921,.T.); +#984 = PLANE('',#985); +#985 = AXIS2_PLACEMENT_3D('',#986,#987,#988); +#986 = CARTESIAN_POINT('',(-1.940330188679,2.5,-5.047169811321)); +#987 = DIRECTION('',(-0.,-1.,-0.)); +#988 = DIRECTION('',(0.,0.,-1.)); +#989 = ADVANCED_FACE('',(#990),#1000,.T.); +#990 = FACE_BOUND('',#991,.T.); +#991 = EDGE_LOOP('',(#992,#993,#994,#995,#996,#997,#998,#999)); +#992 = ORIENTED_EDGE('',*,*,#776,.T.); +#993 = ORIENTED_EDGE('',*,*,#962,.F.); +#994 = ORIENTED_EDGE('',*,*,#841,.T.); +#995 = ORIENTED_EDGE('',*,*,#899,.T.); +#996 = ORIENTED_EDGE('',*,*,#746,.F.); +#997 = ORIENTED_EDGE('',*,*,#353,.T.); +#998 = ORIENTED_EDGE('',*,*,#166,.F.); +#999 = ORIENTED_EDGE('',*,*,#441,.F.); +#1000 = PLANE('',#1001); +#1001 = AXIS2_PLACEMENT_3D('',#1002,#1003,#1004); +#1002 = CARTESIAN_POINT('',(-1.935308016385,-2.5,-5.052191983615)); +#1003 = DIRECTION('',(0.,1.,0.)); +#1004 = DIRECTION('',(0.,0.,1.)); +#1005 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1009)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1006,#1007,#1008)) REPRESENTATION_CONTEXT +('Context #1','3D Context with UNIT and UNCERTAINTY') ); +#1006 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#1007 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#1008 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#1009 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-05),#1006, + 'distance_accuracy_value','confusion accuracy'); +#1010 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1011,#1013); +#1011 = ( REPRESENTATION_RELATIONSHIP('','',#36,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1012) +SHAPE_REPRESENTATION_RELATIONSHIP() ); +#1012 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15); +#1013 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item', + #1014); +#1014 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('9','Socket','',#5,#31,$); +#1015 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#33)); +#1016 = SHAPE_DEFINITION_REPRESENTATION(#1017,#1023); +#1017 = PRODUCT_DEFINITION_SHAPE('','',#1018); +#1018 = PRODUCT_DEFINITION('design','',#1019,#1022); +#1019 = PRODUCT_DEFINITION_FORMATION('','',#1020); +#1020 = PRODUCT('Part','Part','',(#1021)); +#1021 = PRODUCT_CONTEXT('',#2,'mechanical'); +#1022 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#1023 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#1024),#1629); +#1024 = MANIFOLD_SOLID_BREP('',#1025); +#1025 = CLOSED_SHELL('',(#1026,#1066,#1099,#1130,#1212,#1328,#1345,#1362 + ,#1379,#1396,#1413,#1430,#1447,#1464,#1476,#1507,#1531,#1555,#1572, + #1595,#1620)); +#1026 = ADVANCED_FACE('',(#1027),#1061,.F.); +#1027 = FACE_BOUND('',#1028,.F.); +#1028 = EDGE_LOOP('',(#1029,#1039,#1047,#1055)); +#1029 = ORIENTED_EDGE('',*,*,#1030,.T.); +#1030 = EDGE_CURVE('',#1031,#1033,#1035,.T.); +#1031 = VERTEX_POINT('',#1032); +#1032 = CARTESIAN_POINT('',(-2.25,8.575,-4.)); +#1033 = VERTEX_POINT('',#1034); +#1034 = CARTESIAN_POINT('',(-2.25,8.575,0.)); +#1035 = LINE('',#1036,#1037); +#1036 = CARTESIAN_POINT('',(-2.25,8.575,-4.)); +#1037 = VECTOR('',#1038,1.); +#1038 = DIRECTION('',(0.,0.,1.)); +#1039 = ORIENTED_EDGE('',*,*,#1040,.T.); +#1040 = EDGE_CURVE('',#1033,#1041,#1043,.T.); +#1041 = VERTEX_POINT('',#1042); +#1042 = CARTESIAN_POINT('',(-6.70367965644,8.575,0.)); +#1043 = LINE('',#1044,#1045); +#1044 = CARTESIAN_POINT('',(-2.25,8.575,0.)); +#1045 = VECTOR('',#1046,1.); +#1046 = DIRECTION('',(-1.,-6.9E-14,0.)); +#1047 = ORIENTED_EDGE('',*,*,#1048,.F.); +#1048 = EDGE_CURVE('',#1049,#1041,#1051,.T.); +#1049 = VERTEX_POINT('',#1050); +#1050 = CARTESIAN_POINT('',(-6.70367965644,8.575,-4.)); +#1051 = LINE('',#1052,#1053); +#1052 = CARTESIAN_POINT('',(-6.70367965644,8.575,-4.)); +#1053 = VECTOR('',#1054,1.); +#1054 = DIRECTION('',(0.,0.,1.)); +#1055 = ORIENTED_EDGE('',*,*,#1056,.F.); +#1056 = EDGE_CURVE('',#1031,#1049,#1057,.T.); +#1057 = LINE('',#1058,#1059); +#1058 = CARTESIAN_POINT('',(-2.25,8.575,-4.)); +#1059 = VECTOR('',#1060,1.); +#1060 = DIRECTION('',(-1.,-6.9E-14,0.)); +#1061 = PLANE('',#1062); +#1062 = AXIS2_PLACEMENT_3D('',#1063,#1064,#1065); +#1063 = CARTESIAN_POINT('',(-2.25,8.575,-4.)); +#1064 = DIRECTION('',(6.9E-14,-1.,0.)); +#1065 = DIRECTION('',(-1.,-6.9E-14,0.)); +#1066 = ADVANCED_FACE('',(#1067),#1094,.F.); +#1067 = FACE_BOUND('',#1068,.T.); +#1068 = EDGE_LOOP('',(#1069,#1070,#1079,#1087)); +#1069 = ORIENTED_EDGE('',*,*,#1030,.T.); +#1070 = ORIENTED_EDGE('',*,*,#1071,.T.); +#1071 = EDGE_CURVE('',#1033,#1072,#1074,.T.); +#1072 = VERTEX_POINT('',#1073); +#1073 = CARTESIAN_POINT('',(2.25,8.575,0.)); +#1074 = CIRCLE('',#1075,2.4375); +#1075 = AXIS2_PLACEMENT_3D('',#1076,#1077,#1078); +#1076 = CARTESIAN_POINT('',(0.,9.5125,0.)); +#1077 = DIRECTION('',(0.,0.,1.)); +#1078 = DIRECTION('',(1.,0.,0.)); +#1079 = ORIENTED_EDGE('',*,*,#1080,.F.); +#1080 = EDGE_CURVE('',#1081,#1072,#1083,.T.); +#1081 = VERTEX_POINT('',#1082); +#1082 = CARTESIAN_POINT('',(2.25,8.575,-4.)); +#1083 = LINE('',#1084,#1085); +#1084 = CARTESIAN_POINT('',(2.25,8.575,-4.)); +#1085 = VECTOR('',#1086,1.); +#1086 = DIRECTION('',(0.,0.,1.)); +#1087 = ORIENTED_EDGE('',*,*,#1088,.F.); +#1088 = EDGE_CURVE('',#1031,#1081,#1089,.T.); +#1089 = CIRCLE('',#1090,2.4375); +#1090 = AXIS2_PLACEMENT_3D('',#1091,#1092,#1093); +#1091 = CARTESIAN_POINT('',(0.,9.5125,-4.)); +#1092 = DIRECTION('',(0.,0.,1.)); +#1093 = DIRECTION('',(1.,0.,0.)); +#1094 = CYLINDRICAL_SURFACE('',#1095,2.4375); +#1095 = AXIS2_PLACEMENT_3D('',#1096,#1097,#1098); +#1096 = CARTESIAN_POINT('',(0.,9.5125,-4.)); +#1097 = DIRECTION('',(-0.,-0.,-1.)); +#1098 = DIRECTION('',(1.,0.,0.)); +#1099 = ADVANCED_FACE('',(#1100),#1125,.F.); +#1100 = FACE_BOUND('',#1101,.F.); +#1101 = EDGE_LOOP('',(#1102,#1103,#1111,#1119)); +#1102 = ORIENTED_EDGE('',*,*,#1048,.T.); +#1103 = ORIENTED_EDGE('',*,*,#1104,.T.); +#1104 = EDGE_CURVE('',#1041,#1105,#1107,.T.); +#1105 = VERTEX_POINT('',#1106); +#1106 = CARTESIAN_POINT('',(-8.825,6.45367965644,0.)); +#1107 = LINE('',#1108,#1109); +#1108 = CARTESIAN_POINT('',(-6.70367965644,8.575,0.)); +#1109 = VECTOR('',#1110,1.); +#1110 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); +#1111 = ORIENTED_EDGE('',*,*,#1112,.F.); +#1112 = EDGE_CURVE('',#1113,#1105,#1115,.T.); +#1113 = VERTEX_POINT('',#1114); +#1114 = CARTESIAN_POINT('',(-8.825,6.45367965644,-4.)); +#1115 = LINE('',#1116,#1117); +#1116 = CARTESIAN_POINT('',(-8.825,6.45367965644,-4.)); +#1117 = VECTOR('',#1118,1.); +#1118 = DIRECTION('',(0.,0.,1.)); +#1119 = ORIENTED_EDGE('',*,*,#1120,.F.); +#1120 = EDGE_CURVE('',#1049,#1113,#1121,.T.); +#1121 = LINE('',#1122,#1123); +#1122 = CARTESIAN_POINT('',(-6.70367965644,8.575,-4.)); +#1123 = VECTOR('',#1124,1.); +#1124 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); +#1125 = PLANE('',#1126); +#1126 = AXIS2_PLACEMENT_3D('',#1127,#1128,#1129); +#1127 = CARTESIAN_POINT('',(-6.70367965644,8.575,-4.)); +#1128 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); +#1129 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); +#1130 = ADVANCED_FACE('',(#1131),#1207,.F.); +#1131 = FACE_BOUND('',#1132,.F.); +#1132 = EDGE_LOOP('',(#1133,#1134,#1135,#1143,#1151,#1159,#1168,#1176, + #1184,#1192,#1200,#1206)); +#1133 = ORIENTED_EDGE('',*,*,#1056,.T.); +#1134 = ORIENTED_EDGE('',*,*,#1120,.T.); +#1135 = ORIENTED_EDGE('',*,*,#1136,.T.); +#1136 = EDGE_CURVE('',#1113,#1137,#1139,.T.); +#1137 = VERTEX_POINT('',#1138); +#1138 = CARTESIAN_POINT('',(-8.825,-6.45367965644,-4.)); +#1139 = LINE('',#1140,#1141); +#1140 = CARTESIAN_POINT('',(-8.825,6.45367965644,-4.)); +#1141 = VECTOR('',#1142,1.); +#1142 = DIRECTION('',(0.,-1.,0.)); +#1143 = ORIENTED_EDGE('',*,*,#1144,.T.); +#1144 = EDGE_CURVE('',#1137,#1145,#1147,.T.); +#1145 = VERTEX_POINT('',#1146); +#1146 = CARTESIAN_POINT('',(-6.70367965644,-8.575,-4.)); +#1147 = LINE('',#1148,#1149); +#1148 = CARTESIAN_POINT('',(-8.825,-6.45367965644,-4.)); +#1149 = VECTOR('',#1150,1.); +#1150 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); +#1151 = ORIENTED_EDGE('',*,*,#1152,.T.); +#1152 = EDGE_CURVE('',#1145,#1153,#1155,.T.); +#1153 = VERTEX_POINT('',#1154); +#1154 = CARTESIAN_POINT('',(-2.25,-8.575,-4.)); +#1155 = LINE('',#1156,#1157); +#1156 = CARTESIAN_POINT('',(-6.70367965644,-8.575,-4.)); +#1157 = VECTOR('',#1158,1.); +#1158 = DIRECTION('',(1.,0.,0.)); +#1159 = ORIENTED_EDGE('',*,*,#1160,.F.); +#1160 = EDGE_CURVE('',#1161,#1153,#1163,.T.); +#1161 = VERTEX_POINT('',#1162); +#1162 = CARTESIAN_POINT('',(2.25,-8.575,-4.)); +#1163 = CIRCLE('',#1164,2.4375); +#1164 = AXIS2_PLACEMENT_3D('',#1165,#1166,#1167); +#1165 = CARTESIAN_POINT('',(0.,-9.5125,-4.)); +#1166 = DIRECTION('',(0.,0.,1.)); +#1167 = DIRECTION('',(1.,0.,0.)); +#1168 = ORIENTED_EDGE('',*,*,#1169,.T.); +#1169 = EDGE_CURVE('',#1161,#1170,#1172,.T.); +#1170 = VERTEX_POINT('',#1171); +#1171 = CARTESIAN_POINT('',(6.70367965644,-8.575,-4.)); +#1172 = LINE('',#1173,#1174); +#1173 = CARTESIAN_POINT('',(2.25,-8.575,-4.)); +#1174 = VECTOR('',#1175,1.); +#1175 = DIRECTION('',(1.,-6.86E-14,0.)); +#1176 = ORIENTED_EDGE('',*,*,#1177,.T.); +#1177 = EDGE_CURVE('',#1170,#1178,#1180,.T.); +#1178 = VERTEX_POINT('',#1179); +#1179 = CARTESIAN_POINT('',(8.825,-6.45367965644,-4.)); +#1180 = LINE('',#1181,#1182); +#1181 = CARTESIAN_POINT('',(6.70367965644,-8.575,-4.)); +#1182 = VECTOR('',#1183,1.); +#1183 = DIRECTION('',(0.707106781187,0.707106781187,0.)); +#1184 = ORIENTED_EDGE('',*,*,#1185,.T.); +#1185 = EDGE_CURVE('',#1178,#1186,#1188,.T.); +#1186 = VERTEX_POINT('',#1187); +#1187 = CARTESIAN_POINT('',(8.825,6.45367965644,-4.)); +#1188 = LINE('',#1189,#1190); +#1189 = CARTESIAN_POINT('',(8.825,-6.45367965644,-4.)); +#1190 = VECTOR('',#1191,1.); +#1191 = DIRECTION('',(0.,1.,0.)); +#1192 = ORIENTED_EDGE('',*,*,#1193,.T.); +#1193 = EDGE_CURVE('',#1186,#1194,#1196,.T.); +#1194 = VERTEX_POINT('',#1195); +#1195 = CARTESIAN_POINT('',(6.70367965644,8.575,-4.)); +#1196 = LINE('',#1197,#1198); +#1197 = CARTESIAN_POINT('',(8.825,6.45367965644,-4.)); +#1198 = VECTOR('',#1199,1.); +#1199 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); +#1200 = ORIENTED_EDGE('',*,*,#1201,.T.); +#1201 = EDGE_CURVE('',#1194,#1081,#1202,.T.); +#1202 = LINE('',#1203,#1204); +#1203 = CARTESIAN_POINT('',(6.70367965644,8.575,-4.)); +#1204 = VECTOR('',#1205,1.); +#1205 = DIRECTION('',(-1.,0.,0.)); +#1206 = ORIENTED_EDGE('',*,*,#1088,.F.); +#1207 = PLANE('',#1208); +#1208 = AXIS2_PLACEMENT_3D('',#1209,#1210,#1211); +#1209 = CARTESIAN_POINT('',(-5.556E-14,1.6845E-13,-4.)); +#1210 = DIRECTION('',(0.,0.,1.)); +#1211 = DIRECTION('',(1.,0.,0.)); +#1212 = ADVANCED_FACE('',(#1213,#1289),#1323,.T.); +#1213 = FACE_BOUND('',#1214,.T.); +#1214 = EDGE_LOOP('',(#1215,#1216,#1217,#1225,#1233,#1241,#1250,#1258, + #1266,#1274,#1282,#1288)); +#1215 = ORIENTED_EDGE('',*,*,#1040,.T.); +#1216 = ORIENTED_EDGE('',*,*,#1104,.T.); +#1217 = ORIENTED_EDGE('',*,*,#1218,.T.); +#1218 = EDGE_CURVE('',#1105,#1219,#1221,.T.); +#1219 = VERTEX_POINT('',#1220); +#1220 = CARTESIAN_POINT('',(-8.825,-6.45367965644,0.)); +#1221 = LINE('',#1222,#1223); +#1222 = CARTESIAN_POINT('',(-8.825,6.45367965644,0.)); +#1223 = VECTOR('',#1224,1.); +#1224 = DIRECTION('',(0.,-1.,0.)); +#1225 = ORIENTED_EDGE('',*,*,#1226,.T.); +#1226 = EDGE_CURVE('',#1219,#1227,#1229,.T.); +#1227 = VERTEX_POINT('',#1228); +#1228 = CARTESIAN_POINT('',(-6.70367965644,-8.575,0.)); +#1229 = LINE('',#1230,#1231); +#1230 = CARTESIAN_POINT('',(-8.825,-6.45367965644,0.)); +#1231 = VECTOR('',#1232,1.); +#1232 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); +#1233 = ORIENTED_EDGE('',*,*,#1234,.T.); +#1234 = EDGE_CURVE('',#1227,#1235,#1237,.T.); +#1235 = VERTEX_POINT('',#1236); +#1236 = CARTESIAN_POINT('',(-2.25,-8.575,0.)); +#1237 = LINE('',#1238,#1239); +#1238 = CARTESIAN_POINT('',(-6.70367965644,-8.575,0.)); +#1239 = VECTOR('',#1240,1.); +#1240 = DIRECTION('',(1.,0.,0.)); +#1241 = ORIENTED_EDGE('',*,*,#1242,.F.); +#1242 = EDGE_CURVE('',#1243,#1235,#1245,.T.); +#1243 = VERTEX_POINT('',#1244); +#1244 = CARTESIAN_POINT('',(2.25,-8.575,0.)); +#1245 = CIRCLE('',#1246,2.4375); +#1246 = AXIS2_PLACEMENT_3D('',#1247,#1248,#1249); +#1247 = CARTESIAN_POINT('',(0.,-9.5125,0.)); +#1248 = DIRECTION('',(0.,0.,1.)); +#1249 = DIRECTION('',(1.,0.,0.)); +#1250 = ORIENTED_EDGE('',*,*,#1251,.T.); +#1251 = EDGE_CURVE('',#1243,#1252,#1254,.T.); +#1252 = VERTEX_POINT('',#1253); +#1253 = CARTESIAN_POINT('',(6.70367965644,-8.575,0.)); +#1254 = LINE('',#1255,#1256); +#1255 = CARTESIAN_POINT('',(2.25,-8.575,0.)); +#1256 = VECTOR('',#1257,1.); +#1257 = DIRECTION('',(1.,-6.86E-14,0.)); +#1258 = ORIENTED_EDGE('',*,*,#1259,.T.); +#1259 = EDGE_CURVE('',#1252,#1260,#1262,.T.); +#1260 = VERTEX_POINT('',#1261); +#1261 = CARTESIAN_POINT('',(8.825,-6.45367965644,0.)); +#1262 = LINE('',#1263,#1264); +#1263 = CARTESIAN_POINT('',(6.70367965644,-8.575,0.)); +#1264 = VECTOR('',#1265,1.); +#1265 = DIRECTION('',(0.707106781187,0.707106781187,0.)); +#1266 = ORIENTED_EDGE('',*,*,#1267,.T.); +#1267 = EDGE_CURVE('',#1260,#1268,#1270,.T.); +#1268 = VERTEX_POINT('',#1269); +#1269 = CARTESIAN_POINT('',(8.825,6.45367965644,0.)); +#1270 = LINE('',#1271,#1272); +#1271 = CARTESIAN_POINT('',(8.825,-6.45367965644,0.)); +#1272 = VECTOR('',#1273,1.); +#1273 = DIRECTION('',(0.,1.,0.)); +#1274 = ORIENTED_EDGE('',*,*,#1275,.T.); +#1275 = EDGE_CURVE('',#1268,#1276,#1278,.T.); +#1276 = VERTEX_POINT('',#1277); +#1277 = CARTESIAN_POINT('',(6.70367965644,8.575,0.)); +#1278 = LINE('',#1279,#1280); +#1279 = CARTESIAN_POINT('',(8.825,6.45367965644,0.)); +#1280 = VECTOR('',#1281,1.); +#1281 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); +#1282 = ORIENTED_EDGE('',*,*,#1283,.T.); +#1283 = EDGE_CURVE('',#1276,#1072,#1284,.T.); +#1284 = LINE('',#1285,#1286); +#1285 = CARTESIAN_POINT('',(6.70367965644,8.575,0.)); +#1286 = VECTOR('',#1287,1.); +#1287 = DIRECTION('',(-1.,0.,0.)); +#1288 = ORIENTED_EDGE('',*,*,#1071,.F.); +#1289 = FACE_BOUND('',#1290,.T.); +#1290 = EDGE_LOOP('',(#1291,#1301,#1309,#1317)); +#1291 = ORIENTED_EDGE('',*,*,#1292,.F.); +#1292 = EDGE_CURVE('',#1293,#1295,#1297,.T.); +#1293 = VERTEX_POINT('',#1294); +#1294 = CARTESIAN_POINT('',(-7.5,-7.05,0.)); +#1295 = VERTEX_POINT('',#1296); +#1296 = CARTESIAN_POINT('',(7.5,-7.05,0.)); +#1297 = LINE('',#1298,#1299); +#1298 = CARTESIAN_POINT('',(-7.5,-7.05,0.)); +#1299 = VECTOR('',#1300,1.); +#1300 = DIRECTION('',(1.,0.,0.)); +#1301 = ORIENTED_EDGE('',*,*,#1302,.F.); +#1302 = EDGE_CURVE('',#1303,#1293,#1305,.T.); +#1303 = VERTEX_POINT('',#1304); +#1304 = CARTESIAN_POINT('',(-7.5,7.05,0.)); +#1305 = LINE('',#1306,#1307); +#1306 = CARTESIAN_POINT('',(-7.5,7.05,0.)); +#1307 = VECTOR('',#1308,1.); +#1308 = DIRECTION('',(0.,-1.,0.)); +#1309 = ORIENTED_EDGE('',*,*,#1310,.F.); +#1310 = EDGE_CURVE('',#1311,#1303,#1313,.T.); +#1311 = VERTEX_POINT('',#1312); +#1312 = CARTESIAN_POINT('',(7.5,7.05,0.)); +#1313 = LINE('',#1314,#1315); +#1314 = CARTESIAN_POINT('',(7.5,7.05,0.)); +#1315 = VECTOR('',#1316,1.); +#1316 = DIRECTION('',(-1.,0.,0.)); +#1317 = ORIENTED_EDGE('',*,*,#1318,.F.); +#1318 = EDGE_CURVE('',#1295,#1311,#1319,.T.); +#1319 = LINE('',#1320,#1321); +#1320 = CARTESIAN_POINT('',(7.5,-7.05,0.)); +#1321 = VECTOR('',#1322,1.); +#1322 = DIRECTION('',(0.,1.,0.)); +#1323 = PLANE('',#1324); +#1324 = AXIS2_PLACEMENT_3D('',#1325,#1326,#1327); +#1325 = CARTESIAN_POINT('',(-5.556E-14,1.6845E-13,0.)); +#1326 = DIRECTION('',(0.,0.,1.)); +#1327 = DIRECTION('',(1.,0.,0.)); +#1328 = ADVANCED_FACE('',(#1329),#1340,.F.); +#1329 = FACE_BOUND('',#1330,.F.); +#1330 = EDGE_LOOP('',(#1331,#1337,#1338,#1339)); +#1331 = ORIENTED_EDGE('',*,*,#1332,.T.); +#1332 = EDGE_CURVE('',#1194,#1276,#1333,.T.); +#1333 = LINE('',#1334,#1335); +#1334 = CARTESIAN_POINT('',(6.70367965644,8.575,-4.)); +#1335 = VECTOR('',#1336,1.); +#1336 = DIRECTION('',(0.,0.,1.)); +#1337 = ORIENTED_EDGE('',*,*,#1283,.T.); +#1338 = ORIENTED_EDGE('',*,*,#1080,.F.); +#1339 = ORIENTED_EDGE('',*,*,#1201,.F.); +#1340 = PLANE('',#1341); +#1341 = AXIS2_PLACEMENT_3D('',#1342,#1343,#1344); +#1342 = CARTESIAN_POINT('',(6.70367965644,8.575,-4.)); +#1343 = DIRECTION('',(0.,-1.,0.)); +#1344 = DIRECTION('',(-1.,0.,0.)); +#1345 = ADVANCED_FACE('',(#1346),#1357,.F.); +#1346 = FACE_BOUND('',#1347,.F.); +#1347 = EDGE_LOOP('',(#1348,#1349,#1350,#1356)); +#1348 = ORIENTED_EDGE('',*,*,#1112,.T.); +#1349 = ORIENTED_EDGE('',*,*,#1218,.T.); +#1350 = ORIENTED_EDGE('',*,*,#1351,.F.); +#1351 = EDGE_CURVE('',#1137,#1219,#1352,.T.); +#1352 = LINE('',#1353,#1354); +#1353 = CARTESIAN_POINT('',(-8.825,-6.45367965644,-4.)); +#1354 = VECTOR('',#1355,1.); +#1355 = DIRECTION('',(0.,0.,1.)); +#1356 = ORIENTED_EDGE('',*,*,#1136,.F.); +#1357 = PLANE('',#1358); +#1358 = AXIS2_PLACEMENT_3D('',#1359,#1360,#1361); +#1359 = CARTESIAN_POINT('',(-8.825,6.45367965644,-4.)); +#1360 = DIRECTION('',(1.,0.,0.)); +#1361 = DIRECTION('',(0.,-1.,0.)); +#1362 = ADVANCED_FACE('',(#1363),#1374,.F.); +#1363 = FACE_BOUND('',#1364,.F.); +#1364 = EDGE_LOOP('',(#1365,#1366,#1367,#1373)); +#1365 = ORIENTED_EDGE('',*,*,#1351,.T.); +#1366 = ORIENTED_EDGE('',*,*,#1226,.T.); +#1367 = ORIENTED_EDGE('',*,*,#1368,.F.); +#1368 = EDGE_CURVE('',#1145,#1227,#1369,.T.); +#1369 = LINE('',#1370,#1371); +#1370 = CARTESIAN_POINT('',(-6.70367965644,-8.575,-4.)); +#1371 = VECTOR('',#1372,1.); +#1372 = DIRECTION('',(0.,0.,1.)); +#1373 = ORIENTED_EDGE('',*,*,#1144,.F.); +#1374 = PLANE('',#1375); +#1375 = AXIS2_PLACEMENT_3D('',#1376,#1377,#1378); +#1376 = CARTESIAN_POINT('',(-8.825,-6.45367965644,-4.)); +#1377 = DIRECTION('',(0.707106781187,0.707106781187,0.)); +#1378 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); +#1379 = ADVANCED_FACE('',(#1380),#1391,.F.); +#1380 = FACE_BOUND('',#1381,.F.); +#1381 = EDGE_LOOP('',(#1382,#1383,#1384,#1390)); +#1382 = ORIENTED_EDGE('',*,*,#1368,.T.); +#1383 = ORIENTED_EDGE('',*,*,#1234,.T.); +#1384 = ORIENTED_EDGE('',*,*,#1385,.F.); +#1385 = EDGE_CURVE('',#1153,#1235,#1386,.T.); +#1386 = LINE('',#1387,#1388); +#1387 = CARTESIAN_POINT('',(-2.25,-8.575,-4.)); +#1388 = VECTOR('',#1389,1.); +#1389 = DIRECTION('',(0.,0.,1.)); +#1390 = ORIENTED_EDGE('',*,*,#1152,.F.); +#1391 = PLANE('',#1392); +#1392 = AXIS2_PLACEMENT_3D('',#1393,#1394,#1395); +#1393 = CARTESIAN_POINT('',(-6.70367965644,-8.575,-4.)); +#1394 = DIRECTION('',(0.,1.,0.)); +#1395 = DIRECTION('',(1.,0.,0.)); +#1396 = ADVANCED_FACE('',(#1397),#1408,.F.); +#1397 = FACE_BOUND('',#1398,.T.); +#1398 = EDGE_LOOP('',(#1399,#1405,#1406,#1407)); +#1399 = ORIENTED_EDGE('',*,*,#1400,.T.); +#1400 = EDGE_CURVE('',#1161,#1243,#1401,.T.); +#1401 = LINE('',#1402,#1403); +#1402 = CARTESIAN_POINT('',(2.25,-8.575,-4.)); +#1403 = VECTOR('',#1404,1.); +#1404 = DIRECTION('',(0.,0.,1.)); +#1405 = ORIENTED_EDGE('',*,*,#1242,.T.); +#1406 = ORIENTED_EDGE('',*,*,#1385,.F.); +#1407 = ORIENTED_EDGE('',*,*,#1160,.F.); +#1408 = CYLINDRICAL_SURFACE('',#1409,2.4375); +#1409 = AXIS2_PLACEMENT_3D('',#1410,#1411,#1412); +#1410 = CARTESIAN_POINT('',(0.,-9.5125,-4.)); +#1411 = DIRECTION('',(-0.,-0.,-1.)); +#1412 = DIRECTION('',(1.,0.,0.)); +#1413 = ADVANCED_FACE('',(#1414),#1425,.F.); +#1414 = FACE_BOUND('',#1415,.F.); +#1415 = EDGE_LOOP('',(#1416,#1417,#1418,#1424)); +#1416 = ORIENTED_EDGE('',*,*,#1400,.T.); +#1417 = ORIENTED_EDGE('',*,*,#1251,.T.); +#1418 = ORIENTED_EDGE('',*,*,#1419,.F.); +#1419 = EDGE_CURVE('',#1170,#1252,#1420,.T.); +#1420 = LINE('',#1421,#1422); +#1421 = CARTESIAN_POINT('',(6.70367965644,-8.575,-4.)); +#1422 = VECTOR('',#1423,1.); +#1423 = DIRECTION('',(0.,0.,1.)); +#1424 = ORIENTED_EDGE('',*,*,#1169,.F.); +#1425 = PLANE('',#1426); +#1426 = AXIS2_PLACEMENT_3D('',#1427,#1428,#1429); +#1427 = CARTESIAN_POINT('',(2.25,-8.575,-4.)); +#1428 = DIRECTION('',(6.86E-14,1.,0.)); +#1429 = DIRECTION('',(1.,-6.86E-14,0.)); +#1430 = ADVANCED_FACE('',(#1431),#1442,.F.); +#1431 = FACE_BOUND('',#1432,.F.); +#1432 = EDGE_LOOP('',(#1433,#1434,#1435,#1441)); +#1433 = ORIENTED_EDGE('',*,*,#1419,.T.); +#1434 = ORIENTED_EDGE('',*,*,#1259,.T.); +#1435 = ORIENTED_EDGE('',*,*,#1436,.F.); +#1436 = EDGE_CURVE('',#1178,#1260,#1437,.T.); +#1437 = LINE('',#1438,#1439); +#1438 = CARTESIAN_POINT('',(8.825,-6.45367965644,-4.)); +#1439 = VECTOR('',#1440,1.); +#1440 = DIRECTION('',(0.,0.,1.)); +#1441 = ORIENTED_EDGE('',*,*,#1177,.F.); +#1442 = PLANE('',#1443); +#1443 = AXIS2_PLACEMENT_3D('',#1444,#1445,#1446); +#1444 = CARTESIAN_POINT('',(6.70367965644,-8.575,-4.)); +#1445 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); +#1446 = DIRECTION('',(0.707106781187,0.707106781187,0.)); +#1447 = ADVANCED_FACE('',(#1448),#1459,.F.); +#1448 = FACE_BOUND('',#1449,.F.); +#1449 = EDGE_LOOP('',(#1450,#1451,#1452,#1458)); +#1450 = ORIENTED_EDGE('',*,*,#1436,.T.); +#1451 = ORIENTED_EDGE('',*,*,#1267,.T.); +#1452 = ORIENTED_EDGE('',*,*,#1453,.F.); +#1453 = EDGE_CURVE('',#1186,#1268,#1454,.T.); +#1454 = LINE('',#1455,#1456); +#1455 = CARTESIAN_POINT('',(8.825,6.45367965644,-4.)); +#1456 = VECTOR('',#1457,1.); +#1457 = DIRECTION('',(0.,0.,1.)); +#1458 = ORIENTED_EDGE('',*,*,#1185,.F.); +#1459 = PLANE('',#1460); +#1460 = AXIS2_PLACEMENT_3D('',#1461,#1462,#1463); +#1461 = CARTESIAN_POINT('',(8.825,-6.45367965644,-4.)); +#1462 = DIRECTION('',(-1.,0.,0.)); +#1463 = DIRECTION('',(0.,1.,0.)); +#1464 = ADVANCED_FACE('',(#1465),#1471,.F.); +#1465 = FACE_BOUND('',#1466,.F.); +#1466 = EDGE_LOOP('',(#1467,#1468,#1469,#1470)); +#1467 = ORIENTED_EDGE('',*,*,#1453,.T.); +#1468 = ORIENTED_EDGE('',*,*,#1275,.T.); +#1469 = ORIENTED_EDGE('',*,*,#1332,.F.); +#1470 = ORIENTED_EDGE('',*,*,#1193,.F.); +#1471 = PLANE('',#1472); +#1472 = AXIS2_PLACEMENT_3D('',#1473,#1474,#1475); +#1473 = CARTESIAN_POINT('',(8.825,6.45367965644,-4.)); +#1474 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); +#1475 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); +#1476 = ADVANCED_FACE('',(#1477),#1502,.F.); +#1477 = FACE_BOUND('',#1478,.F.); +#1478 = EDGE_LOOP('',(#1479,#1487,#1495,#1501)); +#1479 = ORIENTED_EDGE('',*,*,#1480,.T.); +#1480 = EDGE_CURVE('',#1293,#1481,#1483,.T.); +#1481 = VERTEX_POINT('',#1482); +#1482 = CARTESIAN_POINT('',(-7.5,-7.05,5.)); +#1483 = LINE('',#1484,#1485); +#1484 = CARTESIAN_POINT('',(-7.5,-7.05,0.)); +#1485 = VECTOR('',#1486,1.); +#1486 = DIRECTION('',(0.,0.,1.)); +#1487 = ORIENTED_EDGE('',*,*,#1488,.T.); +#1488 = EDGE_CURVE('',#1481,#1489,#1491,.T.); +#1489 = VERTEX_POINT('',#1490); +#1490 = CARTESIAN_POINT('',(7.5,-7.05,5.)); +#1491 = LINE('',#1492,#1493); +#1492 = CARTESIAN_POINT('',(-7.5,-7.05,5.)); +#1493 = VECTOR('',#1494,1.); +#1494 = DIRECTION('',(1.,0.,0.)); +#1495 = ORIENTED_EDGE('',*,*,#1496,.F.); +#1496 = EDGE_CURVE('',#1295,#1489,#1497,.T.); +#1497 = LINE('',#1498,#1499); +#1498 = CARTESIAN_POINT('',(7.5,-7.05,0.)); +#1499 = VECTOR('',#1500,1.); +#1500 = DIRECTION('',(0.,0.,1.)); +#1501 = ORIENTED_EDGE('',*,*,#1292,.F.); +#1502 = PLANE('',#1503); +#1503 = AXIS2_PLACEMENT_3D('',#1504,#1505,#1506); +#1504 = CARTESIAN_POINT('',(-7.5,-7.05,0.)); +#1505 = DIRECTION('',(0.,1.,0.)); +#1506 = DIRECTION('',(1.,0.,0.)); +#1507 = ADVANCED_FACE('',(#1508),#1526,.F.); +#1508 = FACE_BOUND('',#1509,.F.); +#1509 = EDGE_LOOP('',(#1510,#1511,#1519,#1525)); +#1510 = ORIENTED_EDGE('',*,*,#1496,.T.); +#1511 = ORIENTED_EDGE('',*,*,#1512,.T.); +#1512 = EDGE_CURVE('',#1489,#1513,#1515,.T.); +#1513 = VERTEX_POINT('',#1514); +#1514 = CARTESIAN_POINT('',(7.5,7.05,5.)); +#1515 = LINE('',#1516,#1517); +#1516 = CARTESIAN_POINT('',(7.5,-7.05,5.)); +#1517 = VECTOR('',#1518,1.); +#1518 = DIRECTION('',(0.,1.,0.)); +#1519 = ORIENTED_EDGE('',*,*,#1520,.F.); +#1520 = EDGE_CURVE('',#1311,#1513,#1521,.T.); +#1521 = LINE('',#1522,#1523); +#1522 = CARTESIAN_POINT('',(7.5,7.05,0.)); +#1523 = VECTOR('',#1524,1.); +#1524 = DIRECTION('',(0.,0.,1.)); +#1525 = ORIENTED_EDGE('',*,*,#1318,.F.); +#1526 = PLANE('',#1527); +#1527 = AXIS2_PLACEMENT_3D('',#1528,#1529,#1530); +#1528 = CARTESIAN_POINT('',(7.5,-7.05,0.)); +#1529 = DIRECTION('',(-1.,0.,0.)); +#1530 = DIRECTION('',(0.,1.,0.)); +#1531 = ADVANCED_FACE('',(#1532),#1550,.F.); +#1532 = FACE_BOUND('',#1533,.F.); +#1533 = EDGE_LOOP('',(#1534,#1535,#1543,#1549)); +#1534 = ORIENTED_EDGE('',*,*,#1520,.T.); +#1535 = ORIENTED_EDGE('',*,*,#1536,.T.); +#1536 = EDGE_CURVE('',#1513,#1537,#1539,.T.); +#1537 = VERTEX_POINT('',#1538); +#1538 = CARTESIAN_POINT('',(-7.5,7.05,5.)); +#1539 = LINE('',#1540,#1541); +#1540 = CARTESIAN_POINT('',(7.5,7.05,5.)); +#1541 = VECTOR('',#1542,1.); +#1542 = DIRECTION('',(-1.,0.,0.)); +#1543 = ORIENTED_EDGE('',*,*,#1544,.F.); +#1544 = EDGE_CURVE('',#1303,#1537,#1545,.T.); +#1545 = LINE('',#1546,#1547); +#1546 = CARTESIAN_POINT('',(-7.5,7.05,0.)); +#1547 = VECTOR('',#1548,1.); +#1548 = DIRECTION('',(0.,0.,1.)); +#1549 = ORIENTED_EDGE('',*,*,#1310,.F.); +#1550 = PLANE('',#1551); +#1551 = AXIS2_PLACEMENT_3D('',#1552,#1553,#1554); +#1552 = CARTESIAN_POINT('',(7.5,7.05,0.)); +#1553 = DIRECTION('',(0.,-1.,0.)); +#1554 = DIRECTION('',(-1.,0.,0.)); +#1555 = ADVANCED_FACE('',(#1556),#1567,.F.); +#1556 = FACE_BOUND('',#1557,.F.); +#1557 = EDGE_LOOP('',(#1558,#1559,#1565,#1566)); +#1558 = ORIENTED_EDGE('',*,*,#1544,.T.); +#1559 = ORIENTED_EDGE('',*,*,#1560,.T.); +#1560 = EDGE_CURVE('',#1537,#1481,#1561,.T.); +#1561 = LINE('',#1562,#1563); +#1562 = CARTESIAN_POINT('',(-7.5,7.05,5.)); +#1563 = VECTOR('',#1564,1.); +#1564 = DIRECTION('',(0.,-1.,0.)); +#1565 = ORIENTED_EDGE('',*,*,#1480,.F.); +#1566 = ORIENTED_EDGE('',*,*,#1302,.F.); +#1567 = PLANE('',#1568); +#1568 = AXIS2_PLACEMENT_3D('',#1569,#1570,#1571); +#1569 = CARTESIAN_POINT('',(-7.5,7.05,0.)); +#1570 = DIRECTION('',(1.,0.,0.)); +#1571 = DIRECTION('',(0.,-1.,0.)); +#1572 = ADVANCED_FACE('',(#1573,#1579),#1590,.T.); +#1573 = FACE_BOUND('',#1574,.T.); +#1574 = EDGE_LOOP('',(#1575,#1576,#1577,#1578)); +#1575 = ORIENTED_EDGE('',*,*,#1488,.T.); +#1576 = ORIENTED_EDGE('',*,*,#1512,.T.); +#1577 = ORIENTED_EDGE('',*,*,#1536,.T.); +#1578 = ORIENTED_EDGE('',*,*,#1560,.T.); +#1579 = FACE_BOUND('',#1580,.T.); +#1580 = EDGE_LOOP('',(#1581)); +#1581 = ORIENTED_EDGE('',*,*,#1582,.F.); +#1582 = EDGE_CURVE('',#1583,#1583,#1585,.T.); +#1583 = VERTEX_POINT('',#1584); +#1584 = CARTESIAN_POINT('',(4.15,0.,5.)); +#1585 = CIRCLE('',#1586,4.15); +#1586 = AXIS2_PLACEMENT_3D('',#1587,#1588,#1589); +#1587 = CARTESIAN_POINT('',(0.,0.,5.)); +#1588 = DIRECTION('',(0.,0.,1.)); +#1589 = DIRECTION('',(1.,0.,0.)); +#1590 = PLANE('',#1591); +#1591 = AXIS2_PLACEMENT_3D('',#1592,#1593,#1594); +#1592 = CARTESIAN_POINT('',(2.441727614296E-16,2.441727614296E-16,5.)); +#1593 = DIRECTION('',(0.,0.,1.)); +#1594 = DIRECTION('',(1.,0.,0.)); +#1595 = ADVANCED_FACE('',(#1596),#1615,.T.); +#1596 = FACE_BOUND('',#1597,.F.); +#1597 = EDGE_LOOP('',(#1598,#1606,#1613,#1614)); +#1598 = ORIENTED_EDGE('',*,*,#1599,.T.); +#1599 = EDGE_CURVE('',#1583,#1600,#1602,.T.); +#1600 = VERTEX_POINT('',#1601); +#1601 = CARTESIAN_POINT('',(4.15,0.,11.5)); +#1602 = LINE('',#1603,#1604); +#1603 = CARTESIAN_POINT('',(4.15,0.,5.)); +#1604 = VECTOR('',#1605,1.); +#1605 = DIRECTION('',(0.,0.,1.)); +#1606 = ORIENTED_EDGE('',*,*,#1607,.T.); +#1607 = EDGE_CURVE('',#1600,#1600,#1608,.T.); +#1608 = CIRCLE('',#1609,4.15); +#1609 = AXIS2_PLACEMENT_3D('',#1610,#1611,#1612); +#1610 = CARTESIAN_POINT('',(0.,0.,11.5)); +#1611 = DIRECTION('',(0.,0.,1.)); +#1612 = DIRECTION('',(1.,0.,0.)); +#1613 = ORIENTED_EDGE('',*,*,#1599,.F.); +#1614 = ORIENTED_EDGE('',*,*,#1582,.F.); +#1615 = CYLINDRICAL_SURFACE('',#1616,4.15); +#1616 = AXIS2_PLACEMENT_3D('',#1617,#1618,#1619); +#1617 = CARTESIAN_POINT('',(0.,0.,5.)); +#1618 = DIRECTION('',(-0.,-0.,-1.)); +#1619 = DIRECTION('',(1.,0.,0.)); +#1620 = ADVANCED_FACE('',(#1621),#1624,.T.); +#1621 = FACE_BOUND('',#1622,.T.); +#1622 = EDGE_LOOP('',(#1623)); +#1623 = ORIENTED_EDGE('',*,*,#1607,.T.); +#1624 = PLANE('',#1625); +#1625 = AXIS2_PLACEMENT_3D('',#1626,#1627,#1628); +#1626 = CARTESIAN_POINT('',(-1.647518231975E-16,1.60094172513E-16,11.5) + ); +#1627 = DIRECTION('',(0.,0.,1.)); +#1628 = DIRECTION('',(1.,0.,0.)); +#1629 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1633)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1630,#1631,#1632)) REPRESENTATION_CONTEXT +('Context #1','3D Context with UNIT and UNCERTAINTY') ); +#1630 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#1631 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#1632 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#1633 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#1630, + 'distance_accuracy_value','confusion accuracy'); +#1634 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1635,#1637); +#1635 = ( REPRESENTATION_RELATIONSHIP('','',#1023,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1636) +SHAPE_REPRESENTATION_RELATIONSHIP() ); +#1636 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19); +#1637 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item', + #1638); +#1638 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('10','Part','',#5,#1018,$); +#1639 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#1020)); +#1640 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',( + #1641),#1005); +#1641 = STYLED_ITEM('color',(#1642),#37); +#1642 = PRESENTATION_STYLE_ASSIGNMENT((#1643,#1649)); +#1643 = SURFACE_STYLE_USAGE(.BOTH.,#1644); +#1644 = SURFACE_SIDE_STYLE('',(#1645)); +#1645 = SURFACE_STYLE_FILL_AREA(#1646); +#1646 = FILL_AREA_STYLE('',(#1647)); +#1647 = FILL_AREA_STYLE_COLOUR('',#1648); +#1648 = COLOUR_RGB('',0.678431390124,0.709803936702,0.741176476869); +#1649 = CURVE_STYLE('',#1650,POSITIVE_LENGTH_MEASURE(0.1),#1651); +#1650 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous'); +#1651 = COLOUR_RGB('',9.803921802644E-02,9.803921802644E-02, + 9.803921802644E-02); +#1652 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',( + #1653),#1629); +#1653 = STYLED_ITEM('color',(#1654),#1024); +#1654 = PRESENTATION_STYLE_ASSIGNMENT((#1655,#1660)); +#1655 = SURFACE_STYLE_USAGE(.BOTH.,#1656); +#1656 = SURFACE_SIDE_STYLE('',(#1657)); +#1657 = SURFACE_STYLE_FILL_AREA(#1658); +#1658 = FILL_AREA_STYLE('',(#1659)); +#1659 = FILL_AREA_STYLE_COLOUR('',#1648); +#1660 = CURVE_STYLE('',#1661,POSITIVE_LENGTH_MEASURE(0.1),#1651); +#1661 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous'); +ENDSEC; +END-ISO-10303-21; diff --git a/src/assets/trackpad-azoteq-tps65.step b/src/assets/trackpad-azoteq-tps65.step new file mode 100644 index 0000000..ca7abaa --- /dev/null +++ b/src/assets/trackpad-azoteq-tps65.step @@ -0,0 +1,1387 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('FreeCAD Model'),'2;1'); +FILE_NAME('Open CASCADE Shape Model','2025-01-16T00:39:15',('Author'),( + ''),'Open CASCADE STEP processor 7.8','FreeCAD','Unknown'); +FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); +ENDSEC; +DATA; +#1 = APPLICATION_PROTOCOL_DEFINITION('international standard', + 'automotive_design',2000,#2); +#2 = APPLICATION_CONTEXT( + 'core data for automotive mechanical design processes'); +#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); +#4 = PRODUCT_DEFINITION_SHAPE('','',#5); +#5 = PRODUCT_DEFINITION('design','',#6,#9); +#6 = PRODUCT_DEFINITION_FORMATION('','',#7); +#7 = PRODUCT('azoteq_tps65','azoteq_tps65','',(#8)); +#8 = PRODUCT_CONTEXT('',#2,'mechanical'); +#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#10 = SHAPE_REPRESENTATION('',(#11,#15,#19),#23); +#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.,-1.5)); +#21 = DIRECTION('',(0.,0.,1.)); +#22 = DIRECTION('',(1.,0.,0.)); +#23 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#27)) GLOBAL_UNIT_ASSIGNED_CONTEXT( +(#24,#25,#26)) REPRESENTATION_CONTEXT('Context #1', + '3D Context with UNIT and UNCERTAINTY') ); +#24 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#25 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#26 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#27 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.E-05),#24, + 'distance_accuracy_value','confusion accuracy'); +#28 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); +#29 = SHAPE_DEFINITION_REPRESENTATION(#30,#36); +#30 = PRODUCT_DEFINITION_SHAPE('','',#31); +#31 = PRODUCT_DEFINITION('design','',#32,#35); +#32 = PRODUCT_DEFINITION_FORMATION('','',#33); +#33 = PRODUCT('Socket','Socket','',(#34)); +#34 = PRODUCT_CONTEXT('',#2,'mechanical'); +#35 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#36 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#37),#1007); +#37 = MANIFOLD_SOLID_BREP('',#38); +#38 = CLOSED_SHELL('',(#39,#111,#280,#336,#353,#371,#561,#586,#602,#637, + #677,#699,#716,#733,#750,#767,#784,#801,#818,#835,#852,#869,#886, + #903,#920,#937,#949,#966,#978,#996)); +#39 = ADVANCED_FACE('',(#40),#106,.F.); +#40 = FACE_BOUND('',#41,.F.); +#41 = EDGE_LOOP('',(#42,#52,#60,#68,#76,#84,#92,#100)); +#42 = ORIENTED_EDGE('',*,*,#43,.F.); +#43 = EDGE_CURVE('',#44,#46,#48,.T.); +#44 = VERTEX_POINT('',#45); +#45 = CARTESIAN_POINT('',(-32.6,-24.5,-4.)); +#46 = VERTEX_POINT('',#47); +#47 = CARTESIAN_POINT('',(32.6,-24.5,-4.)); +#48 = LINE('',#49,#50); +#49 = CARTESIAN_POINT('',(-32.6,-24.5,-4.)); +#50 = VECTOR('',#51,1.); +#51 = DIRECTION('',(1.,0.,0.)); +#52 = ORIENTED_EDGE('',*,*,#53,.T.); +#53 = EDGE_CURVE('',#44,#54,#56,.T.); +#54 = VERTEX_POINT('',#55); +#55 = CARTESIAN_POINT('',(-32.6,-24.5,0.)); +#56 = LINE('',#57,#58); +#57 = CARTESIAN_POINT('',(-32.6,-24.5,-4.)); +#58 = VECTOR('',#59,1.); +#59 = DIRECTION('',(0.,0.,1.)); +#60 = ORIENTED_EDGE('',*,*,#61,.T.); +#61 = EDGE_CURVE('',#54,#62,#64,.T.); +#62 = VERTEX_POINT('',#63); +#63 = CARTESIAN_POINT('',(-30.1,-24.5,0.)); +#64 = LINE('',#65,#66); +#65 = CARTESIAN_POINT('',(-32.6,-24.5,0.)); +#66 = VECTOR('',#67,1.); +#67 = DIRECTION('',(1.,0.,0.)); +#68 = ORIENTED_EDGE('',*,*,#69,.T.); +#69 = EDGE_CURVE('',#62,#70,#72,.T.); +#70 = VERTEX_POINT('',#71); +#71 = CARTESIAN_POINT('',(-30.1,-24.5,-1.5)); +#72 = LINE('',#73,#74); +#73 = CARTESIAN_POINT('',(-30.1,-24.5,0.)); +#74 = VECTOR('',#75,1.); +#75 = DIRECTION('',(-0.,-0.,-1.)); +#76 = ORIENTED_EDGE('',*,*,#77,.T.); +#77 = EDGE_CURVE('',#70,#78,#80,.T.); +#78 = VERTEX_POINT('',#79); +#79 = CARTESIAN_POINT('',(30.1,-24.5,-1.5)); +#80 = LINE('',#81,#82); +#81 = CARTESIAN_POINT('',(-30.1,-24.5,-1.5)); +#82 = VECTOR('',#83,1.); +#83 = DIRECTION('',(1.,0.,0.)); +#84 = ORIENTED_EDGE('',*,*,#85,.F.); +#85 = EDGE_CURVE('',#86,#78,#88,.T.); +#86 = VERTEX_POINT('',#87); +#87 = CARTESIAN_POINT('',(30.1,-24.5,0.)); +#88 = LINE('',#89,#90); +#89 = CARTESIAN_POINT('',(30.1,-24.5,0.)); +#90 = VECTOR('',#91,1.); +#91 = DIRECTION('',(-0.,-0.,-1.)); +#92 = ORIENTED_EDGE('',*,*,#93,.T.); +#93 = EDGE_CURVE('',#86,#94,#96,.T.); +#94 = VERTEX_POINT('',#95); +#95 = CARTESIAN_POINT('',(32.6,-24.5,0.)); +#96 = LINE('',#97,#98); +#97 = CARTESIAN_POINT('',(-32.6,-24.5,0.)); +#98 = VECTOR('',#99,1.); +#99 = DIRECTION('',(1.,0.,0.)); +#100 = ORIENTED_EDGE('',*,*,#101,.F.); +#101 = EDGE_CURVE('',#46,#94,#102,.T.); +#102 = LINE('',#103,#104); +#103 = CARTESIAN_POINT('',(32.6,-24.5,-4.)); +#104 = VECTOR('',#105,1.); +#105 = DIRECTION('',(0.,0.,1.)); +#106 = PLANE('',#107); +#107 = AXIS2_PLACEMENT_3D('',#108,#109,#110); +#108 = CARTESIAN_POINT('',(-32.6,-24.5,-4.)); +#109 = DIRECTION('',(0.,1.,0.)); +#110 = DIRECTION('',(1.,0.,0.)); +#111 = ADVANCED_FACE('',(#112,#137),#275,.F.); +#112 = FACE_BOUND('',#113,.F.); +#113 = EDGE_LOOP('',(#114,#115,#123,#131)); +#114 = ORIENTED_EDGE('',*,*,#43,.T.); +#115 = ORIENTED_EDGE('',*,*,#116,.T.); +#116 = EDGE_CURVE('',#46,#117,#119,.T.); +#117 = VERTEX_POINT('',#118); +#118 = CARTESIAN_POINT('',(32.6,24.5,-4.)); +#119 = LINE('',#120,#121); +#120 = CARTESIAN_POINT('',(32.6,-24.5,-4.)); +#121 = VECTOR('',#122,1.); +#122 = DIRECTION('',(0.,1.,0.)); +#123 = ORIENTED_EDGE('',*,*,#124,.T.); +#124 = EDGE_CURVE('',#117,#125,#127,.T.); +#125 = VERTEX_POINT('',#126); +#126 = CARTESIAN_POINT('',(-32.6,24.5,-4.)); +#127 = LINE('',#128,#129); +#128 = CARTESIAN_POINT('',(32.6,24.5,-4.)); +#129 = VECTOR('',#130,1.); +#130 = DIRECTION('',(-1.,0.,0.)); +#131 = ORIENTED_EDGE('',*,*,#132,.T.); +#132 = EDGE_CURVE('',#125,#44,#133,.T.); +#133 = LINE('',#134,#135); +#134 = CARTESIAN_POINT('',(-32.6,24.5,-4.)); +#135 = VECTOR('',#136,1.); +#136 = DIRECTION('',(0.,-1.,0.)); +#137 = FACE_BOUND('',#138,.F.); +#138 = EDGE_LOOP('',(#139,#149,#158,#166,#175,#183,#192,#200,#209,#217, + #226,#234,#243,#251,#260,#268)); +#139 = ORIENTED_EDGE('',*,*,#140,.F.); +#140 = EDGE_CURVE('',#141,#143,#145,.T.); +#141 = VERTEX_POINT('',#142); +#142 = CARTESIAN_POINT('',(-16.25,18.,-4.)); +#143 = VERTEX_POINT('',#144); +#144 = CARTESIAN_POINT('',(-16.75,18.,-4.)); +#145 = LINE('',#146,#147); +#146 = CARTESIAN_POINT('',(-8.125,18.,-4.)); +#147 = VECTOR('',#148,1.); +#148 = DIRECTION('',(-1.,0.,0.)); +#149 = ORIENTED_EDGE('',*,*,#150,.T.); +#150 = EDGE_CURVE('',#141,#151,#153,.T.); +#151 = VERTEX_POINT('',#152); +#152 = CARTESIAN_POINT('',(-15.,19.25,-4.)); +#153 = CIRCLE('',#154,1.25); +#154 = AXIS2_PLACEMENT_3D('',#155,#156,#157); +#155 = CARTESIAN_POINT('',(-16.25,19.25,-4.)); +#156 = DIRECTION('',(0.,0.,1.)); +#157 = DIRECTION('',(1.,0.,0.)); +#158 = ORIENTED_EDGE('',*,*,#159,.F.); +#159 = EDGE_CURVE('',#160,#151,#162,.T.); +#160 = VERTEX_POINT('',#161); +#161 = CARTESIAN_POINT('',(-15.,20.75,-4.)); +#162 = LINE('',#163,#164); +#163 = CARTESIAN_POINT('',(-15.,10.375,-4.)); +#164 = VECTOR('',#165,1.); +#165 = DIRECTION('',(0.,-1.,0.)); +#166 = ORIENTED_EDGE('',*,*,#167,.F.); +#167 = EDGE_CURVE('',#168,#160,#170,.T.); +#168 = VERTEX_POINT('',#169); +#169 = CARTESIAN_POINT('',(-13.75,22.,-4.)); +#170 = CIRCLE('',#171,1.25); +#171 = AXIS2_PLACEMENT_3D('',#172,#173,#174); +#172 = CARTESIAN_POINT('',(-13.75,20.75,-4.)); +#173 = DIRECTION('',(0.,0.,1.)); +#174 = DIRECTION('',(1.,0.,0.)); +#175 = ORIENTED_EDGE('',*,*,#176,.F.); +#176 = EDGE_CURVE('',#177,#168,#179,.T.); +#177 = VERTEX_POINT('',#178); +#178 = CARTESIAN_POINT('',(1.75,22.,-4.)); +#179 = LINE('',#180,#181); +#180 = CARTESIAN_POINT('',(0.875,22.,-4.)); +#181 = VECTOR('',#182,1.); +#182 = DIRECTION('',(-1.,0.,0.)); +#183 = ORIENTED_EDGE('',*,*,#184,.F.); +#184 = EDGE_CURVE('',#185,#177,#187,.T.); +#185 = VERTEX_POINT('',#186); +#186 = CARTESIAN_POINT('',(3.,20.75,-4.)); +#187 = CIRCLE('',#188,1.25); +#188 = AXIS2_PLACEMENT_3D('',#189,#190,#191); +#189 = CARTESIAN_POINT('',(1.75,20.75,-4.)); +#190 = DIRECTION('',(0.,0.,1.)); +#191 = DIRECTION('',(1.,0.,0.)); +#192 = ORIENTED_EDGE('',*,*,#193,.F.); +#193 = EDGE_CURVE('',#194,#185,#196,.T.); +#194 = VERTEX_POINT('',#195); +#195 = CARTESIAN_POINT('',(3.,20.301797255863,-4.)); +#196 = LINE('',#197,#198); +#197 = CARTESIAN_POINT('',(3.,10.150898627932,-4.)); +#198 = VECTOR('',#199,1.); +#199 = DIRECTION('',(0.,1.,0.)); +#200 = ORIENTED_EDGE('',*,*,#201,.T.); +#201 = EDGE_CURVE('',#194,#202,#204,.T.); +#202 = VERTEX_POINT('',#203); +#203 = CARTESIAN_POINT('',(4.25,19.051797255863,-4.)); +#204 = CIRCLE('',#205,1.25); +#205 = AXIS2_PLACEMENT_3D('',#206,#207,#208); +#206 = CARTESIAN_POINT('',(4.25,20.301797255863,-4.)); +#207 = DIRECTION('',(0.,0.,1.)); +#208 = DIRECTION('',(1.,0.,0.)); +#209 = ORIENTED_EDGE('',*,*,#210,.F.); +#210 = EDGE_CURVE('',#211,#202,#213,.T.); +#211 = VERTEX_POINT('',#212); +#212 = CARTESIAN_POINT('',(22.75,19.051797255863,-4.)); +#213 = LINE('',#214,#215); +#214 = CARTESIAN_POINT('',(11.375,19.051797255863,-4.)); +#215 = VECTOR('',#216,1.); +#216 = DIRECTION('',(-1.,0.,0.)); +#217 = ORIENTED_EDGE('',*,*,#218,.F.); +#218 = EDGE_CURVE('',#219,#211,#221,.T.); +#219 = VERTEX_POINT('',#220); +#220 = CARTESIAN_POINT('',(24.,17.801797255863,-4.)); +#221 = CIRCLE('',#222,1.25); +#222 = AXIS2_PLACEMENT_3D('',#223,#224,#225); +#223 = CARTESIAN_POINT('',(22.75,17.801797255863,-4.)); +#224 = DIRECTION('',(0.,0.,1.)); +#225 = DIRECTION('',(1.,0.,0.)); +#226 = ORIENTED_EDGE('',*,*,#227,.F.); +#227 = EDGE_CURVE('',#228,#219,#230,.T.); +#228 = VERTEX_POINT('',#229); +#229 = CARTESIAN_POINT('',(24.,-14.75,-4.)); +#230 = LINE('',#231,#232); +#231 = CARTESIAN_POINT('',(24.,-7.375,-4.)); +#232 = VECTOR('',#233,1.); +#233 = DIRECTION('',(0.,1.,0.)); +#234 = ORIENTED_EDGE('',*,*,#235,.F.); +#235 = EDGE_CURVE('',#236,#228,#238,.T.); +#236 = VERTEX_POINT('',#237); +#237 = CARTESIAN_POINT('',(22.75,-16.,-4.)); +#238 = CIRCLE('',#239,1.25); +#239 = AXIS2_PLACEMENT_3D('',#240,#241,#242); +#240 = CARTESIAN_POINT('',(22.75,-14.75,-4.)); +#241 = DIRECTION('',(0.,0.,1.)); +#242 = DIRECTION('',(1.,0.,0.)); +#243 = ORIENTED_EDGE('',*,*,#244,.F.); +#244 = EDGE_CURVE('',#245,#236,#247,.T.); +#245 = VERTEX_POINT('',#246); +#246 = CARTESIAN_POINT('',(-16.75,-16.,-4.)); +#247 = LINE('',#248,#249); +#248 = CARTESIAN_POINT('',(-8.375,-16.,-4.)); +#249 = VECTOR('',#250,1.); +#250 = DIRECTION('',(1.,0.,0.)); +#251 = ORIENTED_EDGE('',*,*,#252,.F.); +#252 = EDGE_CURVE('',#253,#245,#255,.T.); +#253 = VERTEX_POINT('',#254); +#254 = CARTESIAN_POINT('',(-18.,-14.75,-4.)); +#255 = CIRCLE('',#256,1.25); +#256 = AXIS2_PLACEMENT_3D('',#257,#258,#259); +#257 = CARTESIAN_POINT('',(-16.75,-14.75,-4.)); +#258 = DIRECTION('',(0.,0.,1.)); +#259 = DIRECTION('',(1.,0.,0.)); +#260 = ORIENTED_EDGE('',*,*,#261,.F.); +#261 = EDGE_CURVE('',#262,#253,#264,.T.); +#262 = VERTEX_POINT('',#263); +#263 = CARTESIAN_POINT('',(-18.,16.75,-4.)); +#264 = LINE('',#265,#266); +#265 = CARTESIAN_POINT('',(-18.,8.375,-4.)); +#266 = VECTOR('',#267,1.); +#267 = DIRECTION('',(0.,-1.,0.)); +#268 = ORIENTED_EDGE('',*,*,#269,.F.); +#269 = EDGE_CURVE('',#143,#262,#270,.T.); +#270 = CIRCLE('',#271,1.25); +#271 = AXIS2_PLACEMENT_3D('',#272,#273,#274); +#272 = CARTESIAN_POINT('',(-16.75,16.75,-4.)); +#273 = DIRECTION('',(0.,0.,1.)); +#274 = DIRECTION('',(1.,0.,0.)); +#275 = PLANE('',#276); +#276 = AXIS2_PLACEMENT_3D('',#277,#278,#279); +#277 = CARTESIAN_POINT('',(-9.955064599091E-16,0.,-4.)); +#278 = DIRECTION('',(0.,0.,1.)); +#279 = DIRECTION('',(1.,0.,0.)); +#280 = ADVANCED_FACE('',(#281),#331,.F.); +#281 = FACE_BOUND('',#282,.F.); +#282 = EDGE_LOOP('',(#283,#284,#285,#293,#301,#309,#317,#325)); +#283 = ORIENTED_EDGE('',*,*,#116,.F.); +#284 = ORIENTED_EDGE('',*,*,#101,.T.); +#285 = ORIENTED_EDGE('',*,*,#286,.T.); +#286 = EDGE_CURVE('',#94,#287,#289,.T.); +#287 = VERTEX_POINT('',#288); +#288 = CARTESIAN_POINT('',(32.6,-22.,0.)); +#289 = LINE('',#290,#291); +#290 = CARTESIAN_POINT('',(32.6,-24.5,0.)); +#291 = VECTOR('',#292,1.); +#292 = DIRECTION('',(0.,1.,0.)); +#293 = ORIENTED_EDGE('',*,*,#294,.T.); +#294 = EDGE_CURVE('',#287,#295,#297,.T.); +#295 = VERTEX_POINT('',#296); +#296 = CARTESIAN_POINT('',(32.6,-22.,-1.5)); +#297 = LINE('',#298,#299); +#298 = CARTESIAN_POINT('',(32.6,-22.,0.)); +#299 = VECTOR('',#300,1.); +#300 = DIRECTION('',(-0.,-0.,-1.)); +#301 = ORIENTED_EDGE('',*,*,#302,.T.); +#302 = EDGE_CURVE('',#295,#303,#305,.T.); +#303 = VERTEX_POINT('',#304); +#304 = CARTESIAN_POINT('',(32.6,22.,-1.5)); +#305 = LINE('',#306,#307); +#306 = CARTESIAN_POINT('',(32.6,-22.,-1.5)); +#307 = VECTOR('',#308,1.); +#308 = DIRECTION('',(0.,1.,0.)); +#309 = ORIENTED_EDGE('',*,*,#310,.F.); +#310 = EDGE_CURVE('',#311,#303,#313,.T.); +#311 = VERTEX_POINT('',#312); +#312 = CARTESIAN_POINT('',(32.6,22.,0.)); +#313 = LINE('',#314,#315); +#314 = CARTESIAN_POINT('',(32.6,22.,0.)); +#315 = VECTOR('',#316,1.); +#316 = DIRECTION('',(-0.,-0.,-1.)); +#317 = ORIENTED_EDGE('',*,*,#318,.T.); +#318 = EDGE_CURVE('',#311,#319,#321,.T.); +#319 = VERTEX_POINT('',#320); +#320 = CARTESIAN_POINT('',(32.6,24.5,0.)); +#321 = LINE('',#322,#323); +#322 = CARTESIAN_POINT('',(32.6,-24.5,0.)); +#323 = VECTOR('',#324,1.); +#324 = DIRECTION('',(0.,1.,0.)); +#325 = ORIENTED_EDGE('',*,*,#326,.F.); +#326 = EDGE_CURVE('',#117,#319,#327,.T.); +#327 = LINE('',#328,#329); +#328 = CARTESIAN_POINT('',(32.6,24.5,-4.)); +#329 = VECTOR('',#330,1.); +#330 = DIRECTION('',(0.,0.,1.)); +#331 = PLANE('',#332); +#332 = AXIS2_PLACEMENT_3D('',#333,#334,#335); +#333 = CARTESIAN_POINT('',(32.6,-24.5,-4.)); +#334 = DIRECTION('',(-1.,0.,0.)); +#335 = DIRECTION('',(0.,1.,0.)); +#336 = ADVANCED_FACE('',(#337),#348,.T.); +#337 = FACE_BOUND('',#338,.T.); +#338 = EDGE_LOOP('',(#339,#346,#347)); +#339 = ORIENTED_EDGE('',*,*,#340,.F.); +#340 = EDGE_CURVE('',#86,#287,#341,.T.); +#341 = CIRCLE('',#342,2.5); +#342 = AXIS2_PLACEMENT_3D('',#343,#344,#345); +#343 = CARTESIAN_POINT('',(30.1,-22.,0.)); +#344 = DIRECTION('',(0.,0.,1.)); +#345 = DIRECTION('',(1.,0.,0.)); +#346 = ORIENTED_EDGE('',*,*,#93,.T.); +#347 = ORIENTED_EDGE('',*,*,#286,.T.); +#348 = PLANE('',#349); +#349 = AXIS2_PLACEMENT_3D('',#350,#351,#352); +#350 = CARTESIAN_POINT('',(-9.955064599091E-16,0.,0.)); +#351 = DIRECTION('',(0.,0.,1.)); +#352 = DIRECTION('',(1.,0.,0.)); +#353 = ADVANCED_FACE('',(#354),#366,.F.); +#354 = FACE_BOUND('',#355,.F.); +#355 = EDGE_LOOP('',(#356,#357,#364,#365)); +#356 = ORIENTED_EDGE('',*,*,#85,.T.); +#357 = ORIENTED_EDGE('',*,*,#358,.T.); +#358 = EDGE_CURVE('',#78,#295,#359,.T.); +#359 = CIRCLE('',#360,2.5); +#360 = AXIS2_PLACEMENT_3D('',#361,#362,#363); +#361 = CARTESIAN_POINT('',(30.1,-22.,-1.5)); +#362 = DIRECTION('',(0.,0.,1.)); +#363 = DIRECTION('',(1.,0.,0.)); +#364 = ORIENTED_EDGE('',*,*,#294,.F.); +#365 = ORIENTED_EDGE('',*,*,#340,.F.); +#366 = CYLINDRICAL_SURFACE('',#367,2.5); +#367 = AXIS2_PLACEMENT_3D('',#368,#369,#370); +#368 = CARTESIAN_POINT('',(30.1,-22.,0.)); +#369 = DIRECTION('',(0.,0.,1.)); +#370 = DIRECTION('',(1.,0.,0.)); +#371 = ADVANCED_FACE('',(#372,#418),#556,.T.); +#372 = FACE_BOUND('',#373,.T.); +#373 = EDGE_LOOP('',(#374,#375,#376,#377,#386,#394,#403,#411)); +#374 = ORIENTED_EDGE('',*,*,#77,.T.); +#375 = ORIENTED_EDGE('',*,*,#358,.T.); +#376 = ORIENTED_EDGE('',*,*,#302,.T.); +#377 = ORIENTED_EDGE('',*,*,#378,.T.); +#378 = EDGE_CURVE('',#303,#379,#381,.T.); +#379 = VERTEX_POINT('',#380); +#380 = CARTESIAN_POINT('',(30.1,24.5,-1.5)); +#381 = CIRCLE('',#382,2.5); +#382 = AXIS2_PLACEMENT_3D('',#383,#384,#385); +#383 = CARTESIAN_POINT('',(30.1,22.,-1.5)); +#384 = DIRECTION('',(0.,0.,1.)); +#385 = DIRECTION('',(1.,0.,0.)); +#386 = ORIENTED_EDGE('',*,*,#387,.T.); +#387 = EDGE_CURVE('',#379,#388,#390,.T.); +#388 = VERTEX_POINT('',#389); +#389 = CARTESIAN_POINT('',(-30.1,24.5,-1.5)); +#390 = LINE('',#391,#392); +#391 = CARTESIAN_POINT('',(30.1,24.5,-1.5)); +#392 = VECTOR('',#393,1.); +#393 = DIRECTION('',(-1.,0.,0.)); +#394 = ORIENTED_EDGE('',*,*,#395,.T.); +#395 = EDGE_CURVE('',#388,#396,#398,.T.); +#396 = VERTEX_POINT('',#397); +#397 = CARTESIAN_POINT('',(-32.6,22.,-1.5)); +#398 = CIRCLE('',#399,2.5); +#399 = AXIS2_PLACEMENT_3D('',#400,#401,#402); +#400 = CARTESIAN_POINT('',(-30.1,22.,-1.5)); +#401 = DIRECTION('',(0.,0.,1.)); +#402 = DIRECTION('',(1.,0.,0.)); +#403 = ORIENTED_EDGE('',*,*,#404,.T.); +#404 = EDGE_CURVE('',#396,#405,#407,.T.); +#405 = VERTEX_POINT('',#406); +#406 = CARTESIAN_POINT('',(-32.6,-22.,-1.5)); +#407 = LINE('',#408,#409); +#408 = CARTESIAN_POINT('',(-32.6,22.,-1.5)); +#409 = VECTOR('',#410,1.); +#410 = DIRECTION('',(0.,-1.,0.)); +#411 = ORIENTED_EDGE('',*,*,#412,.T.); +#412 = EDGE_CURVE('',#405,#70,#413,.T.); +#413 = CIRCLE('',#414,2.5); +#414 = AXIS2_PLACEMENT_3D('',#415,#416,#417); +#415 = CARTESIAN_POINT('',(-30.1,-22.,-1.5)); +#416 = DIRECTION('',(0.,0.,1.)); +#417 = DIRECTION('',(1.,0.,0.)); +#418 = FACE_BOUND('',#419,.T.); +#419 = EDGE_LOOP('',(#420,#430,#439,#447,#456,#464,#473,#481,#490,#498, + #507,#515,#524,#532,#541,#549)); +#420 = ORIENTED_EDGE('',*,*,#421,.F.); +#421 = EDGE_CURVE('',#422,#424,#426,.T.); +#422 = VERTEX_POINT('',#423); +#423 = CARTESIAN_POINT('',(-16.25,18.,-1.5)); +#424 = VERTEX_POINT('',#425); +#425 = CARTESIAN_POINT('',(-16.75,18.,-1.5)); +#426 = LINE('',#427,#428); +#427 = CARTESIAN_POINT('',(-8.125,18.,-1.5)); +#428 = VECTOR('',#429,1.); +#429 = DIRECTION('',(-1.,0.,0.)); +#430 = ORIENTED_EDGE('',*,*,#431,.T.); +#431 = EDGE_CURVE('',#422,#432,#434,.T.); +#432 = VERTEX_POINT('',#433); +#433 = CARTESIAN_POINT('',(-15.,19.25,-1.5)); +#434 = CIRCLE('',#435,1.25); +#435 = AXIS2_PLACEMENT_3D('',#436,#437,#438); +#436 = CARTESIAN_POINT('',(-16.25,19.25,-1.5)); +#437 = DIRECTION('',(0.,0.,1.)); +#438 = DIRECTION('',(1.,0.,0.)); +#439 = ORIENTED_EDGE('',*,*,#440,.F.); +#440 = EDGE_CURVE('',#441,#432,#443,.T.); +#441 = VERTEX_POINT('',#442); +#442 = CARTESIAN_POINT('',(-15.,20.75,-1.5)); +#443 = LINE('',#444,#445); +#444 = CARTESIAN_POINT('',(-15.,10.375,-1.5)); +#445 = VECTOR('',#446,1.); +#446 = DIRECTION('',(0.,-1.,0.)); +#447 = ORIENTED_EDGE('',*,*,#448,.F.); +#448 = EDGE_CURVE('',#449,#441,#451,.T.); +#449 = VERTEX_POINT('',#450); +#450 = CARTESIAN_POINT('',(-13.75,22.,-1.5)); +#451 = CIRCLE('',#452,1.25); +#452 = AXIS2_PLACEMENT_3D('',#453,#454,#455); +#453 = CARTESIAN_POINT('',(-13.75,20.75,-1.5)); +#454 = DIRECTION('',(0.,0.,1.)); +#455 = DIRECTION('',(1.,0.,0.)); +#456 = ORIENTED_EDGE('',*,*,#457,.F.); +#457 = EDGE_CURVE('',#458,#449,#460,.T.); +#458 = VERTEX_POINT('',#459); +#459 = CARTESIAN_POINT('',(1.75,22.,-1.5)); +#460 = LINE('',#461,#462); +#461 = CARTESIAN_POINT('',(0.875,22.,-1.5)); +#462 = VECTOR('',#463,1.); +#463 = DIRECTION('',(-1.,0.,0.)); +#464 = ORIENTED_EDGE('',*,*,#465,.F.); +#465 = EDGE_CURVE('',#466,#458,#468,.T.); +#466 = VERTEX_POINT('',#467); +#467 = CARTESIAN_POINT('',(3.,20.75,-1.5)); +#468 = CIRCLE('',#469,1.25); +#469 = AXIS2_PLACEMENT_3D('',#470,#471,#472); +#470 = CARTESIAN_POINT('',(1.75,20.75,-1.5)); +#471 = DIRECTION('',(0.,0.,1.)); +#472 = DIRECTION('',(1.,0.,0.)); +#473 = ORIENTED_EDGE('',*,*,#474,.F.); +#474 = EDGE_CURVE('',#475,#466,#477,.T.); +#475 = VERTEX_POINT('',#476); +#476 = CARTESIAN_POINT('',(3.,20.301797255863,-1.5)); +#477 = LINE('',#478,#479); +#478 = CARTESIAN_POINT('',(3.,10.150898627932,-1.5)); +#479 = VECTOR('',#480,1.); +#480 = DIRECTION('',(0.,1.,0.)); +#481 = ORIENTED_EDGE('',*,*,#482,.T.); +#482 = EDGE_CURVE('',#475,#483,#485,.T.); +#483 = VERTEX_POINT('',#484); +#484 = CARTESIAN_POINT('',(4.25,19.051797255863,-1.5)); +#485 = CIRCLE('',#486,1.25); +#486 = AXIS2_PLACEMENT_3D('',#487,#488,#489); +#487 = CARTESIAN_POINT('',(4.25,20.301797255863,-1.5)); +#488 = DIRECTION('',(0.,0.,1.)); +#489 = DIRECTION('',(1.,0.,0.)); +#490 = ORIENTED_EDGE('',*,*,#491,.F.); +#491 = EDGE_CURVE('',#492,#483,#494,.T.); +#492 = VERTEX_POINT('',#493); +#493 = CARTESIAN_POINT('',(22.75,19.051797255863,-1.5)); +#494 = LINE('',#495,#496); +#495 = CARTESIAN_POINT('',(11.375,19.051797255863,-1.5)); +#496 = VECTOR('',#497,1.); +#497 = DIRECTION('',(-1.,0.,0.)); +#498 = ORIENTED_EDGE('',*,*,#499,.F.); +#499 = EDGE_CURVE('',#500,#492,#502,.T.); +#500 = VERTEX_POINT('',#501); +#501 = CARTESIAN_POINT('',(24.,17.801797255863,-1.5)); +#502 = CIRCLE('',#503,1.25); +#503 = AXIS2_PLACEMENT_3D('',#504,#505,#506); +#504 = CARTESIAN_POINT('',(22.75,17.801797255863,-1.5)); +#505 = DIRECTION('',(0.,0.,1.)); +#506 = DIRECTION('',(1.,0.,0.)); +#507 = ORIENTED_EDGE('',*,*,#508,.F.); +#508 = EDGE_CURVE('',#509,#500,#511,.T.); +#509 = VERTEX_POINT('',#510); +#510 = CARTESIAN_POINT('',(24.,-14.75,-1.5)); +#511 = LINE('',#512,#513); +#512 = CARTESIAN_POINT('',(24.,-7.375,-1.5)); +#513 = VECTOR('',#514,1.); +#514 = DIRECTION('',(0.,1.,0.)); +#515 = ORIENTED_EDGE('',*,*,#516,.F.); +#516 = EDGE_CURVE('',#517,#509,#519,.T.); +#517 = VERTEX_POINT('',#518); +#518 = CARTESIAN_POINT('',(22.75,-16.,-1.5)); +#519 = CIRCLE('',#520,1.25); +#520 = AXIS2_PLACEMENT_3D('',#521,#522,#523); +#521 = CARTESIAN_POINT('',(22.75,-14.75,-1.5)); +#522 = DIRECTION('',(0.,0.,1.)); +#523 = DIRECTION('',(1.,0.,0.)); +#524 = ORIENTED_EDGE('',*,*,#525,.F.); +#525 = EDGE_CURVE('',#526,#517,#528,.T.); +#526 = VERTEX_POINT('',#527); +#527 = CARTESIAN_POINT('',(-16.75,-16.,-1.5)); +#528 = LINE('',#529,#530); +#529 = CARTESIAN_POINT('',(-8.375,-16.,-1.5)); +#530 = VECTOR('',#531,1.); +#531 = DIRECTION('',(1.,0.,0.)); +#532 = ORIENTED_EDGE('',*,*,#533,.F.); +#533 = EDGE_CURVE('',#534,#526,#536,.T.); +#534 = VERTEX_POINT('',#535); +#535 = CARTESIAN_POINT('',(-18.,-14.75,-1.5)); +#536 = CIRCLE('',#537,1.25); +#537 = AXIS2_PLACEMENT_3D('',#538,#539,#540); +#538 = CARTESIAN_POINT('',(-16.75,-14.75,-1.5)); +#539 = DIRECTION('',(0.,0.,1.)); +#540 = DIRECTION('',(1.,0.,0.)); +#541 = ORIENTED_EDGE('',*,*,#542,.F.); +#542 = EDGE_CURVE('',#543,#534,#545,.T.); +#543 = VERTEX_POINT('',#544); +#544 = CARTESIAN_POINT('',(-18.,16.75,-1.5)); +#545 = LINE('',#546,#547); +#546 = CARTESIAN_POINT('',(-18.,8.375,-1.5)); +#547 = VECTOR('',#548,1.); +#548 = DIRECTION('',(0.,-1.,0.)); +#549 = ORIENTED_EDGE('',*,*,#550,.F.); +#550 = EDGE_CURVE('',#424,#543,#551,.T.); +#551 = CIRCLE('',#552,1.25); +#552 = AXIS2_PLACEMENT_3D('',#553,#554,#555); +#553 = CARTESIAN_POINT('',(-16.75,16.75,-1.5)); +#554 = DIRECTION('',(0.,0.,1.)); +#555 = DIRECTION('',(1.,0.,0.)); +#556 = PLANE('',#557); +#557 = AXIS2_PLACEMENT_3D('',#558,#559,#560); +#558 = CARTESIAN_POINT('',(-2.919223951824E-15,-1.388217911873E-15,-1.5) + ); +#559 = DIRECTION('',(0.,0.,1.)); +#560 = DIRECTION('',(1.,0.,0.)); +#561 = ADVANCED_FACE('',(#562),#581,.F.); +#562 = FACE_BOUND('',#563,.F.); +#563 = EDGE_LOOP('',(#564,#572,#573,#574)); +#564 = ORIENTED_EDGE('',*,*,#565,.T.); +#565 = EDGE_CURVE('',#566,#405,#568,.T.); +#566 = VERTEX_POINT('',#567); +#567 = CARTESIAN_POINT('',(-32.6,-22.,0.)); +#568 = LINE('',#569,#570); +#569 = CARTESIAN_POINT('',(-32.6,-22.,0.)); +#570 = VECTOR('',#571,1.); +#571 = DIRECTION('',(-0.,-0.,-1.)); +#572 = ORIENTED_EDGE('',*,*,#412,.T.); +#573 = ORIENTED_EDGE('',*,*,#69,.F.); +#574 = ORIENTED_EDGE('',*,*,#575,.F.); +#575 = EDGE_CURVE('',#566,#62,#576,.T.); +#576 = CIRCLE('',#577,2.5); +#577 = AXIS2_PLACEMENT_3D('',#578,#579,#580); +#578 = CARTESIAN_POINT('',(-30.1,-22.,0.)); +#579 = DIRECTION('',(0.,0.,1.)); +#580 = DIRECTION('',(1.,0.,0.)); +#581 = CYLINDRICAL_SURFACE('',#582,2.5); +#582 = AXIS2_PLACEMENT_3D('',#583,#584,#585); +#583 = CARTESIAN_POINT('',(-30.1,-22.,0.)); +#584 = DIRECTION('',(0.,0.,1.)); +#585 = DIRECTION('',(1.,0.,0.)); +#586 = ADVANCED_FACE('',(#587),#597,.T.); +#587 = FACE_BOUND('',#588,.T.); +#588 = EDGE_LOOP('',(#589,#595,#596)); +#589 = ORIENTED_EDGE('',*,*,#590,.T.); +#590 = EDGE_CURVE('',#566,#54,#591,.T.); +#591 = LINE('',#592,#593); +#592 = CARTESIAN_POINT('',(-32.6,24.5,0.)); +#593 = VECTOR('',#594,1.); +#594 = DIRECTION('',(0.,-1.,0.)); +#595 = ORIENTED_EDGE('',*,*,#61,.T.); +#596 = ORIENTED_EDGE('',*,*,#575,.F.); +#597 = PLANE('',#598); +#598 = AXIS2_PLACEMENT_3D('',#599,#600,#601); +#599 = CARTESIAN_POINT('',(-9.955064599091E-16,0.,0.)); +#600 = DIRECTION('',(0.,0.,1.)); +#601 = DIRECTION('',(1.,0.,0.)); +#602 = ADVANCED_FACE('',(#603),#632,.F.); +#603 = FACE_BOUND('',#604,.F.); +#604 = EDGE_LOOP('',(#605,#606,#614,#622,#628,#629,#630,#631)); +#605 = ORIENTED_EDGE('',*,*,#132,.F.); +#606 = ORIENTED_EDGE('',*,*,#607,.T.); +#607 = EDGE_CURVE('',#125,#608,#610,.T.); +#608 = VERTEX_POINT('',#609); +#609 = CARTESIAN_POINT('',(-32.6,24.5,0.)); +#610 = LINE('',#611,#612); +#611 = CARTESIAN_POINT('',(-32.6,24.5,-4.)); +#612 = VECTOR('',#613,1.); +#613 = DIRECTION('',(0.,0.,1.)); +#614 = ORIENTED_EDGE('',*,*,#615,.T.); +#615 = EDGE_CURVE('',#608,#616,#618,.T.); +#616 = VERTEX_POINT('',#617); +#617 = CARTESIAN_POINT('',(-32.6,22.,0.)); +#618 = LINE('',#619,#620); +#619 = CARTESIAN_POINT('',(-32.6,24.5,0.)); +#620 = VECTOR('',#621,1.); +#621 = DIRECTION('',(0.,-1.,0.)); +#622 = ORIENTED_EDGE('',*,*,#623,.T.); +#623 = EDGE_CURVE('',#616,#396,#624,.T.); +#624 = LINE('',#625,#626); +#625 = CARTESIAN_POINT('',(-32.6,22.,0.)); +#626 = VECTOR('',#627,1.); +#627 = DIRECTION('',(-0.,-0.,-1.)); +#628 = ORIENTED_EDGE('',*,*,#404,.T.); +#629 = ORIENTED_EDGE('',*,*,#565,.F.); +#630 = ORIENTED_EDGE('',*,*,#590,.T.); +#631 = ORIENTED_EDGE('',*,*,#53,.F.); +#632 = PLANE('',#633); +#633 = AXIS2_PLACEMENT_3D('',#634,#635,#636); +#634 = CARTESIAN_POINT('',(-32.6,24.5,-4.)); +#635 = DIRECTION('',(1.,0.,0.)); +#636 = DIRECTION('',(0.,-1.,0.)); +#637 = ADVANCED_FACE('',(#638),#672,.F.); +#638 = FACE_BOUND('',#639,.F.); +#639 = EDGE_LOOP('',(#640,#641,#642,#650,#656,#657,#665,#671)); +#640 = ORIENTED_EDGE('',*,*,#124,.F.); +#641 = ORIENTED_EDGE('',*,*,#326,.T.); +#642 = ORIENTED_EDGE('',*,*,#643,.T.); +#643 = EDGE_CURVE('',#319,#644,#646,.T.); +#644 = VERTEX_POINT('',#645); +#645 = CARTESIAN_POINT('',(30.1,24.5,0.)); +#646 = LINE('',#647,#648); +#647 = CARTESIAN_POINT('',(32.6,24.5,0.)); +#648 = VECTOR('',#649,1.); +#649 = DIRECTION('',(-1.,0.,0.)); +#650 = ORIENTED_EDGE('',*,*,#651,.T.); +#651 = EDGE_CURVE('',#644,#379,#652,.T.); +#652 = LINE('',#653,#654); +#653 = CARTESIAN_POINT('',(30.1,24.5,0.)); +#654 = VECTOR('',#655,1.); +#655 = DIRECTION('',(-0.,-0.,-1.)); +#656 = ORIENTED_EDGE('',*,*,#387,.T.); +#657 = ORIENTED_EDGE('',*,*,#658,.F.); +#658 = EDGE_CURVE('',#659,#388,#661,.T.); +#659 = VERTEX_POINT('',#660); +#660 = CARTESIAN_POINT('',(-30.1,24.5,0.)); +#661 = LINE('',#662,#663); +#662 = CARTESIAN_POINT('',(-30.1,24.5,0.)); +#663 = VECTOR('',#664,1.); +#664 = DIRECTION('',(-0.,-0.,-1.)); +#665 = ORIENTED_EDGE('',*,*,#666,.T.); +#666 = EDGE_CURVE('',#659,#608,#667,.T.); +#667 = LINE('',#668,#669); +#668 = CARTESIAN_POINT('',(32.6,24.5,0.)); +#669 = VECTOR('',#670,1.); +#670 = DIRECTION('',(-1.,0.,0.)); +#671 = ORIENTED_EDGE('',*,*,#607,.F.); +#672 = PLANE('',#673); +#673 = AXIS2_PLACEMENT_3D('',#674,#675,#676); +#674 = CARTESIAN_POINT('',(32.6,24.5,-4.)); +#675 = DIRECTION('',(0.,-1.,0.)); +#676 = DIRECTION('',(-1.,0.,0.)); +#677 = ADVANCED_FACE('',(#678),#694,.F.); +#678 = FACE_BOUND('',#679,.F.); +#679 = EDGE_LOOP('',(#680,#681,#687,#688)); +#680 = ORIENTED_EDGE('',*,*,#421,.F.); +#681 = ORIENTED_EDGE('',*,*,#682,.T.); +#682 = EDGE_CURVE('',#422,#141,#683,.T.); +#683 = LINE('',#684,#685); +#684 = CARTESIAN_POINT('',(-16.25,18.,0.)); +#685 = VECTOR('',#686,1.); +#686 = DIRECTION('',(-0.,-0.,-1.)); +#687 = ORIENTED_EDGE('',*,*,#140,.T.); +#688 = ORIENTED_EDGE('',*,*,#689,.F.); +#689 = EDGE_CURVE('',#424,#143,#690,.T.); +#690 = LINE('',#691,#692); +#691 = CARTESIAN_POINT('',(-16.75,18.,0.)); +#692 = VECTOR('',#693,1.); +#693 = DIRECTION('',(-0.,-0.,-1.)); +#694 = PLANE('',#695); +#695 = AXIS2_PLACEMENT_3D('',#696,#697,#698); +#696 = CARTESIAN_POINT('',(-16.25,18.,0.)); +#697 = DIRECTION('',(0.,1.,0.)); +#698 = DIRECTION('',(-1.,0.,0.)); +#699 = ADVANCED_FACE('',(#700),#711,.F.); +#700 = FACE_BOUND('',#701,.F.); +#701 = EDGE_LOOP('',(#702,#703,#704,#705)); +#702 = ORIENTED_EDGE('',*,*,#550,.F.); +#703 = ORIENTED_EDGE('',*,*,#689,.T.); +#704 = ORIENTED_EDGE('',*,*,#269,.T.); +#705 = ORIENTED_EDGE('',*,*,#706,.F.); +#706 = EDGE_CURVE('',#543,#262,#707,.T.); +#707 = LINE('',#708,#709); +#708 = CARTESIAN_POINT('',(-18.,16.75,0.)); +#709 = VECTOR('',#710,1.); +#710 = DIRECTION('',(-0.,-0.,-1.)); +#711 = CYLINDRICAL_SURFACE('',#712,1.25); +#712 = AXIS2_PLACEMENT_3D('',#713,#714,#715); +#713 = CARTESIAN_POINT('',(-16.75,16.75,0.)); +#714 = DIRECTION('',(0.,0.,1.)); +#715 = DIRECTION('',(1.,0.,0.)); +#716 = ADVANCED_FACE('',(#717),#728,.F.); +#717 = FACE_BOUND('',#718,.F.); +#718 = EDGE_LOOP('',(#719,#720,#721,#722)); +#719 = ORIENTED_EDGE('',*,*,#542,.F.); +#720 = ORIENTED_EDGE('',*,*,#706,.T.); +#721 = ORIENTED_EDGE('',*,*,#261,.T.); +#722 = ORIENTED_EDGE('',*,*,#723,.F.); +#723 = EDGE_CURVE('',#534,#253,#724,.T.); +#724 = LINE('',#725,#726); +#725 = CARTESIAN_POINT('',(-18.,-14.75,0.)); +#726 = VECTOR('',#727,1.); +#727 = DIRECTION('',(-0.,-0.,-1.)); +#728 = PLANE('',#729); +#729 = AXIS2_PLACEMENT_3D('',#730,#731,#732); +#730 = CARTESIAN_POINT('',(-18.,16.75,0.)); +#731 = DIRECTION('',(-1.,0.,0.)); +#732 = DIRECTION('',(0.,-1.,0.)); +#733 = ADVANCED_FACE('',(#734),#745,.F.); +#734 = FACE_BOUND('',#735,.F.); +#735 = EDGE_LOOP('',(#736,#737,#738,#739)); +#736 = ORIENTED_EDGE('',*,*,#533,.F.); +#737 = ORIENTED_EDGE('',*,*,#723,.T.); +#738 = ORIENTED_EDGE('',*,*,#252,.T.); +#739 = ORIENTED_EDGE('',*,*,#740,.F.); +#740 = EDGE_CURVE('',#526,#245,#741,.T.); +#741 = LINE('',#742,#743); +#742 = CARTESIAN_POINT('',(-16.75,-16.,0.)); +#743 = VECTOR('',#744,1.); +#744 = DIRECTION('',(-0.,-0.,-1.)); +#745 = CYLINDRICAL_SURFACE('',#746,1.25); +#746 = AXIS2_PLACEMENT_3D('',#747,#748,#749); +#747 = CARTESIAN_POINT('',(-16.75,-14.75,0.)); +#748 = DIRECTION('',(0.,0.,1.)); +#749 = DIRECTION('',(1.,0.,0.)); +#750 = ADVANCED_FACE('',(#751),#762,.F.); +#751 = FACE_BOUND('',#752,.F.); +#752 = EDGE_LOOP('',(#753,#754,#755,#756)); +#753 = ORIENTED_EDGE('',*,*,#525,.F.); +#754 = ORIENTED_EDGE('',*,*,#740,.T.); +#755 = ORIENTED_EDGE('',*,*,#244,.T.); +#756 = ORIENTED_EDGE('',*,*,#757,.F.); +#757 = EDGE_CURVE('',#517,#236,#758,.T.); +#758 = LINE('',#759,#760); +#759 = CARTESIAN_POINT('',(22.75,-16.,0.)); +#760 = VECTOR('',#761,1.); +#761 = DIRECTION('',(-0.,-0.,-1.)); +#762 = PLANE('',#763); +#763 = AXIS2_PLACEMENT_3D('',#764,#765,#766); +#764 = CARTESIAN_POINT('',(-16.75,-16.,0.)); +#765 = DIRECTION('',(0.,-1.,0.)); +#766 = DIRECTION('',(1.,0.,0.)); +#767 = ADVANCED_FACE('',(#768),#779,.F.); +#768 = FACE_BOUND('',#769,.F.); +#769 = EDGE_LOOP('',(#770,#771,#772,#773)); +#770 = ORIENTED_EDGE('',*,*,#516,.F.); +#771 = ORIENTED_EDGE('',*,*,#757,.T.); +#772 = ORIENTED_EDGE('',*,*,#235,.T.); +#773 = ORIENTED_EDGE('',*,*,#774,.F.); +#774 = EDGE_CURVE('',#509,#228,#775,.T.); +#775 = LINE('',#776,#777); +#776 = CARTESIAN_POINT('',(24.,-14.75,0.)); +#777 = VECTOR('',#778,1.); +#778 = DIRECTION('',(-0.,-0.,-1.)); +#779 = CYLINDRICAL_SURFACE('',#780,1.25); +#780 = AXIS2_PLACEMENT_3D('',#781,#782,#783); +#781 = CARTESIAN_POINT('',(22.75,-14.75,0.)); +#782 = DIRECTION('',(0.,0.,1.)); +#783 = DIRECTION('',(1.,0.,0.)); +#784 = ADVANCED_FACE('',(#785),#796,.F.); +#785 = FACE_BOUND('',#786,.F.); +#786 = EDGE_LOOP('',(#787,#788,#789,#790)); +#787 = ORIENTED_EDGE('',*,*,#508,.F.); +#788 = ORIENTED_EDGE('',*,*,#774,.T.); +#789 = ORIENTED_EDGE('',*,*,#227,.T.); +#790 = ORIENTED_EDGE('',*,*,#791,.F.); +#791 = EDGE_CURVE('',#500,#219,#792,.T.); +#792 = LINE('',#793,#794); +#793 = CARTESIAN_POINT('',(24.,17.801797255863,0.)); +#794 = VECTOR('',#795,1.); +#795 = DIRECTION('',(-0.,-0.,-1.)); +#796 = PLANE('',#797); +#797 = AXIS2_PLACEMENT_3D('',#798,#799,#800); +#798 = CARTESIAN_POINT('',(24.,-14.75,0.)); +#799 = DIRECTION('',(1.,0.,0.)); +#800 = DIRECTION('',(0.,1.,0.)); +#801 = ADVANCED_FACE('',(#802),#813,.F.); +#802 = FACE_BOUND('',#803,.F.); +#803 = EDGE_LOOP('',(#804,#805,#806,#807)); +#804 = ORIENTED_EDGE('',*,*,#499,.F.); +#805 = ORIENTED_EDGE('',*,*,#791,.T.); +#806 = ORIENTED_EDGE('',*,*,#218,.T.); +#807 = ORIENTED_EDGE('',*,*,#808,.F.); +#808 = EDGE_CURVE('',#492,#211,#809,.T.); +#809 = LINE('',#810,#811); +#810 = CARTESIAN_POINT('',(22.75,19.051797255863,0.)); +#811 = VECTOR('',#812,1.); +#812 = DIRECTION('',(-0.,-0.,-1.)); +#813 = CYLINDRICAL_SURFACE('',#814,1.25); +#814 = AXIS2_PLACEMENT_3D('',#815,#816,#817); +#815 = CARTESIAN_POINT('',(22.75,17.801797255863,0.)); +#816 = DIRECTION('',(0.,0.,1.)); +#817 = DIRECTION('',(1.,0.,0.)); +#818 = ADVANCED_FACE('',(#819),#830,.F.); +#819 = FACE_BOUND('',#820,.F.); +#820 = EDGE_LOOP('',(#821,#822,#823,#824)); +#821 = ORIENTED_EDGE('',*,*,#491,.F.); +#822 = ORIENTED_EDGE('',*,*,#808,.T.); +#823 = ORIENTED_EDGE('',*,*,#210,.T.); +#824 = ORIENTED_EDGE('',*,*,#825,.F.); +#825 = EDGE_CURVE('',#483,#202,#826,.T.); +#826 = LINE('',#827,#828); +#827 = CARTESIAN_POINT('',(4.25,19.051797255863,0.)); +#828 = VECTOR('',#829,1.); +#829 = DIRECTION('',(-0.,-0.,-1.)); +#830 = PLANE('',#831); +#831 = AXIS2_PLACEMENT_3D('',#832,#833,#834); +#832 = CARTESIAN_POINT('',(22.75,19.051797255863,0.)); +#833 = DIRECTION('',(0.,1.,0.)); +#834 = DIRECTION('',(-1.,0.,0.)); +#835 = ADVANCED_FACE('',(#836),#847,.T.); +#836 = FACE_BOUND('',#837,.T.); +#837 = EDGE_LOOP('',(#838,#839,#845,#846)); +#838 = ORIENTED_EDGE('',*,*,#482,.F.); +#839 = ORIENTED_EDGE('',*,*,#840,.T.); +#840 = EDGE_CURVE('',#475,#194,#841,.T.); +#841 = LINE('',#842,#843); +#842 = CARTESIAN_POINT('',(3.,20.301797255863,0.)); +#843 = VECTOR('',#844,1.); +#844 = DIRECTION('',(-0.,-0.,-1.)); +#845 = ORIENTED_EDGE('',*,*,#201,.T.); +#846 = ORIENTED_EDGE('',*,*,#825,.F.); +#847 = CYLINDRICAL_SURFACE('',#848,1.25); +#848 = AXIS2_PLACEMENT_3D('',#849,#850,#851); +#849 = CARTESIAN_POINT('',(4.25,20.301797255863,0.)); +#850 = DIRECTION('',(0.,0.,1.)); +#851 = DIRECTION('',(1.,0.,0.)); +#852 = ADVANCED_FACE('',(#853),#864,.F.); +#853 = FACE_BOUND('',#854,.F.); +#854 = EDGE_LOOP('',(#855,#856,#857,#858)); +#855 = ORIENTED_EDGE('',*,*,#474,.F.); +#856 = ORIENTED_EDGE('',*,*,#840,.T.); +#857 = ORIENTED_EDGE('',*,*,#193,.T.); +#858 = ORIENTED_EDGE('',*,*,#859,.F.); +#859 = EDGE_CURVE('',#466,#185,#860,.T.); +#860 = LINE('',#861,#862); +#861 = CARTESIAN_POINT('',(3.,20.75,0.)); +#862 = VECTOR('',#863,1.); +#863 = DIRECTION('',(-0.,-0.,-1.)); +#864 = PLANE('',#865); +#865 = AXIS2_PLACEMENT_3D('',#866,#867,#868); +#866 = CARTESIAN_POINT('',(3.,20.301797255863,0.)); +#867 = DIRECTION('',(1.,0.,0.)); +#868 = DIRECTION('',(0.,1.,0.)); +#869 = ADVANCED_FACE('',(#870),#881,.F.); +#870 = FACE_BOUND('',#871,.F.); +#871 = EDGE_LOOP('',(#872,#873,#874,#875)); +#872 = ORIENTED_EDGE('',*,*,#465,.F.); +#873 = ORIENTED_EDGE('',*,*,#859,.T.); +#874 = ORIENTED_EDGE('',*,*,#184,.T.); +#875 = ORIENTED_EDGE('',*,*,#876,.F.); +#876 = EDGE_CURVE('',#458,#177,#877,.T.); +#877 = LINE('',#878,#879); +#878 = CARTESIAN_POINT('',(1.75,22.,0.)); +#879 = VECTOR('',#880,1.); +#880 = DIRECTION('',(-0.,-0.,-1.)); +#881 = CYLINDRICAL_SURFACE('',#882,1.25); +#882 = AXIS2_PLACEMENT_3D('',#883,#884,#885); +#883 = CARTESIAN_POINT('',(1.75,20.75,0.)); +#884 = DIRECTION('',(0.,0.,1.)); +#885 = DIRECTION('',(1.,0.,0.)); +#886 = ADVANCED_FACE('',(#887),#898,.F.); +#887 = FACE_BOUND('',#888,.F.); +#888 = EDGE_LOOP('',(#889,#890,#891,#892)); +#889 = ORIENTED_EDGE('',*,*,#457,.F.); +#890 = ORIENTED_EDGE('',*,*,#876,.T.); +#891 = ORIENTED_EDGE('',*,*,#176,.T.); +#892 = ORIENTED_EDGE('',*,*,#893,.F.); +#893 = EDGE_CURVE('',#449,#168,#894,.T.); +#894 = LINE('',#895,#896); +#895 = CARTESIAN_POINT('',(-13.75,22.,0.)); +#896 = VECTOR('',#897,1.); +#897 = DIRECTION('',(-0.,-0.,-1.)); +#898 = PLANE('',#899); +#899 = AXIS2_PLACEMENT_3D('',#900,#901,#902); +#900 = CARTESIAN_POINT('',(1.75,22.,0.)); +#901 = DIRECTION('',(0.,1.,0.)); +#902 = DIRECTION('',(-1.,0.,0.)); +#903 = ADVANCED_FACE('',(#904),#915,.F.); +#904 = FACE_BOUND('',#905,.F.); +#905 = EDGE_LOOP('',(#906,#907,#908,#909)); +#906 = ORIENTED_EDGE('',*,*,#448,.F.); +#907 = ORIENTED_EDGE('',*,*,#893,.T.); +#908 = ORIENTED_EDGE('',*,*,#167,.T.); +#909 = ORIENTED_EDGE('',*,*,#910,.F.); +#910 = EDGE_CURVE('',#441,#160,#911,.T.); +#911 = LINE('',#912,#913); +#912 = CARTESIAN_POINT('',(-15.,20.75,0.)); +#913 = VECTOR('',#914,1.); +#914 = DIRECTION('',(-0.,-0.,-1.)); +#915 = CYLINDRICAL_SURFACE('',#916,1.25); +#916 = AXIS2_PLACEMENT_3D('',#917,#918,#919); +#917 = CARTESIAN_POINT('',(-13.75,20.75,0.)); +#918 = DIRECTION('',(0.,0.,1.)); +#919 = DIRECTION('',(1.,0.,0.)); +#920 = ADVANCED_FACE('',(#921),#932,.F.); +#921 = FACE_BOUND('',#922,.F.); +#922 = EDGE_LOOP('',(#923,#924,#925,#926)); +#923 = ORIENTED_EDGE('',*,*,#440,.F.); +#924 = ORIENTED_EDGE('',*,*,#910,.T.); +#925 = ORIENTED_EDGE('',*,*,#159,.T.); +#926 = ORIENTED_EDGE('',*,*,#927,.F.); +#927 = EDGE_CURVE('',#432,#151,#928,.T.); +#928 = LINE('',#929,#930); +#929 = CARTESIAN_POINT('',(-15.,19.25,0.)); +#930 = VECTOR('',#931,1.); +#931 = DIRECTION('',(-0.,-0.,-1.)); +#932 = PLANE('',#933); +#933 = AXIS2_PLACEMENT_3D('',#934,#935,#936); +#934 = CARTESIAN_POINT('',(-15.,20.75,0.)); +#935 = DIRECTION('',(-1.,0.,0.)); +#936 = DIRECTION('',(0.,-1.,0.)); +#937 = ADVANCED_FACE('',(#938),#944,.T.); +#938 = FACE_BOUND('',#939,.T.); +#939 = EDGE_LOOP('',(#940,#941,#942,#943)); +#940 = ORIENTED_EDGE('',*,*,#431,.F.); +#941 = ORIENTED_EDGE('',*,*,#682,.T.); +#942 = ORIENTED_EDGE('',*,*,#150,.T.); +#943 = ORIENTED_EDGE('',*,*,#927,.F.); +#944 = CYLINDRICAL_SURFACE('',#945,1.25); +#945 = AXIS2_PLACEMENT_3D('',#946,#947,#948); +#946 = CARTESIAN_POINT('',(-16.25,19.25,0.)); +#947 = DIRECTION('',(0.,0.,1.)); +#948 = DIRECTION('',(1.,0.,0.)); +#949 = ADVANCED_FACE('',(#950),#961,.T.); +#950 = FACE_BOUND('',#951,.T.); +#951 = EDGE_LOOP('',(#952,#959,#960)); +#952 = ORIENTED_EDGE('',*,*,#953,.F.); +#953 = EDGE_CURVE('',#311,#644,#954,.T.); +#954 = CIRCLE('',#955,2.5); +#955 = AXIS2_PLACEMENT_3D('',#956,#957,#958); +#956 = CARTESIAN_POINT('',(30.1,22.,0.)); +#957 = DIRECTION('',(0.,0.,1.)); +#958 = DIRECTION('',(1.,0.,0.)); +#959 = ORIENTED_EDGE('',*,*,#318,.T.); +#960 = ORIENTED_EDGE('',*,*,#643,.T.); +#961 = PLANE('',#962); +#962 = AXIS2_PLACEMENT_3D('',#963,#964,#965); +#963 = CARTESIAN_POINT('',(-9.955064599091E-16,0.,0.)); +#964 = DIRECTION('',(0.,0.,1.)); +#965 = DIRECTION('',(1.,0.,0.)); +#966 = ADVANCED_FACE('',(#967),#973,.F.); +#967 = FACE_BOUND('',#968,.F.); +#968 = EDGE_LOOP('',(#969,#970,#971,#972)); +#969 = ORIENTED_EDGE('',*,*,#310,.T.); +#970 = ORIENTED_EDGE('',*,*,#378,.T.); +#971 = ORIENTED_EDGE('',*,*,#651,.F.); +#972 = ORIENTED_EDGE('',*,*,#953,.F.); +#973 = CYLINDRICAL_SURFACE('',#974,2.5); +#974 = AXIS2_PLACEMENT_3D('',#975,#976,#977); +#975 = CARTESIAN_POINT('',(30.1,22.,0.)); +#976 = DIRECTION('',(0.,0.,1.)); +#977 = DIRECTION('',(1.,0.,0.)); +#978 = ADVANCED_FACE('',(#979),#991,.F.); +#979 = FACE_BOUND('',#980,.F.); +#980 = EDGE_LOOP('',(#981,#982,#983,#984)); +#981 = ORIENTED_EDGE('',*,*,#658,.T.); +#982 = ORIENTED_EDGE('',*,*,#395,.T.); +#983 = ORIENTED_EDGE('',*,*,#623,.F.); +#984 = ORIENTED_EDGE('',*,*,#985,.F.); +#985 = EDGE_CURVE('',#659,#616,#986,.T.); +#986 = CIRCLE('',#987,2.5); +#987 = AXIS2_PLACEMENT_3D('',#988,#989,#990); +#988 = CARTESIAN_POINT('',(-30.1,22.,0.)); +#989 = DIRECTION('',(0.,0.,1.)); +#990 = DIRECTION('',(1.,0.,0.)); +#991 = CYLINDRICAL_SURFACE('',#992,2.5); +#992 = AXIS2_PLACEMENT_3D('',#993,#994,#995); +#993 = CARTESIAN_POINT('',(-30.1,22.,0.)); +#994 = DIRECTION('',(0.,0.,1.)); +#995 = DIRECTION('',(1.,0.,0.)); +#996 = ADVANCED_FACE('',(#997),#1002,.T.); +#997 = FACE_BOUND('',#998,.T.); +#998 = EDGE_LOOP('',(#999,#1000,#1001)); +#999 = ORIENTED_EDGE('',*,*,#615,.T.); +#1000 = ORIENTED_EDGE('',*,*,#985,.F.); +#1001 = ORIENTED_EDGE('',*,*,#666,.T.); +#1002 = PLANE('',#1003); +#1003 = AXIS2_PLACEMENT_3D('',#1004,#1005,#1006); +#1004 = CARTESIAN_POINT('',(-9.955064599091E-16,0.,0.)); +#1005 = DIRECTION('',(0.,0.,1.)); +#1006 = DIRECTION('',(1.,0.,0.)); +#1007 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1011)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1008,#1009,#1010)) REPRESENTATION_CONTEXT +('Context #1','3D Context with UNIT and UNCERTAINTY') ); +#1008 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#1009 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#1010 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#1011 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.E-05),#1008, + 'distance_accuracy_value','confusion accuracy'); +#1012 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1013,#1015); +#1013 = ( REPRESENTATION_RELATIONSHIP('','',#36,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1014) +SHAPE_REPRESENTATION_RELATIONSHIP() ); +#1014 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15); +#1015 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item', + #1016); +#1016 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','Socket','',#5,#31,$); +#1017 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#33)); +#1018 = SHAPE_DEFINITION_REPRESENTATION(#1019,#1025); +#1019 = PRODUCT_DEFINITION_SHAPE('','',#1020); +#1020 = PRODUCT_DEFINITION('design','',#1021,#1024); +#1021 = PRODUCT_DEFINITION_FORMATION('','',#1022); +#1022 = PRODUCT('Part','Part','',(#1023)); +#1023 = PRODUCT_CONTEXT('',#2,'mechanical'); +#1024 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#1025 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#1026),#1316); +#1026 = MANIFOLD_SOLID_BREP('',#1027); +#1027 = CLOSED_SHELL('',(#1028,#1068,#1101,#1132,#1165,#1196,#1229,#1260 + ,#1284,#1300)); +#1028 = ADVANCED_FACE('',(#1029),#1063,.F.); +#1029 = FACE_BOUND('',#1030,.F.); +#1030 = EDGE_LOOP('',(#1031,#1041,#1049,#1057)); +#1031 = ORIENTED_EDGE('',*,*,#1032,.T.); +#1032 = EDGE_CURVE('',#1033,#1035,#1037,.T.); +#1033 = VERTEX_POINT('',#1034); +#1034 = CARTESIAN_POINT('',(-30.,-24.5,0.)); +#1035 = VERTEX_POINT('',#1036); +#1036 = CARTESIAN_POINT('',(-30.,-24.5,1.5)); +#1037 = LINE('',#1038,#1039); +#1038 = CARTESIAN_POINT('',(-30.,-24.5,0.)); +#1039 = VECTOR('',#1040,1.); +#1040 = DIRECTION('',(0.,0.,1.)); +#1041 = ORIENTED_EDGE('',*,*,#1042,.T.); +#1042 = EDGE_CURVE('',#1035,#1043,#1045,.T.); +#1043 = VERTEX_POINT('',#1044); +#1044 = CARTESIAN_POINT('',(30.,-24.5,1.5)); +#1045 = LINE('',#1046,#1047); +#1046 = CARTESIAN_POINT('',(-30.,-24.5,1.5)); +#1047 = VECTOR('',#1048,1.); +#1048 = DIRECTION('',(1.,0.,0.)); +#1049 = ORIENTED_EDGE('',*,*,#1050,.F.); +#1050 = EDGE_CURVE('',#1051,#1043,#1053,.T.); +#1051 = VERTEX_POINT('',#1052); +#1052 = CARTESIAN_POINT('',(30.,-24.5,0.)); +#1053 = LINE('',#1054,#1055); +#1054 = CARTESIAN_POINT('',(30.,-24.5,0.)); +#1055 = VECTOR('',#1056,1.); +#1056 = DIRECTION('',(0.,0.,1.)); +#1057 = ORIENTED_EDGE('',*,*,#1058,.F.); +#1058 = EDGE_CURVE('',#1033,#1051,#1059,.T.); +#1059 = LINE('',#1060,#1061); +#1060 = CARTESIAN_POINT('',(-30.,-24.5,0.)); +#1061 = VECTOR('',#1062,1.); +#1062 = DIRECTION('',(1.,0.,0.)); +#1063 = PLANE('',#1064); +#1064 = AXIS2_PLACEMENT_3D('',#1065,#1066,#1067); +#1065 = CARTESIAN_POINT('',(-30.,-24.5,0.)); +#1066 = DIRECTION('',(0.,1.,0.)); +#1067 = DIRECTION('',(1.,0.,0.)); +#1068 = ADVANCED_FACE('',(#1069),#1096,.T.); +#1069 = FACE_BOUND('',#1070,.F.); +#1070 = EDGE_LOOP('',(#1071,#1072,#1081,#1089)); +#1071 = ORIENTED_EDGE('',*,*,#1050,.T.); +#1072 = ORIENTED_EDGE('',*,*,#1073,.T.); +#1073 = EDGE_CURVE('',#1043,#1074,#1076,.T.); +#1074 = VERTEX_POINT('',#1075); +#1075 = CARTESIAN_POINT('',(32.5,-22.,1.5)); +#1076 = CIRCLE('',#1077,2.5); +#1077 = AXIS2_PLACEMENT_3D('',#1078,#1079,#1080); +#1078 = CARTESIAN_POINT('',(30.,-22.,1.5)); +#1079 = DIRECTION('',(0.,0.,1.)); +#1080 = DIRECTION('',(1.,0.,0.)); +#1081 = ORIENTED_EDGE('',*,*,#1082,.F.); +#1082 = EDGE_CURVE('',#1083,#1074,#1085,.T.); +#1083 = VERTEX_POINT('',#1084); +#1084 = CARTESIAN_POINT('',(32.5,-22.,0.)); +#1085 = LINE('',#1086,#1087); +#1086 = CARTESIAN_POINT('',(32.5,-22.,0.)); +#1087 = VECTOR('',#1088,1.); +#1088 = DIRECTION('',(0.,0.,1.)); +#1089 = ORIENTED_EDGE('',*,*,#1090,.F.); +#1090 = EDGE_CURVE('',#1051,#1083,#1091,.T.); +#1091 = CIRCLE('',#1092,2.5); +#1092 = AXIS2_PLACEMENT_3D('',#1093,#1094,#1095); +#1093 = CARTESIAN_POINT('',(30.,-22.,0.)); +#1094 = DIRECTION('',(0.,0.,1.)); +#1095 = DIRECTION('',(1.,0.,0.)); +#1096 = CYLINDRICAL_SURFACE('',#1097,2.5); +#1097 = AXIS2_PLACEMENT_3D('',#1098,#1099,#1100); +#1098 = CARTESIAN_POINT('',(30.,-22.,0.)); +#1099 = DIRECTION('',(-0.,-0.,-1.)); +#1100 = DIRECTION('',(1.,0.,0.)); +#1101 = ADVANCED_FACE('',(#1102),#1127,.F.); +#1102 = FACE_BOUND('',#1103,.F.); +#1103 = EDGE_LOOP('',(#1104,#1105,#1113,#1121)); +#1104 = ORIENTED_EDGE('',*,*,#1082,.T.); +#1105 = ORIENTED_EDGE('',*,*,#1106,.T.); +#1106 = EDGE_CURVE('',#1074,#1107,#1109,.T.); +#1107 = VERTEX_POINT('',#1108); +#1108 = CARTESIAN_POINT('',(32.5,22.,1.5)); +#1109 = LINE('',#1110,#1111); +#1110 = CARTESIAN_POINT('',(32.5,-22.,1.5)); +#1111 = VECTOR('',#1112,1.); +#1112 = DIRECTION('',(0.,1.,0.)); +#1113 = ORIENTED_EDGE('',*,*,#1114,.F.); +#1114 = EDGE_CURVE('',#1115,#1107,#1117,.T.); +#1115 = VERTEX_POINT('',#1116); +#1116 = CARTESIAN_POINT('',(32.5,22.,0.)); +#1117 = LINE('',#1118,#1119); +#1118 = CARTESIAN_POINT('',(32.5,22.,0.)); +#1119 = VECTOR('',#1120,1.); +#1120 = DIRECTION('',(0.,0.,1.)); +#1121 = ORIENTED_EDGE('',*,*,#1122,.F.); +#1122 = EDGE_CURVE('',#1083,#1115,#1123,.T.); +#1123 = LINE('',#1124,#1125); +#1124 = CARTESIAN_POINT('',(32.5,-22.,0.)); +#1125 = VECTOR('',#1126,1.); +#1126 = DIRECTION('',(0.,1.,0.)); +#1127 = PLANE('',#1128); +#1128 = AXIS2_PLACEMENT_3D('',#1129,#1130,#1131); +#1129 = CARTESIAN_POINT('',(32.5,-22.,0.)); +#1130 = DIRECTION('',(-1.,0.,0.)); +#1131 = DIRECTION('',(0.,1.,0.)); +#1132 = ADVANCED_FACE('',(#1133),#1160,.T.); +#1133 = FACE_BOUND('',#1134,.F.); +#1134 = EDGE_LOOP('',(#1135,#1136,#1145,#1153)); +#1135 = ORIENTED_EDGE('',*,*,#1114,.T.); +#1136 = ORIENTED_EDGE('',*,*,#1137,.T.); +#1137 = EDGE_CURVE('',#1107,#1138,#1140,.T.); +#1138 = VERTEX_POINT('',#1139); +#1139 = CARTESIAN_POINT('',(30.,24.5,1.5)); +#1140 = CIRCLE('',#1141,2.5); +#1141 = AXIS2_PLACEMENT_3D('',#1142,#1143,#1144); +#1142 = CARTESIAN_POINT('',(30.,22.,1.5)); +#1143 = DIRECTION('',(0.,0.,1.)); +#1144 = DIRECTION('',(1.,0.,0.)); +#1145 = ORIENTED_EDGE('',*,*,#1146,.F.); +#1146 = EDGE_CURVE('',#1147,#1138,#1149,.T.); +#1147 = VERTEX_POINT('',#1148); +#1148 = CARTESIAN_POINT('',(30.,24.5,0.)); +#1149 = LINE('',#1150,#1151); +#1150 = CARTESIAN_POINT('',(30.,24.5,0.)); +#1151 = VECTOR('',#1152,1.); +#1152 = DIRECTION('',(0.,0.,1.)); +#1153 = ORIENTED_EDGE('',*,*,#1154,.F.); +#1154 = EDGE_CURVE('',#1115,#1147,#1155,.T.); +#1155 = CIRCLE('',#1156,2.5); +#1156 = AXIS2_PLACEMENT_3D('',#1157,#1158,#1159); +#1157 = CARTESIAN_POINT('',(30.,22.,0.)); +#1158 = DIRECTION('',(0.,0.,1.)); +#1159 = DIRECTION('',(1.,0.,0.)); +#1160 = CYLINDRICAL_SURFACE('',#1161,2.5); +#1161 = AXIS2_PLACEMENT_3D('',#1162,#1163,#1164); +#1162 = CARTESIAN_POINT('',(30.,22.,0.)); +#1163 = DIRECTION('',(-0.,-0.,-1.)); +#1164 = DIRECTION('',(1.,0.,0.)); +#1165 = ADVANCED_FACE('',(#1166),#1191,.F.); +#1166 = FACE_BOUND('',#1167,.F.); +#1167 = EDGE_LOOP('',(#1168,#1169,#1177,#1185)); +#1168 = ORIENTED_EDGE('',*,*,#1146,.T.); +#1169 = ORIENTED_EDGE('',*,*,#1170,.T.); +#1170 = EDGE_CURVE('',#1138,#1171,#1173,.T.); +#1171 = VERTEX_POINT('',#1172); +#1172 = CARTESIAN_POINT('',(-30.,24.5,1.5)); +#1173 = LINE('',#1174,#1175); +#1174 = CARTESIAN_POINT('',(30.,24.5,1.5)); +#1175 = VECTOR('',#1176,1.); +#1176 = DIRECTION('',(-1.,0.,0.)); +#1177 = ORIENTED_EDGE('',*,*,#1178,.F.); +#1178 = EDGE_CURVE('',#1179,#1171,#1181,.T.); +#1179 = VERTEX_POINT('',#1180); +#1180 = CARTESIAN_POINT('',(-30.,24.5,0.)); +#1181 = LINE('',#1182,#1183); +#1182 = CARTESIAN_POINT('',(-30.,24.5,0.)); +#1183 = VECTOR('',#1184,1.); +#1184 = DIRECTION('',(0.,0.,1.)); +#1185 = ORIENTED_EDGE('',*,*,#1186,.F.); +#1186 = EDGE_CURVE('',#1147,#1179,#1187,.T.); +#1187 = LINE('',#1188,#1189); +#1188 = CARTESIAN_POINT('',(30.,24.5,0.)); +#1189 = VECTOR('',#1190,1.); +#1190 = DIRECTION('',(-1.,0.,0.)); +#1191 = PLANE('',#1192); +#1192 = AXIS2_PLACEMENT_3D('',#1193,#1194,#1195); +#1193 = CARTESIAN_POINT('',(30.,24.5,0.)); +#1194 = DIRECTION('',(0.,-1.,0.)); +#1195 = DIRECTION('',(-1.,0.,0.)); +#1196 = ADVANCED_FACE('',(#1197),#1224,.T.); +#1197 = FACE_BOUND('',#1198,.F.); +#1198 = EDGE_LOOP('',(#1199,#1200,#1209,#1217)); +#1199 = ORIENTED_EDGE('',*,*,#1178,.T.); +#1200 = ORIENTED_EDGE('',*,*,#1201,.T.); +#1201 = EDGE_CURVE('',#1171,#1202,#1204,.T.); +#1202 = VERTEX_POINT('',#1203); +#1203 = CARTESIAN_POINT('',(-32.5,22.,1.5)); +#1204 = CIRCLE('',#1205,2.5); +#1205 = AXIS2_PLACEMENT_3D('',#1206,#1207,#1208); +#1206 = CARTESIAN_POINT('',(-30.,22.,1.5)); +#1207 = DIRECTION('',(0.,0.,1.)); +#1208 = DIRECTION('',(1.,0.,0.)); +#1209 = ORIENTED_EDGE('',*,*,#1210,.F.); +#1210 = EDGE_CURVE('',#1211,#1202,#1213,.T.); +#1211 = VERTEX_POINT('',#1212); +#1212 = CARTESIAN_POINT('',(-32.5,22.,0.)); +#1213 = LINE('',#1214,#1215); +#1214 = CARTESIAN_POINT('',(-32.5,22.,0.)); +#1215 = VECTOR('',#1216,1.); +#1216 = DIRECTION('',(0.,0.,1.)); +#1217 = ORIENTED_EDGE('',*,*,#1218,.F.); +#1218 = EDGE_CURVE('',#1179,#1211,#1219,.T.); +#1219 = CIRCLE('',#1220,2.5); +#1220 = AXIS2_PLACEMENT_3D('',#1221,#1222,#1223); +#1221 = CARTESIAN_POINT('',(-30.,22.,0.)); +#1222 = DIRECTION('',(0.,0.,1.)); +#1223 = DIRECTION('',(1.,0.,0.)); +#1224 = CYLINDRICAL_SURFACE('',#1225,2.5); +#1225 = AXIS2_PLACEMENT_3D('',#1226,#1227,#1228); +#1226 = CARTESIAN_POINT('',(-30.,22.,0.)); +#1227 = DIRECTION('',(-0.,-0.,-1.)); +#1228 = DIRECTION('',(1.,0.,0.)); +#1229 = ADVANCED_FACE('',(#1230),#1255,.F.); +#1230 = FACE_BOUND('',#1231,.F.); +#1231 = EDGE_LOOP('',(#1232,#1233,#1241,#1249)); +#1232 = ORIENTED_EDGE('',*,*,#1210,.T.); +#1233 = ORIENTED_EDGE('',*,*,#1234,.T.); +#1234 = EDGE_CURVE('',#1202,#1235,#1237,.T.); +#1235 = VERTEX_POINT('',#1236); +#1236 = CARTESIAN_POINT('',(-32.5,-22.,1.5)); +#1237 = LINE('',#1238,#1239); +#1238 = CARTESIAN_POINT('',(-32.5,22.,1.5)); +#1239 = VECTOR('',#1240,1.); +#1240 = DIRECTION('',(0.,-1.,0.)); +#1241 = ORIENTED_EDGE('',*,*,#1242,.F.); +#1242 = EDGE_CURVE('',#1243,#1235,#1245,.T.); +#1243 = VERTEX_POINT('',#1244); +#1244 = CARTESIAN_POINT('',(-32.5,-22.,0.)); +#1245 = LINE('',#1246,#1247); +#1246 = CARTESIAN_POINT('',(-32.5,-22.,0.)); +#1247 = VECTOR('',#1248,1.); +#1248 = DIRECTION('',(0.,0.,1.)); +#1249 = ORIENTED_EDGE('',*,*,#1250,.F.); +#1250 = EDGE_CURVE('',#1211,#1243,#1251,.T.); +#1251 = LINE('',#1252,#1253); +#1252 = CARTESIAN_POINT('',(-32.5,22.,0.)); +#1253 = VECTOR('',#1254,1.); +#1254 = DIRECTION('',(0.,-1.,0.)); +#1255 = PLANE('',#1256); +#1256 = AXIS2_PLACEMENT_3D('',#1257,#1258,#1259); +#1257 = CARTESIAN_POINT('',(-32.5,22.,0.)); +#1258 = DIRECTION('',(1.,0.,0.)); +#1259 = DIRECTION('',(0.,-1.,0.)); +#1260 = ADVANCED_FACE('',(#1261),#1279,.T.); +#1261 = FACE_BOUND('',#1262,.F.); +#1262 = EDGE_LOOP('',(#1263,#1264,#1271,#1272)); +#1263 = ORIENTED_EDGE('',*,*,#1242,.T.); +#1264 = ORIENTED_EDGE('',*,*,#1265,.T.); +#1265 = EDGE_CURVE('',#1235,#1035,#1266,.T.); +#1266 = CIRCLE('',#1267,2.5); +#1267 = AXIS2_PLACEMENT_3D('',#1268,#1269,#1270); +#1268 = CARTESIAN_POINT('',(-30.,-22.,1.5)); +#1269 = DIRECTION('',(0.,0.,1.)); +#1270 = DIRECTION('',(1.,0.,0.)); +#1271 = ORIENTED_EDGE('',*,*,#1032,.F.); +#1272 = ORIENTED_EDGE('',*,*,#1273,.F.); +#1273 = EDGE_CURVE('',#1243,#1033,#1274,.T.); +#1274 = CIRCLE('',#1275,2.5); +#1275 = AXIS2_PLACEMENT_3D('',#1276,#1277,#1278); +#1276 = CARTESIAN_POINT('',(-30.,-22.,0.)); +#1277 = DIRECTION('',(0.,0.,1.)); +#1278 = DIRECTION('',(1.,0.,0.)); +#1279 = CYLINDRICAL_SURFACE('',#1280,2.5); +#1280 = AXIS2_PLACEMENT_3D('',#1281,#1282,#1283); +#1281 = CARTESIAN_POINT('',(-30.,-22.,0.)); +#1282 = DIRECTION('',(-0.,-0.,-1.)); +#1283 = DIRECTION('',(1.,0.,0.)); +#1284 = ADVANCED_FACE('',(#1285),#1295,.F.); +#1285 = FACE_BOUND('',#1286,.F.); +#1286 = EDGE_LOOP('',(#1287,#1288,#1289,#1290,#1291,#1292,#1293,#1294)); +#1287 = ORIENTED_EDGE('',*,*,#1058,.T.); +#1288 = ORIENTED_EDGE('',*,*,#1090,.T.); +#1289 = ORIENTED_EDGE('',*,*,#1122,.T.); +#1290 = ORIENTED_EDGE('',*,*,#1154,.T.); +#1291 = ORIENTED_EDGE('',*,*,#1186,.T.); +#1292 = ORIENTED_EDGE('',*,*,#1218,.T.); +#1293 = ORIENTED_EDGE('',*,*,#1250,.T.); +#1294 = ORIENTED_EDGE('',*,*,#1273,.T.); +#1295 = PLANE('',#1296); +#1296 = AXIS2_PLACEMENT_3D('',#1297,#1298,#1299); +#1297 = CARTESIAN_POINT('',(-1.1E-15,1.2E-16,0.)); +#1298 = DIRECTION('',(0.,0.,1.)); +#1299 = DIRECTION('',(1.,0.,0.)); +#1300 = ADVANCED_FACE('',(#1301),#1311,.T.); +#1301 = FACE_BOUND('',#1302,.T.); +#1302 = EDGE_LOOP('',(#1303,#1304,#1305,#1306,#1307,#1308,#1309,#1310)); +#1303 = ORIENTED_EDGE('',*,*,#1042,.T.); +#1304 = ORIENTED_EDGE('',*,*,#1073,.T.); +#1305 = ORIENTED_EDGE('',*,*,#1106,.T.); +#1306 = ORIENTED_EDGE('',*,*,#1137,.T.); +#1307 = ORIENTED_EDGE('',*,*,#1170,.T.); +#1308 = ORIENTED_EDGE('',*,*,#1201,.T.); +#1309 = ORIENTED_EDGE('',*,*,#1234,.T.); +#1310 = ORIENTED_EDGE('',*,*,#1265,.T.); +#1311 = PLANE('',#1312); +#1312 = AXIS2_PLACEMENT_3D('',#1313,#1314,#1315); +#1313 = CARTESIAN_POINT('',(-1.1E-15,1.2E-16,1.5)); +#1314 = DIRECTION('',(0.,0.,1.)); +#1315 = DIRECTION('',(1.,0.,0.)); +#1316 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1320)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1317,#1318,#1319)) REPRESENTATION_CONTEXT +('Context #1','3D Context with UNIT and UNCERTAINTY') ); +#1317 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#1318 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#1319 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#1320 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#1317, + 'distance_accuracy_value','confusion accuracy'); +#1321 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1322,#1324); +#1322 = ( REPRESENTATION_RELATIONSHIP('','',#1025,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1323) +SHAPE_REPRESENTATION_RELATIONSHIP() ); +#1323 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19); +#1324 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item', + #1325); +#1325 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('2','Part','',#5,#1020,$); +#1326 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#1022)); +#1327 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',( + #1328),#1007); +#1328 = STYLED_ITEM('color',(#1329),#37); +#1329 = PRESENTATION_STYLE_ASSIGNMENT((#1330,#1336)); +#1330 = SURFACE_STYLE_USAGE(.BOTH.,#1331); +#1331 = SURFACE_SIDE_STYLE('',(#1332)); +#1332 = SURFACE_STYLE_FILL_AREA(#1333); +#1333 = FILL_AREA_STYLE('',(#1334)); +#1334 = FILL_AREA_STYLE_COLOUR('',#1335); +#1335 = COLOUR_RGB('',0.678431390124,0.709803936702,0.741176476869); +#1336 = CURVE_STYLE('',#1337,POSITIVE_LENGTH_MEASURE(0.1),#1338); +#1337 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous'); +#1338 = COLOUR_RGB('',9.803921802644E-02,9.803921802644E-02, + 9.803921802644E-02); +#1339 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',( + #1340),#1316); +#1340 = STYLED_ITEM('color',(#1341),#1026); +#1341 = PRESENTATION_STYLE_ASSIGNMENT((#1342,#1347)); +#1342 = SURFACE_STYLE_USAGE(.BOTH.,#1343); +#1343 = SURFACE_SIDE_STYLE('',(#1344)); +#1344 = SURFACE_STYLE_FILL_AREA(#1345); +#1345 = FILL_AREA_STYLE('',(#1346)); +#1346 = FILL_AREA_STYLE_COLOUR('',#1335); +#1347 = CURVE_STYLE('',#1348,POSITIVE_LENGTH_MEASURE(0.1),#1338); +#1348 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous'); +ENDSEC; +END-ISO-10303-21; diff --git a/src/lib/geometry/socketsParts.ts b/src/lib/geometry/socketsParts.ts index f74d3b8..dc780e3 100644 --- a/src/lib/geometry/socketsParts.ts +++ b/src/lib/geometry/socketsParts.ts @@ -11,6 +11,8 @@ const CHOC_PART = '/src/assets/switch-choc.glb' const BOM_MX_HOTSWAP = { 'pcb-hotswap': { item: 'Kailh Hotswap Sockets', icon: 'hotswap', count: 1 } } const BOM_CHOC_HOTSWAP = { 'pcb-hotswap': { item: 'Kailh Choc Hotswap Sockets', icon: 'hotswap', count: 1 } } const BOM_DIODE = { 'xdiodes': { item: '1N4148 Diodes', icon: 'diode', count: 1 } } +const BOM_HE_SWITCH = { 'heswitch': { item: 'Hall-Effect Switch (AH3572)', icon: 'diode', count: 1 } } +const BOM_DISC_MAGNET = { 'discmagnet': { item: 'Disc Magnet (2mm x 1mm)', icon: 'diode', count: 1 } } const DESC_MX = '\nAll MX Sockets in Cosmos are compatible with Cherry MX switches and its clones. That includes Gateron switches (with the exception of low profile), Gazzew, Outemu, Akko, etc.' const DESC_DISPLAY = 'Display your current layer, your keymap, battery information, or whatever you like.' @@ -253,6 +255,20 @@ export const PART_INFO: Record = { icon: 'choc', bomIcon: 'switch', }, + 'niz': { + partName: 'NIZ: Direct Solder [Experimental]', + bomName: 'NIZ Switches', + category: 'Sockets', + stepFile: '/src/assets/key-niz.step', + socketSize: [18, 18, 6.5], + partBottom: [box(14, 14, 8.5)], + keycap: 'mx', + extraBomItems: { ...BOM_DIODE, ...BOM_HE_SWITCH, ...BOM_DISC_MAGNET }, + wiredInMatrix: true, + description: 'NIZ uses a rubber dome and a spring. Switching is accomplished with a hall-effect switch and a magnet.', + icon: 'choc', + bomIcon: 'switch', + }, 'blank': { partName: 'Shaper (Blank key)', bomName: 'Ignore this', @@ -481,6 +497,28 @@ export const PART_INFO: Record = { description: 'Move your mouse from your keyboard! Integrating a trackball to your keyboard can help you switch between typing and navigating faster and with less hand movement.\nI personally recommend using ball bearings with trackballs, as they are the most consistent. Roller Bearings and BTUs are more spinny but also more noisy.', }, + 'trackpad-azoteq': { + partName: 'Azoteq Trackpad', + bomName: (v: Variant) => `Azoteq ${v.size || 'TPS65'} Trackpads`, + category: 'Trackballs & Trackpads', + stepFile: '/src/assets/trackpad-azoteq.step', + socketSize: (v: Variant) => [65.2, 49, 4] as PartSize, + partBottom: () => [box(10, 10, 2)], + variants: { + size: ['TPS65'], + }, + encodeVariant: (variant: Variant) => { + return ['TPS65'].indexOf(variant.size) + }, + decodeVariant: (variant: number) => { + return { + size: ['TPS65'][variant] || 'TPS65', + } + }, + pinsNeeded: () => 2, + icon: 'knob', + description: 'A rectangular I2C trackpad.', + }, 'trackpad-cirque': { partName: 'Cirque Flat Circle Trackpad', bomName: (v: Variant) => `Cirque Flat Circle ${v.size || '23/35/40mm'} Trackpads`, diff --git a/src/lib/geometry/switches.ts b/src/lib/geometry/switches.ts index a83bebc..0e742dd 100644 --- a/src/lib/geometry/switches.ts +++ b/src/lib/geometry/switches.ts @@ -20,6 +20,9 @@ export function switchInfo(sw: Switch | undefined): SwInfo { if (sw == 'alps') { return { height: 6, pressedHeight: 3.5 } } + if (sw == 'niz') { + return { height: 7.6, pressedHeight: 3.6 } + } if (sw == 'trackball') { // box = pcb then chip return { height: 5, pressedHeight: 0 } diff --git a/src/model_gen/parts.ts b/src/model_gen/parts.ts index df0b94a..047be54 100644 --- a/src/model_gen/parts.ts +++ b/src/model_gen/parts.ts @@ -9,6 +9,7 @@ import { type AnyShape, drawRectangle, getOC, importSTEP, makeBaseBox, Solid } f import { STLLoader } from 'three/examples/jsm/loaders/STLLoader.js' import { fileURLToPath } from 'url' import { allVariants, decodeVariant, PART_INFO, variantURL, variantURLs } from '../lib/geometry/socketsParts' +import type { PartInfo } from '../lib/geometry/socketsParts' import { exportGLTF } from './exportGLTF' import { importSTEPSpecifically, serialize } from './modeling' import { setup } from './node-model' @@ -58,6 +59,12 @@ async function writeMesh(filename: string, model: AnyShape) { return mass } +function findStepFiles(socket: CuttleKey['type'], info: PartInfo): string[] { + if (!('variants' in info)) return [info.stepFile] + + return variantURLs(socket).map(variantURL => info.stepFile.replace('.step', `${variantURL}.step`)) +} + type Microcontroller = Exclude async function main() { @@ -203,23 +210,25 @@ async function main() { const toSplit: CuttleKey['type'][] = [] for (const [socket, info] of objEntries(PART_INFO)) { if ('partOverride' in info) continue // Skip parts with a specified part model - if ('variant' in info) continue // Variants not supported for now if (info.stepFile.startsWith('/target')) continue // Generated models not supported for now - const contents = await readFile('.' + info.stepFile, { encoding: 'utf-8' }) - const names = [...contents.matchAll(/PRODUCT\('(.*?)'/g)].map(m => m[1]) - const hasSocket = names.includes('Socket') - const hasPart = names.includes('Part') - if (!hasSocket || !hasPart) { - console.error(`The STEP file for part ${socket}, ${info.stepFile} does not a specify a partOverride,`) - console.error('so the file will be split into part and socket models based on component names in the assembly.') - console.error('The following names are missing:') - if (!hasPart) console.error(' - "Socket" for the socket') - if (!hasPart) console.error(' - "Part" for the part') - console.error(`PLease rename the components ${JSON.stringify(names)} to "Part" and "Socket".`) - console.error() - } else { - toSplit.push(socket) - } + const stepFiles = findStepFiles(socket, info) + await stepFiles.forEach(async (stepFile: string) => { + const contents = await readFile('.' + stepFile, { encoding: 'utf-8' }) + const names = [...contents.matchAll(/PRODUCT\('(.*?)'/g)].map(m => m[1]) + const hasSocket = names.includes('Socket') + const hasPart = names.includes('Part') + if (!hasSocket || !hasPart) { + console.error(`The STEP file for part ${socket}, ${info.stepFile} does not a specify a partOverride,`) + console.error('so the file will be split into part and socket models based on component names in the assembly.') + console.error('The following names are missing:') + if (!hasPart) console.error(' - "Socket" for the socket') + if (!hasPart) console.error(' - "Part" for the part') + console.error(`Please rename the components ${JSON.stringify(names)} to "Part" and "Socket".`) + console.error() + } else { + toSplit.push(socket) + } + }) } await pool.run() diff --git a/src/proto/cosmosStructs.ts b/src/proto/cosmosStructs.ts index a93dc1f..8b79465 100644 --- a/src/proto/cosmosStructs.ts +++ b/src/proto/cosmosStructs.ts @@ -27,6 +27,7 @@ enumeration('PART', { 13: 'mx-pcb-plum', // 14 reserved for mx-pumpkin 15: 'mx-skree', + 26: 'niz', // You wouldn't put many of these on a keyboard. 16: 'ec11', @@ -38,6 +39,7 @@ enumeration('PART', { 22: 'trackball', 23: 'trackpad-cirque', 24: 'oled-128x32-0.91in-spi-adafruit', + 25: 'trackpad-azoteq', // Old stuff no one should be using. 110: 'old-mx', diff --git a/src/routes/beta/lib/editor/VisualEditor2.svelte b/src/routes/beta/lib/editor/VisualEditor2.svelte index 077bc64..2a95c0a 100644 --- a/src/routes/beta/lib/editor/VisualEditor2.svelte +++ b/src/routes/beta/lib/editor/VisualEditor2.svelte @@ -586,6 +586,13 @@ the sockets in place.

+ {:else if $protoConfig.partType.type == 'niz'} + +

+ This variant requires direct pin assignment to the microcontroller and a well-tuned 3D printer. + NIZ documentation +

+
{/if}